1. ยฉ 2015 Akana., Inc All Rights Reserved.
Microservices
Why should business care?
2. ยฉ 2015 Akana., Inc All Rights Reserved.
What are Microservices?
โข Microservices are a new way to build applications by breaking them up into
small, independent services
โข No specific language
โข No heavy middleware
โข Mostly open-source
Loosely coupled service oriented architecture
with bounded contexts - Adrian Cockcroft
Small autonomous services that work together
- Sam Newman
3. ยฉ 2015 Akana., Inc All Rights Reserved.
Microservices Architecture
Microservice
Registry Health and Resiliency
Client
Microservice
Microservice
Microservice
Microservice
Convention
Whatever you
want
Microservice
Load Balancing
Autogen
4. ยฉ 2015 Akana., Inc All Rights Reserved.
What defines a Microservice?
SOA + DevOps + Containers
5. ยฉ 2015 Akana., Inc All Rights Reserved.
What is DevOps?
โข The developer interacts with the infrastructure directly
โข Need fewer Operations staff โ saves money
โข Increases agility by removing roadblocks
Develop Test UAT Operate
IDE Build Tools Test Suite
Dev Cloud
Blueprint
Web
Servers
App
Servers
Database
Servers
Load Balancer4
Firewall
Master Slave
QA Cloud
Blueprint
Web
Servers
App
Servers
Database
Servers
Load Balancer4
Firewall
Master Slave
Load Balancer
Release
Management
Blueprint
Web Servers
App Servers
Database
Servers
Load Balancer
Firewall
Master Slave
Ready for Produc on
Common Applica on
Pla orm
IT Opera ons
6. ยฉ 2015 Akana., Inc All Rights Reserved.
What is Containerization?
โข Easier to use
โข More efficient
โข Smaller โ hence
suited to
Microservices
7. ยฉ 2015 Akana., Inc All Rights Reserved.
Are Microservices different to SOA?
โข Vendor-driven SOA gave us SOAP and ESBs
โข Microservices are a reaffirmation of SOA principles and a reaction to
vendor-driven SOA
โ defacto standards/frameworks
โ dovetail in agile
โ dovetail in devops
โ dovetail in containerization
โข Microservices is unabashedly anti ESB
8. ยฉ 2015 Akana., Inc All Rights Reserved.
What are SOA, APIs and Microservices used for
โข SOA โ is about reuse
โ Building services that support multiple different applications
โข APIs โ is about supporting web and mobile applications โ its about
integration
โ Geared towards easier and better consumption of services
โข Microservices โ is about agility and scale
โ Services enabling scalability and rapid feature cadence for a specific application
9. ยฉ 2015 Akana., Inc All Rights Reserved.
Why are Microservices so popular?
โข Unscalable
โข Hard to manage
โข Hard to learn
โข Slow to deploy
โข Scalable
โข Easier to manage
โข Easier to learn
โข Quick to deploy
10. ยฉ 2015 Akana., Inc All Rights Reserved.
How hard is it to adopt Microservices?
โข Requires 4 things:
โ Maturity of ops (need DevOps, Containerization)
โ Willing to re-architect entire app
โ Willing to invest in the App โ must be strategic
โ App must need to scale
11. ยฉ 2015 Akana., Inc All Rights Reserved.
Additional Guidance
โข Two-pizza teams
โข Microservices are highly focused on providing one capability - micro means
singly focused, not size
โข Lightweight communication protocols
โข Right tool for the job
โข Microservices should have their own datastore separate from other
microservices
โข A Microservice owner is responsible for its lifecycle (incl deploy and
operations)
12. ยฉ 2015 Akana., Inc All Rights Reserved.
Why should business care?
โข Benefits
โ Improved agility
โ Better reliability, elasticity
โ Global scalability
โข Challenges
โ Restructuring the IT organization โ Agile, DevOps
โ Investments in new frameworks & platforms
โ Greenfield vs. Re-architecting
โ New skills development
โข Design
โข Development
โข Testing
13. ยฉ 2015 Akana., Inc All Rights Reserved.
Re-Architecting an Application
Monolithic
Application
Monolithic
Application
14. ยฉ 2015 Akana., Inc All Rights Reserved.
Re-Architecting an Application
15. ยฉ 2015 Akana., Inc All Rights Reserved.
Re-Architecting an Application
16. ยฉ 2015 Akana., Inc All Rights Reserved.
Re-Architecting an Application
17. ยฉ 2015 Akana., Inc All Rights Reserved.
New Skills: Microservices Principals (Fowler)
1. Componentization via services [best technology for the job, common interface
(restish)]
2. Organized around Business Capabilities
3. Products not Projects [Conwayโs law of organizational slippery slope]
4. Smart endpoints dumb pipes [choreography vs. orchestration; choreographer
leads]
5. Decentralized Governance [built into the service - share useful patterns via
libraries; less overhead; consumer-focused service contracts]
6. Decentralized Data Management [domain driven design bounded context, etc.]
7. Infrastructure Automation
8. Design for Failure
9. Evolutionary Design
18. ยฉ 2015 Akana., Inc All Rights Reserved.
Design
โข Traditional design oversight is out the window -
everyone will use the best tools available to create
the microservice โ Control the interface
โข Facilitate a design-time review of available services
and a โrequest for serviceโ
โข Adopt convention - interface must provide for
health/resiliency information
โข Design for failure - services should provide health
status
โข Design for robustness - services can self-proxy
โข Distributed data design - domain-driven design
patterns
19. ยฉ 2015 Akana., Inc All Rights Reserved.
Development
โข Development team must know about other available services, etc. - tooling
โข Development team must know what libraries, strategies, patterns will
provide for resiliency, health, bulkheads, alternatives
โข Development team will get to know a lot more about the SDLC before them
and after - full lifecycle responsibility
โข Development team โ agile with QA intimately involved
โข Distributed data management requires eventual consistency
accommodation
20. ยฉ 2015 Akana., Inc All Rights Reserved.
Testing
โข Unit, Integration and Component level
testing still exists but have nuances specific
to microservices
โข End-to-end and Integration testing will have
to account for new paradigms for
microservices - registry, health dashboard -
and build in these scenarios
21. ยฉ 2015 Akana., Inc All Rights Reserved.
Questions
www.akana.com
Editor's Notes
DevOps Orchestration
Microservices framework
3 people that understand microservices