Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Architecting for Continuous Delivery 
Microservices with Pivotal CF and Spring Cloud 
© Copyright 20134 Pivotal. All right...
What is Continuous Delivery? 
© Copyright 2014 Pivotal. All rights reserved. 
2 
$ 
Business 
Development 
QA 
Operations ...
What is Continuous Delivery? 
© Copyright 2014 Pivotal. All rights reserved. 
3 
$
Continuous Delivery - How? 
© Copyright 2014 Pivotal. All rights reserved. 4
Warner Music: Software Factories 
Warner Software Factory Platform 
• New applications and major updates 
- Before: 6 mont...
Iterative Development 
Design 
Develop 
Test 
Customer 
Feedback Customer 
Delivery 
Analytics 
© Copyright 2014 Pivotal. ...
Horizontal Scale 
© Copyright 2014 Pivotal. All rights reserved. 
7 
Slow/Expensive Fast/Cheap
Diversity of Clients 
In January 2014, mobile devices accounted for 55% of Internet usage in the United 
States. Apps made...
Physical/Virtual Pivotal CF 
Infrastructure 
Applications 
Monoliths 
Microservices 
Continuous Delivery 
Software Factori...
New Architectural Constraints 
• Pivotal CF optimizes for 12 Factor Linux applications 
© Copyright 2014 Pivotal. All righ...
Twelve Factors 
• One Codebase/Many Deploys 
• Explicit Isolated 
Dependencies 
• Config via Environment 
• Attached Backi...
New Architectural Constraints 
• Pivotal CF optimizes for 12 Factor Linux applications 
• Microservices: a radical departu...
How XP Practices Support Each Other 
© Copyright 2014 Pivotal. All rights reserved. 
13 
http://www.kusmin.eu/wiki/index.p...
A Mutualistic Symbiotic Relationship… 
© Copyright 2014 Pivotal. All rights reserved. 
14 
Microservices 
Pivotal CF 
http...
Microservices 
Overview 
© Copyright 2014 Pivotal. © Copyright 2014 Pivotal. AAllll rriigghhttss rreesseerrvveedd.. 
15
Simple vs. Easy 
• Simple 
• sim- plex 
• one fold/braid 
• vs complex 
• Easy 
• ease < aise < adjacens 
• lie near 
• vs...
Monolithic Architecture 
© Copyright 2014 Pivotal. All rights reserved. 
17 
Relational Database 
HTML JavaScript MVC 
Ser...
Monolithic Architectures 
• Complex / Easy 
• Modularity Dependent Upon Language / Frameworks 
• Change Cycles Tightly Cou...
Microservice Architecture 
© Copyright 2014 Pivotal. All rights reserved. 
19 
… 
HTTP 
HTTP 
HTTP 
HTTP 
HTTP 
HTTP 
AMQP...
Microservice Architectures 
• Simple / Hard 
• Modularity Based on Component Services 
• Change Cycles Decoupled / Enable ...
Conway’s Law 
© Copyright 2014 Pivotal. All rights reserved. 
21 
Any organization that designs a system (defined broadly)...
Organize Around Business Capabilities 
HTML JavaScript MVC 
Service 
Siloed 
Application 
Architectures 
© Copyright 2014 ...
Partitioning Strategies 
• By Noun (e.g. product info service) 
• By Verb (e.g. shipping service) 
• Single Responsibility...
Bounded Contexts 
© Copyright 2014 Pivotal. All rights reserved. 
24 
Movie Movie 
Actor 
Genre 
Media 
Type 
Media 
Type ...
Polyglot Persistence 
© Copyright 2014 Pivotal. All rights reserved. 
25 
REST X You shall not pass…
UNIX Pipes and Filters 
cut -d" " -f1 < access.log | sort | uniq -c | sort -rn | less 
© Copyright 2014 Pivotal. All right...
Choreography over Orchestration 
© Copyright 2014 Pivotal. All rights reserved. 
27 
https://www.flickr.com/photos/gabriel...
http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html 
© Copyright 2014 Pivotal. © Copyright 2014 P...
Paying for your lunch… 
• Significant Operations Overhead 
• Substantial DevOps Skills Required 
• Implicit Interfaces 
• ...
You must be this tall 
to use 
Microservices… 
• RAPID PROVISIONING 
• BASIC MONITORING 
• RAPID APPLICATION DEPLOYMENT 
•...
It’s gonna take a platform… 
© Copyright 2014 Pivotal. All rights reserved. 
31 
Pivotal CF Spring Cloud
Platform Features 
• Environment Provisioning 
• On-Demand/Automatic Scaling 
• Failover/Resilience 
• Routing/Load Balanc...
http://projects.spring.io/spring-cloud 
© Copyright 2014 Pivotal. All rights reserved. 33
• Eureka 
• Hystrix + Turbine 
• Ribbon 
• Feign 
• Zuul 
• Archaius 
+ 
http://netflix.github.io 
© Copyright 2014 Pivota...
Pivotal CF + Spring Cloud + Netflix OSS! 
© Copyright 2014 Pivotal. All rights reserved. 
35
DEMO 
© Copyright 2014 Pivotal. All rights reserved. 36
Supporting Rapid Change 
DevOps Δ 
© Copyright 2014 Pivotal. All rights reserved. 
37 
Microservices is the first architec...
Architecture is abstract until it is 
operationalized. 
Neal Ford 
© Copyright 2014 Pivotal. All rights reserved. 38
Architectures that aren’t operationalized 
exist only on whiteboards. 
Matt Stine 
© Copyright 2014 Pivotal. All rights re...
OPERATIONALIZED ARCHITECTURE 
© Copyright 2014 Pivotal. All rights reserved. 
40 
Microservices 
Pivotal CF 
Spring Cloud
A NEW PLATFORM FOR A NEW ERA
Nächste SlideShare
Wird geladen in …5
×

Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)

