innovation in architecture
TRANSCRIPT
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
• 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
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
SOFTWARE DEFINED NETWORKING
has been registered…
has been registered…
has been registered…
I am looking for service