innovation in architecture

15
TECHNOLOGY RADAR

Upload: thoughtworks

Post on 25-Jul-2015

455 views

Category:

Software


0 download

TRANSCRIPT

TECHNOLOGY RADAR

INNOVATION IN ARCHITECTURE Organisations have accepted that “cloud” is the de-facto platform of the future, and the benefits and flexibility it brings have ushered in a renaissance in software architecture. The disposable infrastructure of cloud has enabled the first “cloud native” architecture, microservices. Continuous Delivery, a technique that is radically changing how tech-based businesses evolve, amplifies the impact of cloud as an architecture. We expect architectural innovation to continue, with trends such as containerisation and software-defined networking providing even more technical options and capability.

MICROSERVICES?An approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. Martin Fowler

MONOLITHIC

MONOLITHIC

• EASY TO GET UP AND RUNNING• ONE LANGUAGE OR

TECHNOLOGY• SIMPLE TO DEPLOY• LONG TERM TECH

COMMITMENT• NO INDEPENDENT TEAMS• BLOATED DEV ENVIRONMENTS• LARGE MEMORY FOOTPRINT• DIFFICULT TO SCALE

Time

• UI EVOLVES FASTER THAN BUSINESS LOGIC

• INITIAL ARCHITECTURE MIGHT NOT MEET NEW DEMANDS

• CHANGES ARE NOT ISOLATED. TIGHT COUPLING

• STARTUP TIMES, COMPLEXITY, LINES OF CODE INCREASES

MICROSERVICESAn approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. Martin Fowler

HTTP

AMQP

HTTP

HTTP

• AUTOMATED DEPLOYMENTS• MONITORING• FAILURE• EVENTUAL CONSISTENCY (BASE VS ACID)• SERVICE REGISTRATION• PROLIFERATION OF SERVICES• LOAD BALANCING

We don't have perfect hardware running perfect apps on a perfect network, what we do have are buggy apps running on hardware that fails on networks that disappear

ADDS COMPLEXITY

Pro

du

ctiv

ity

Complexity

Microservices

Monolithic

Initial complexity of Microservices > Monolithic Complexity kicks

inDecoupled services isolatescomplex changes to specific areas

CONTINUOUS DEPLOYMENT

Development UAT Penetration Production

Development UAT Penetration Production

CONTAINERISATIONProvides the isolation and management benefits of a virtual machine without the overhead usually associated with general-purpose virtualisation. In the container model, the guest OS is limited to being the same as the underlying host OS.

CONTAINERISATION

Server

OS Level Virtualisation

Guest OS

Host OS

Hypervisor

Guest OS

Binaries Binaries

Server

Host OS

Binaries Binaries

Virtual Machine

Container

CONTAINERISATION

Drawbridge

LXD

SOFTWARE DEFINED NETWORKING

has been registered…

has been registered…

has been registered…

I am looking for service

THANK YOU