The document discusses the origins and principles of microservices architecture. It notes that microservices have their roots in agile software development principles. Microservices decompose applications into small, independently deployable services to allow for continuous delivery, reduced dependencies, and increased development speed. Early adopters of microservices like Amazon and Netflix were able to greatly improve their ability to rapidly develop and scale their systems. The document provides guidance on getting started with microservices and outlines some common pitfalls and challenges organizations face in implementing microservices.
1. May 16, 2016
#AgileInTheCloud
Extreme Architecture
The Agile Roots of Microservices
Matt McLarty
Vice President, API Academy
CA Technologies
@mattmclartybc
2. 2 #AgileInTheCloud
Topics in this talk…
Background on CA and the API Academy
What are microservices and where did they come from?
Why do microservices matter?
How and when can an organization get started with microservices?
Who has implemented microservices effectively?
Where are the trouble spots?
9. 9 #AgileInTheCloud
The first thing everyone reads about microservices…
http://martinfowler.com/articles/microservices.html
10. 10 #AgileInTheCloud
Microservices = Service-Oriented Architecture?
“For us service orientation means
encapsulating the data with the business logic
that operates on the data, with the only access
through a published service interface.”
- Werner Vogels, AWS CTO
https://queue.acm.org/detail.cfm?id=1142065
“Microservices is SOA with emphasis on small
ephemeral components.”
- Adrian Cockroft, Battery Ventures, ex-Netflix
https://twitter.com/adrianco/status/542850261782237184
11. 11 #AgileInTheCloud
Microservice principles
Decompose into discrete services to enable continuous delivery
Reduce dependencies to facilitate frequent change
Remove bottlenecks to speed up development
Developed and supported by small, empowered, business-aligned teams
Break the system down into understandable and manageable parts
Reduce the amount of unchanged code that gets deployed
12. 12 #AgileInTheCloud
These are Agile principles!
Decompose into discrete services to enable continuous delivery
Reduce dependencies to facilitate frequent change
Remove bottlenecks to speed up development
Developed and supported by small, empowered, business-aligned teams
Break the system down into understandable and manageable parts
Reduce the amount of unchanged code that gets deployed
13. 13 #AgileInTheCloud
The Agile Progression
Agile Software Development
Continuous Delivery
DevOps
Microservice Architecture
15. 15 #AgileInTheCloud
Agile Software Architecture
“If we look at the characteristics of an agile software
architecture, we tend to think of something that is built using
a collection of small, loosely coupled components/services
that collaborate together to satisfy an end-goal. This style of
architecture provides agility in a number of ways. Small,
loosely coupled components/services can be built, modified
and tested in isolation, or even ripped out and replaced
depending on how requirements change. This style of
architecture also lends itself well to a very flexible and
adaptable deployment model, since new
components/services can be added and scaled if needed.”
- Simon Brown, September 2013
http://www.codingthearchitecture.com/2013/09/03/what_is_agile_software_architecture.html
16. 16 #AgileInTheCloud
Microservice Definitions
A microservice is an independently
deployable component of bounded
scope that supports interoperability
through message-based communication.
Microservice architecture is a style of
engineering highly-automated, evolvable
software systems made up of capability-
aligned microservices.
18. 18 #AgileInTheCloud
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
32. 32 #AgileInTheCloud
Microservices at Hootsuite
Outcomes
Increase
development
velocity and scale
Allow more
operational
flexibility
Services
Distributed
Domain Driven
Design and
contracts
Tiered services:
Data, Functional,
Façade
Foundation
Skyline platform
for cross-service
communication
System
Dynamic service
discovery at
runtime and
design time
Organization
Product-aligned
teams of 5-7
people, cross-
functional
“guilds”, central
platform team
Governance by
“eventual
consistency”
Future
Technology
Architecture
Group for cross-
cutting concerns
38. 38 #AgileInTheCloud
In summary…
Microservice architecture is Agile software architecture
Microservices can bring speed and safety at scale
Take a design-based approach to microservices
Early microservice adopters take a holistic approach
Be aware of pre-requisites, pitfalls and blind spots
Thanks everyone for joining this webinar. My name is Matt McLarty, and I’m the Vice President of the API Academy at CA Technologies. The purpose of this presentation is to present you with tips on how to get started on building a sustainable and successful program for taking advantage of APIs. The theme is “API360”, something we’ve been talking about in the API Academy over the last several months. The reason for the “360” is that we’ve found a holistic approach is necessary when contemplating APIs for large enterprises. All facets of strategy, business, organization, architecture and technology need to be considered, and our approach factors in all of those dimensions.
I plan on delivering the whole presentation, then taking questions, but please post your questions in the chat box as we go and I will address them at the end.
Explain the attachment to graph paper as a creative tool
The blend of
Explain the attachment to graph paper as a creative tool
The blend of
Explain the attachment to graph paper as a creative tool
The blend of