September 13, 2016
Microservices
A Capability Blueprint
Matt McLarty
Vice President, API Academy
CA Technologies
@mattmclartybc
2
Why are organizations using
microservices?
3
Business Value Stories
“We can scale our operation independently, maintain unparalleled system availability, and
introduce new services quickly without the need for massive reconfiguration.”
•Werner Vogels, Amazon (2006) https://queue.acm.org/detail.cfm?id=1142065
“…the next generation [architecture] that we are building will give Netflix a strong foundation to
meet the needs of our massive and growing scale, enabling us to delight our global audience.”
•Netflix (2015) http://techblog.netflix.com/2015/01/netflixs-viewing-data-how-we-know-where.html
“Lessens dependencies between teams - resulting in faster code to production.”
•Adrian Trenaman, Gilt (2015) http://www.infoq.com/news/2015/04/scaling-microservices-gilt
“With the new architecture framework, we were able to reduce our lead time for new features to
something that…was much more acceptable for a company trying to play in the highly competitive
music industry.”
•Phil Calçado, SoundCloud (2015) http://philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html
4
The goal of microservices
Speed and safety at scale
5
Microservice Architecture Maturity Model
Speed Safety
Scale&Complexity
6
Microservice Architecture Maturity Model
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
Modularized
“Establish the foundation”
Speed Safety
A microservice
architecture that is…
Scale&Complexity
7
Microservice Architecture Maturity Model
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
Organizational
Alignment
Composability
Replaceability
Efficiency
Modularized
“Establish the foundation”
Cohesive
“Design the services”
Speed Safety
A microservice
architecture that is…
Scale&Complexity
8
Microservice Architecture Maturity Model
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
Organizational
Alignment
Composability
Replaceability
Efficiency
Agility
Comprehensibility
Resiliency/
Availability
Runtime Scalability
Modularized
“Establish the foundation”
Cohesive
“Design the services”
Systematized
“Design the system”
Speed Safety
A microservice
architecture that is…
Scale&Complexity
9
Benefits of Modularization
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
10
Benefits of Modularization
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
Supporting Capabilities
Containers CI/CD
Configuration
Management
Platform Hosting
(IaaS, PaaS)
11
Benefits of Modularization
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
Supporting Capabilities
Containers APIs
Containers CI/CD
Configuration
Management
Platform Hosting
(IaaS, PaaS)
Multi-Language
Platform Hosting
12
Benefits of Modularization
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
Supporting Capabilities
Containers Platform Hosting
Containers APIs
Containers CI/CD
Configuration
Management
Platform Hosting
(IaaS, PaaS)
APIs Logging
Multi-Language
Platform Hosting
13
Benefits of Modularization
Independent
Deployability
Polyglotism
Independent
Manageability
Testability
Supporting Capabilities
Containers Platform Hosting
Containers APIs
Contract
Definition
Service
Virtualization
Containers APIs
Containers CI/CD
Configuration
Management
Platform Hosting
(IaaS, PaaS)
APIs Logging
Multi-Language
Platform Hosting
14
Benefits of Cohesion
Organizational
Alignment
Composability
Replaceability
Efficiency
15
Benefits of Cohesion
Organizational
Alignment
Composability
Replaceability
Efficiency
Supporting Capabilities
Domain-
oriented APIs
Business
Analytics
Business
Alignment
Organizational
Design
16
Benefits of Cohesion
Organizational
Alignment
Composability
Replaceability
Efficiency
Supporting Capabilities
Loosely-
coupled APIs
Containers
Component
Registry
Team
Autonomy
Domain-
oriented APIs
Business
Analytics
Business
Alignment
Organizational
Design
17
Benefits of Cohesion
Organizational
Alignment
Composability
Replaceability
Efficiency
Supporting Capabilities
APIs Containers
Team
Autonomy
Change
Tolerance
Loosely-
coupled APIs
Containers
Component
Registry
Team
Autonomy
Domain-
oriented APIs
Business
Analytics
Business
Alignment
Organizational
Design
18
Benefits of Cohesion
Organizational
Alignment
Composability
Replaceability
Efficiency
Supporting Capabilities
APIs Containers
Team
Autonomy
Change
Tolerance
Containers
Platform
Hosting
Component
Registry
Business
Alignment
Loosely-
coupled APIs
Containers
Component
Registry
Team
Autonomy
Domain-
oriented APIs
Business
Analytics
Business
Alignment
Organizational
Design
19
Benefits of Systematization
Agility
Comprehensibility
Resiliency/
Availability
Runtime
Scalability
20
Benefits of Systematization
Agility
Comprehensibility
Resiliency/
Availability
Runtime
Scalability
Supporting Capabilities
Component
Registry
Automation
Agile Software
Development
Iterative
Approach
21
Benefits of Systematization
Agility
Comprehensibility
Resiliency/
Availability
Runtime
Scalability
Supporting Capabilities
Domain-
oriented APIs
Contract
Definition
Small Teams
Cross-Org
Visibility
Component
Registry
Automation
Agile Software
Development
Iterative
Approach
22
Benefits of Systematization
Agility
Comprehensibility
Resiliency/
Availability
Runtime
Scalability
Supporting Capabilities
Monitoring Automation
Cross-Org
Visibility
Change
Tolerance
Domain-
oriented APIs
Contract
Definition
Small Teams
Cross-Org
Visibility
Component
Registry
Automation
Agile Software
Development
Iterative
Approach
23
Benefits of Systematization
Agility
Comprehensibility
Resiliency/
Availability
Runtime
Scalability
Supporting Capabilities
Monitoring Automation
Cross-Org
Visibility
Change
Tolerance
Operational
Analytics
Component
Registry
Cross-org
Visibility
Team
Autonomy
Domain-
oriented APIs
Contract
Definition
Small Teams
Cross-Org
Visibility
Component
Registry
Automation
Agile Software
Development
Iterative
Approach
24
Microservices Technological Capabilities
Monitoring
Capabilities
Container
Repository &
Management
App
Performance
Monitoring
End User
Experience
Monitoring
System
Monitoring &
Recovery
Business &
IT Analytics
Capabilities
Business
Analytics
Event
Monitoring &
Execution
Operational
Analytics
Continuous
Business
Planning
Mobile Apps Web Apps Other Microservices
Consumers
Logging
Design & Development Capabilities
Container &
Image Creation
μS & API Design
μS Development
Framework
μS Test
Management &
Automation
Component
Registry/Discovery
Contract
DefinitionUser Analytics
Mediation Capabilities Policy Enforcement (Security,
SLA, Audit, Regulatory)
Platform
Capabilities
Infrastructure
-as-a-Service
Platform-as-
a-Service
Functions-
as-a-Service
Microservices
Configuration & Deployment Capabilities Container
Management
Continuous Delivery /
Release Management
Configuration
Management
Routing/
Aggregation
Messaging/Content
Security Capabilities Authentication &
Authorization
Identity
Management
Service Discovery
/ Registration
Client App Capabilities
(Mobile, web, IoT apps)
Service
Virtualization
μS Client
Development
IoT Devices
Mobile
Monitoring
Container
Hosting
25
Microservices Non-Technological Capabilities
Methodological
Capabilities
Agile software development
Continuous integration/continuous
delivery (build & deployment automation)
Test automation
Operational automation
Organizational
Capabilities
Small team size
Business alignment
Cross-organizational supporting teams
“Guilds”
Organizational design
Cultural
Capabilities
Stated principles
Team autonomy and empowerment
Two way communication
Change tolerance
Experimental and iterative approach
Toolmaking and enablement (vs.
“governance”)
26
In summary…
Early microservice adopters seek speed and safety at scale
Three levels of microservice architectures:
• Modularized
• Cohesive
• Systematized
Each level brings different benefits
Microservice capabilities enable the benefits
27
For more information…
Microservice Architecture, from O’Reilly Media
• http://transform.ca.com/API-microservice-architecture-oreilly-book.html
Videos from #API360 Microservices Summit (NYC, 6/16/16)
• http://transform.ca.com/API-Microservices-Best-Practices-API360-Summit-Videos.html
Infoworld Series on Microservices
• http://www.infoworld.com/article/3075880/application-development/microservice-architecture-is-agile-software-
architecture.html
• http://www.infoworld.com/article/3080611/application-development/learning-from-soa-5-lessons-for-the-microservices-
era.html
O’Reilly Blog Series
• https://www.oreilly.com/ideas/optimize-for-desirable-results
• https://www.oreilly.com/ideas/microservices-need-architects
• https://www.oreilly.com/ideas/microservices-shift-complexity-to-where-it-belongs
• https://www.oreilly.com/ideas/three-pillars-of-microservice-culture
28
Thank you!

A Capability Blueprint for Microservices