Upload
matt-mclarty
View
1.547
Download
0
Embed Size (px)
Citation preview
September 13, 2016
MicroservicesA Capability Blueprint
Matt McLartyVice President, API AcademyCA 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
Sca
le &
Co
mp
lexi
ty
6
Microservice Architecture Maturity Model
Independent Deployability
Polyglotism
Independent Manageability
Testability
Modularized“Establish the foundation”
Speed Safety
A microservice architecture that is…
Sca
le &
Co
mp
lexi
ty
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…
Sca
le &
Co
mp
lexi
ty
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…
Sca
le &
Co
mp
lexi
ty
9
Benefits of Modularization
Independent Deployability
Polyglotism
Independent Manageability
Testability
10
Benefits of Modularization
Independent Deployability
Polyglotism
Independent Manageability
Testability
Supporting Capabilities
Containers CI/CDConfiguration Management
Platform Hosting (IaaS, PaaS)
11
Benefits of Modularization
Independent Deployability
Polyglotism
Independent Manageability
Testability
Supporting Capabilities
Containers APIs
Containers CI/CDConfiguration 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/CDConfiguration 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 APIsContract
DefinitionService
Virtualization
Containers APIs
Containers CI/CDConfiguration 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
ContainersComponent
RegistryTeam
Autonomy
Domain-oriented APIs
Business Analytics
Business Alignment
Organizational Design
17
Benefits of Cohesion
Organizational Alignment
Composability
Replaceability
Efficiency
Supporting Capabilities
APIs ContainersTeam
AutonomyChange
Tolerance
Loosely-coupled APIs
ContainersComponent
RegistryTeam
Autonomy
Domain-oriented APIs
Business Analytics
Business Alignment
Organizational Design
18
Benefits of Cohesion
Organizational Alignment
Composability
Replaceability
Efficiency
Supporting Capabilities
APIs ContainersTeam
AutonomyChange
Tolerance
ContainersPlatform Hosting
Component Registry
Business Alignment
Loosely-coupled APIs
ContainersComponent
RegistryTeam
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
AutomationAgile Software Development
Iterative Approach
21
Benefits of Systematization
Agility
Comprehensibility
Resiliency/ Availability
Runtime Scalability
Supporting Capabilities
Domain-oriented APIs
Contract Definition
Small TeamsCross-Org Visibility
Component Registry
AutomationAgile Software Development
Iterative Approach
22
Benefits of Systematization
Agility
Comprehensibility
Resiliency/ Availability
Runtime Scalability
Supporting Capabilities
Monitoring AutomationCross-Org Visibility
Change Tolerance
Domain-oriented APIs
Contract Definition
Small TeamsCross-Org Visibility
Component Registry
AutomationAgile Software Development
Iterative Approach
23
Benefits of Systematization
Agility
Comprehensibility
Resiliency/ Availability
Runtime Scalability
Supporting Capabilities
Monitoring AutomationCross-Org Visibility
Change Tolerance
Operational Analytics
Component Registry
Cross-org Visibility
Team Autonomy
Domain-oriented APIs
Contract Definition
Small TeamsCross-Org Visibility
Component Registry
AutomationAgile 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)
PlatformCapabilities
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!