scaling architecture zalando
play

Scaling Architecture @ Zalando Felix Mller - @fmueller_bln About - PowerPoint PPT Presentation

Scaling Architecture @ Zalando Felix Mller - @fmueller_bln About me Software Architect @ Zalando Software Engineer by heart 8 years in IT 2 years as an Architect Twitter: @fmueller_bln Zalando Who knows Zalando? 2008 2 monoliths...


  1. Scaling Architecture @ Zalando Felix Müller - @fmueller_bln

  2. About me Software Architect @ Zalando Software Engineer by heart 8 years in IT 2 years as an Architect Twitter: @fmueller_bln

  3. Zalando

  4. Who knows Zalando?

  5. 2008

  6. 2 monoliths...

  7. 2015

  8. How big are we now?

  9. Zalando in Numbers ~ EUR 3 billion revenue > 160m visits per month > 11000 employees in Europe ~ 1600 tech employees 7 tech hubs: Berlin, Dublin, Helsinki...

  10. Still growing rapidly

  11. 2015 something more happened...

  12. We want autonomous teams to deliver amazing products efficiently at scale.

  13. Radical Agility

  14. Tech Constitution

  15. Rules of Play https://github.com/zalando/zalando-rules-of-play

  16. Which architecture style is fostered by Radical Agility?

  17. Architecture Principles

  18. Architecture Principles We prefer loosely coupled services. https://github.com/zalando/zalando-rules-of-play#architecture

  19. Architecture Principles in detail Microservice with RESTful APIs Loosely coupled systems Favor message-driven Asynchronous communication Everything fails Resilient systems Operational Excellence Automate everything

  20. How do we operate our services?

  21. AWS Setup

  22. AWS Setup Each team has its own account Team AWS Account You build it, you run it Team AWS Account T h e Internet Deployment via our STUPS tooling Team AWS Account

  23. STUPS.io

  24. STUPS.io

  25. How do we test our services?

  26. Testing

  27. Testing Of course, automated testing - a lot Trade-off: Time to prod <> test coverage (with real systems) Testing flows becomes harder with microservices

  28. Our Testing Pyramid - where to run what

  29. Consumer-driven Contracts Better collaboration between teams Emphasize importance of APIs Lowers inter-team alignment efforts

  30. How do teams collaborate?

  31. At best, not necessary to deliver Collaboration between teams Through APIs Through Code - shared code

  32. Open Source Culture

  33. Open Source Evangelist, Lauri Apple Open Source Culture Open Source Guild https://github.com/zalando/zalando-howto-open-source Management supports Open Source

  34. Zappr Approvals for pull requests Started in our Innovation Labs Example for Open Source @ Zalando https://github.com/integrations/zappr Now an official Github plugin

  35. Open Source First

  36. Shared code between teams has to be open source.

  37. Inner Source

  38. And how does architecture work takes place?

  39. T h e Architect

  40. T h e Architect

  41. Service architecture is designed by delivery teams.

  42. Global architecture is owned by the Architecture team.

  43. Architecture Team

  44. 4 in Berlin, 1 in Dublin Architecture Team Focus on new platform and APIs Overarching team to support delivery teams Tech decisions with company-wide impact

  45. We support teams in building most appropriate tech solutions.

  46. Radical Agility vs Arc Team? We respect self-autonomy of teams. We support teams as technical consultants. We can provide outside perspective + broader technical overview. We let teams make their own architecture decisions.

  47. There was team collaboration through APIs...

  48. API Guild

  49. Group of Architect and Engineers API Guild Develops API Guidelines Drives API Reviews

  50. API First

  51. Foster review culture API Reviews Get feedback as soon as possible Feedback Culture API Guild is public review partner

  52. API Guidelines

  53. REST Maturity Level 2 Backward compatibility over API Guidelines versioning https://github.com/zalando/restful-api-guidelines Common Naming Rules and Data Objects

  54. API Guidelines

  55. Our future system will consist of thousands of microservices.

  56. How do teams find available APIs?

  57. API Discovery

  58. API Discovery Twintip Twintip Swagger A system to crawl and curate all Crawler Storage UI deployed APIs. https://github.com/zalando-stups/twintip-storage https://github.com/zalando-stups/twintip-crawler APIs https://github.com/zalando-stups/swagger-ui

  59. API Discovery

  60. How do teams choose tech stacks?

  61. Technologists Guild

  62. Knowledge sharing and discussion Technologists Guild Owns and curates Tech Radar Owns internal Tech Compendium

  63. Tech Radar

  64. Tech Radar We try to give delivery teams guidance in choosing technologies. Tech Radar is created by involved engineers in the technologists guild. Each team is encouraged to contribute experience reports. https://zalando.github.io/tech-radar

  65. Scaling Architecture @ Zalando Zalando in general Architecture specific Autonomous delivery teams API Guild + Guidelines Overarching architecture team API Reviews Rules of Play API Discovery Architecture Principles Technologists Guild Open Source Culture Tech Radar

  66. Thanks. Questions? Twitter: @fmueller_bln

Recommend


More recommend