6.876 Aufrufe

Veröffentlicht am

Continuous Delivery & Microservices with Matt Stine, Platform Engineer at Pivotal.

Microservices−small, loosely coupled applications that follow the Unix philosophy of "doing one thing well"−represent the application development side of enabling rapid, iterative development, horizontal scale and polyglot clients. Microservices also help enable continuous delivery and scaling application development while eliminating long-term commitments to a single technology stack.

Pivotal Cloud Platform Roadshow is coming to a city near you!
Join Pivotal technologists and learn how to build and deploy great software on a modern cloud platform. Find your city and register now http://bit.ly/1poA6PG

Veröffentlicht in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)

  1. 1. Architecting for Continuous Delivery Microservices with Pivotal CF and Spring Cloud © Copyright 20134 Pivotal. All rights reserved. 1
  2. 2. What is Continuous Delivery? © Copyright 2014 Pivotal. All rights reserved. 2 $ Business Development QA Operations Customer
  3. 3. What is Continuous Delivery? © Copyright 2014 Pivotal. All rights reserved. 3 $
  4. 4. Continuous Delivery - How? © Copyright 2014 Pivotal. All rights reserved. 4
  5. 5. Warner Music: Software Factories Warner Software Factory Platform • New applications and major updates - Before: 6 months, team of 10 developers - After: 6 weeks, same team - Speed/Agility: 400% faster on new platform - HR Hard Savings: $1.1M per application update delivered © Copyright 2014 Pivotal. All rights reserved. 5
  6. 6. Iterative Development Design Develop Test Customer Feedback Customer Delivery Analytics © Copyright 2014 Pivotal. All rights reserved. 6
  7. 7. Horizontal Scale © Copyright 2014 Pivotal. All rights reserved. 7 Slow/Expensive Fast/Cheap
  8. 8. Diversity of Clients In January 2014, mobile devices accounted for 55% of Internet usage in the United States. Apps made up 47% of Internet traffic and 8% of traffic came from mobile © Copyright 2014 Pivotal. All rights reserved. 8 browsers. http://money.cnn.com/2014/02/28/technology/mobile/mobile-apps-internet/
  9. 9. Physical/Virtual Pivotal CF Infrastructure Applications Monoliths Microservices Continuous Delivery Software Factories Feedback Rapid Iteration Horizontal Scale Diversity of Clients © Copyright 2014 Pivotal. All rights reserved. 9
  10. 10. New Architectural Constraints • Pivotal CF optimizes for 12 Factor Linux applications © Copyright 2014 Pivotal. All rights reserved. 10
  11. 11. Twelve Factors • One Codebase/Many Deploys • Explicit Isolated Dependencies • Config via Environment • Attached Backing Services • Separate Build/Release/Run • Stateless Processes • Export Services via Port Bindings • Scale Out via Processes • Disposable Instances • Dev/Prod Parity • Logs == Event Streams • Admin Tasks == Processes http://12factor.net © Copyright 2014 Pivotal. All rights reserved. 11
  12. 12. New Architectural Constraints • Pivotal CF optimizes for 12 Factor Linux applications • Microservices: a radical departure from traditional monolithic applications • In both cases, the enterprise is forced to “think different.” © Copyright 2014 Pivotal. All rights reserved. 12
  13. 13. How XP Practices Support Each Other © Copyright 2014 Pivotal. All rights reserved. 13 http://www.kusmin.eu/wiki/index.php/How_XP_Practices_Support_Each_Other
  14. 14. A Mutualistic Symbiotic Relationship… © Copyright 2014 Pivotal. All rights reserved. 14 Microservices Pivotal CF http://en.wikipedia.org/wiki/Symbiosis#Mutualism
  15. 15. Microservices Overview © Copyright 2014 Pivotal. © Copyright 2014 Pivotal. AAllll rriigghhttss rreesseerrvveedd.. 15
  16. 16. Simple vs. Easy • Simple • sim- plex • one fold/braid • vs complex • Easy • ease < aise < adjacens • lie near • vs hard © Copyright 2014 Pivotal. All rights reserved. 16
  17. 17. Monolithic Architecture © Copyright 2014 Pivotal. All rights reserved. 17 Relational Database HTML JavaScript MVC Service Data Access Service Browser Monolithic Application
  18. 18. Monolithic Architectures • Complex / Easy • Modularity Dependent Upon Language / Frameworks • Change Cycles Tightly Coupled / Obstacle to Frequent Deploys • Inefficient Scaling • Can Be Intimidating to New Developers • Obstacle to Scaling Development • Requires Long-Term Commitment to Technical Stack © Copyright 2014 Pivotal. All rights reserved. 18
  19. 19. Microservice Architecture © Copyright 2014 Pivotal. All rights reserved. 19 … HTTP HTTP HTTP HTTP HTTP HTTP AMQP AMQP Relational DB Key/Value Store Graph DB
  20. 20. Microservice Architectures • Simple / Hard • Modularity Based on Component Services • Change Cycles Decoupled / Enable Frequent Deploys • Efficient Scaling • Individual Components Less Intimidating to New Developers • Enables Scaling of Development • Eliminates Long-Term Commitment to Technical Stack © Copyright 2014 Pivotal. All rights reserved. 20
  21. 21. Conway’s Law © Copyright 2014 Pivotal. All rights reserved. 21 Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. Melvyn Conway, 1967 http://martinfowler.com/articles/microservices.html#OrganizedAroundBusinessCapabilities
  22. 22. Organize Around Business Capabilities HTML JavaScript MVC Service Siloed Application Architectures © Copyright 2014 Pivotal. All rights reserved. 22 Data Access Service UI Specialists Middleware Specialists DBAs Business Capability Business Capability Business Capability Siloed Functional Teams Cross-functional Teams Microservice Architectures http://martinfowler.com/articles/microservices.html#OrganizedAroundBusinessCapabilities
  23. 23. Partitioning Strategies • By Noun (e.g. product info service) • By Verb (e.g. shipping service) • Single Responsibility Principle (http://programmer.97things.oreilly.com/wiki/index.php/ The_Single_Responsibility_Principle) • Bounded Context (http://martinfowler.com/bliki/ BoundedContext.html) © Copyright 2014 Pivotal. All rights reserved. 23
  24. 24. Bounded Contexts © Copyright 2014 Pivotal. All rights reserved. 24 Movie Movie Actor Genre Media Type Media Type Kiosk Location Media Product Catalog Inventory
  25. 25. Polyglot Persistence © Copyright 2014 Pivotal. All rights reserved. 25 REST X You shall not pass…
  26. 26. UNIX Pipes and Filters cut -d" " -f1 < access.log | sort | uniq -c | sort -rn | less © Copyright 2014 Pivotal. All rights reserved. 26
  27. 27. Choreography over Orchestration © Copyright 2014 Pivotal. All rights reserved. 27 https://www.flickr.com/photos/gabrielsaldana/5896491978 https://www.flickr.com/photos/chrisbrenschmidt/2223763842 http://martinfowler.com/articles/microservices.html#SmartEndpointsAndDumbPipes
  28. 28. http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html © Copyright 2014 Pivotal. © Copyright 2014 Pivotal. AAllll rriigghhttss rreesseerrvveedd.. 28
  29. 29. Paying for your lunch… • Significant Operations Overhead • Substantial DevOps Skills Required • Implicit Interfaces • Duplication of Effort • Distributed System Complexity • Asynchronicity is Difficult! • Testability Challenges © Copyright 2014 Pivotal. All rights reserved. 29
  30. 30. You must be this tall to use Microservices… • RAPID PROVISIONING • BASIC MONITORING • RAPID APPLICATION DEPLOYMENT • DEVOPS CULTURE © Copyright 2014 Pivotal. All rights reserved. 30 https://www.flickr.com/photos/gusset/3723961589 http://martinfowler.com/bliki/MicroservicePrerequisites.html
  31. 31. It’s gonna take a platform… © Copyright 2014 Pivotal. All rights reserved. 31 Pivotal CF Spring Cloud
  32. 32. Platform Features • Environment Provisioning • On-Demand/Automatic Scaling • Failover/Resilience • Routing/Load Balancing • Data Service Operations • Monitoring • Distributed/Versioned Config • Service Registration/Discovery • Routing/Load Balancing • Service Integration • Fault Tolerance • Asynchronous Messaging © Copyright 2014 Pivotal. All rights reserved. 32
  33. 33. http://projects.spring.io/spring-cloud © Copyright 2014 Pivotal. All rights reserved. 33
  34. 34. • Eureka • Hystrix + Turbine • Ribbon • Feign • Zuul • Archaius + http://netflix.github.io © Copyright 2014 Pivotal. All rights reserved. 34
  35. 35. Pivotal CF + Spring Cloud + Netflix OSS! © Copyright 2014 Pivotal. All rights reserved. 35
  36. 36. DEMO © Copyright 2014 Pivotal. All rights reserved. 36
  37. 37. Supporting Rapid Change DevOps Δ © Copyright 2014 Pivotal. All rights reserved. 37 Microservices is the first architectural style developed: POST & POST Continuous Delivery
  38. 38. Architecture is abstract until it is operationalized. Neal Ford © Copyright 2014 Pivotal. All rights reserved. 38
  39. 39. Architectures that aren’t operationalized exist only on whiteboards. Matt Stine © Copyright 2014 Pivotal. All rights reserved. 39
  40. 40. OPERATIONALIZED ARCHITECTURE © Copyright 2014 Pivotal. All rights reserved. 40 Microservices Pivotal CF Spring Cloud
  41. 41. A NEW PLATFORM FOR A NEW ERA

×