$30 off During Our Annual Pro Sale. View Details »

the Macro of Microservices

the Macro of Microservices

this is the deck that accompanies my keynote talk on understanding the larger context around microservices, beyond the mere technology implications

Josh Long

July 03, 2015
Tweet

More Decks by Josh Long

Other Decks in Technology

Transcript

  1. the Macro of Microservices
    Josh Long (⻰龙之春)
    @starbuxman
    [email protected]
    github.com/joshlong

    View Slide

  2. project
    the
    Josh Long (⻰龙之春)
    @starbuxman
    [email protected]
    github.com/joshlong

    View Slide

  3. Josh Long (⻰龙之春)
    @starbuxman
    [email protected]
    github.com/joshlong
    a Diminishing Delta between
    Development & Delivery

    View Slide

  4. say open source!

    View Slide

  5. Josh Long (⻰龙之春)
    the Spring Developer Advocate
    • http://cloudnativejava.io
    • @starbuxman
    [email protected]
    • Java Champion
    • open-source contributor 

    (Spring Boot, Spring Cloud, Spring Integration, Vaadin, Activiti, etc etc)

    View Slide

  6. * Rio de Janeiro
    * Frankfurt, Germany
    * Tokyo, Japan
    AUGUST 26
    AUGUST 28

    View Slide

  7. View Slide

  8. continuous delivery
    continuous delivery
    agility
    microservices
    cloud computing
    continuous integration
    (the feedback loop)

    View Slide

  9. the agile manifesto

    View Slide

  10. the agile manifesto & software delivery

    View Slide

  11. to the cloud!

    View Slide

  12. Source:
    Adrian Cockcroft 

    http://www.slideshare.net/adrianco
    water-scrum-fall increases clock time, waste

    View Slide

  13. devops - it’s about systems thinking
    http://itrevolution.com/the-three-ways-principles-underpinning-devops/
    Gene Kim - “the Devops Handbook”

    View Slide

  14. cloud helps automate operations
    http://www.computerweekly.com/opinion/Value-chain-mapping-learning-to-use-IT-as-a-strategic-weapon
    Simon Wardley, Value Chain Mappings
    platform!

    View Slide

  15. Amazon.com created AWS to reduce communication cost
    http://www.wired.com/magazine/2011/11/ff_bezos/all/1
    Amazon CEO Jeff Bezos

    View Slide

  16. -> |
    ( )
    | ..

    View Slide

  17. Imagine if architects had to be the
    janitor for every building they designed.
    This is how the development team felt
    prior to moving to Windows Azure.

    Cloud Foundry: day # 2

    http://infoq.com/articles/Channel-9-Azure
    Duncan Mackenzie - Nov 07, 2011

    View Slide

  18. writing cloud-native software

    View Slide

  19. a monolith might be the right answer

    View Slide

  20. microservices enable runtime scale
    http://theartofscalability.com/
    Martin L. Abbot, Michael T. Fisher, the Art of Scalability

    View Slide

  21. Source:
    Adrian Cockcroft 

    http://www.slideshare.net/adrianco
    microservices enable feature teams

    View Slide

  22. ..organizations which design systems are constrained
    to produce designs which are copies of the communication
    structures of these organizations
    Conway’s to understand your service boundaries
    corollary:
    you can refactor your organization to improve your systems
    Mel Conway’s law:

    View Slide

  23. microservices enable bounded contexts

    View Slide

  24. microservices enable iteration
    agile programming
    unit testing & TDD
    scrum
    continuous integration

    modern computer science values quantity, velocity over quality
    if you wait for all the data to make an informed decision,
    it may be too late to make any decision at all

    View Slide

  25. OODA requires continuous delivery
    Adrian Cockcroft, former SVP of Web Engineering @ Netflix
    if you say “I’m doing this because it’s
    more efficient,” the unintended result is
    that you’re slowing someone else down.
    This is not an encouragement to be
    wasteful, but you should optimize for
    speed first. Efficiency becomes secondary
    as you satisfy the constraint that you’re
    not slowing things down. The way you
    grow the business to be more efficient is
    to go faster.
    “ ”

    View Slide

  26. Source:
    Adrian Cockcroft 

    http://www.slideshare.net/adrianco
    iteration enables OODA

    View Slide

  27. source:
    Continuous Delivery: Reliable Software Releases Through Build, Test, and
    Deployment Automation / Jez Humble, David Farley.
    ISBN 978-0-321-60191-9
    OODA requires continuous delivery

    View Slide

  28. OODA requires continuous delivery
    http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
    John Allspaw - Flickr (not Etsy)
    We may deploy 20 times a day, but we
    wouldn’t deploy 20 times a day if we went
    down 20 times a day. The only reason we
    got to 20 times a day, is that the first time
    we deployed 5 times a day, it worked
    out.”
    “ ”

    View Slide

  29. so how do i build it?

    View Slide

  30. spring boot
    it’s going to take an API.. lots of them!
    supports rapid development of
    production-ready applications
    and services

    View Slide

  31. microservices introduce complexity
    • service registration & discovery?

    (and client-side load balancing)
    • joined up views of data?
    • centralized configuration management?
    • distributed tracing?
    • stream processing?
    • single sign-on

    View Slide

  32. distributed systems are hard

    View Slide

  33. don’t reinvent the wheel

    View Slide

  34. spring cloud
    Apache Zookeeper
    these logos are all trademark/copyright their respective owners (T-B, L-R): 


    Netflix, amazon.com, Apache Software Foundation, Cloud Foundry, Hashicorp
    they are ALL great organizations and we love their open-source and their APIs!!
    *

    View Slide

  35. continuous delivery
    continuous delivery
    agility
    microservices
    cloud computing
    continuous integration
    (the feedback loop)

    View Slide

  36. Questions?
    A NEW PLATFORM FOR A NEW ERA
    Josh Long (⻰龙之春)
    @starbuxman
    [email protected]
    speakerdeck.com/joshlong 

    github.com/joshlong 

    http://spring.io

    View Slide