Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Scaling towards a thousand micro services

45 views

Published on

Diego Berrueta discusses the main challenges involved in scaling Atlassian from one to near a thousand micro services. Includes the introduction of an internal PaaS called Micros, a service-to-service authentication protocol called ASAP, the strategy to converge on a small number of tech stacks, building tools to bootstrap new services and libraries to maintain them, and how to scale operations.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Scaling towards a thousand micro services

  1. 1. DIEGO BERRUETA | ENGINEERING PRINCIPAL Scaling towards
 a thousand micro services Sydney Serversiders - June 2019
  2. 2. Royal Australian Historical Society @ Flickr
  3. 3. 4 challenges
  4. 4. FIRST CHALLENGE
  5. 5. Read this book One does not simply…
  6. 6. A secure platform with uniform processes Enable every engineer to easily develop and deploy secure services CHALLENGE OUR SOLUTION
  7. 7. Clear contract Similar packaging and operations Micros: our internal PaaS Uniform deployments Familiar processes across all services and environments Built on top of AWS Standardise service architecture and promote best practices (12 factor)
  8. 8. Deployment process $ micros service:deploy … CONTAINER DESCRIPTOR
  9. 9. Robin Fernandes Art of PaaS (2016) Roaan Vos Atlassian’s voyage with AWS (2018) Learn more about Micros
  10. 10. https://s2sauth.bitbucket.io/
  11. 11. Value unlocked Compliance Change traceability and strict permissions Visibility Cost allocation and optimisation, bird’s eye view of the platform Security Service-to-service authentication, security scans, secret store… Resilience Chaos engineering, failover tests and automated backups
  12. 12. SECOND CHALLENGE
  13. 13. Converge on
 a handful of tech stacks Reuse knowledge and enable experimentation CHALLENGE OUR SOLUTION
  14. 14. Tech stack guidelines (Extract from the Java tech stack)
  15. 15. Value unlocked Collaboration Engineers can understand and contribute to other teams’ services Experimentation Recommendations are regularly updated (example: Kotlin) Economies of scale Shared libraries and tools are used in hundreds of services Training Internal brownbags, intranet blog posts, peer support
  16. 16. THIRD CHALLENGE
  17. 17. Cookie-cutter approach to service creation and maintenance CHALLENGE OUR SOLUTION Copy-pasting code does not scale
  18. 18. Value unlocked Frictionless decomposition Avoid temptation to add more code to the monolith Reuse best practices From resilience to code organisation Quick prototyping Create and deploy a new service in minutes Scalable maintenance Fix it once for everyone by eliminating code duplication
  19. 19. FOURTH CHALLENGE
  20. 20. End-to-end service ownership and continuous improvement A sustainable balance between changes and reliability CHALLENGE OUR SOLUTION
  21. 21. https://www.atlassian.com/incident-management/handbook
  22. 22. Continuous improvement
  23. 23. Value unlocked Trust Blameless incident investigations find and address root cause Scalable model Decentralised operations scale horizontally and interests are aligned Transparency Teams set their objectives and openly track their success Close feedback loop Teams are motivated and empowered to continuously learn and improve
  24. 24. 1st challenge: A secure platform 2nd challenge: Knowledge reuse 3rd challenge: Speed at scale 4th challenge: Operational excellence Recap
  25. 25. DIEGO BERRUETA Thank you

×