How to be an Architect in a Microservice World

How to be an Architect in a Microservice World

This talk describes the role of software architect in modern IT organisations and which typical issues you solve as an architect. Especially if the organisation is implementing microservices architecture.

A7e499800d9008d62830dfe431bd8ddb?s=128

Felix Müller

March 22, 2018
Tweet

Transcript

  1. 4.
  2. 8.

    Wikipedia (on 6th Nov 2017) “Software architecture refers to the

    high level structures [...] creating such structures, and the documentation of these structures. [...] Each structure comprises software elements, relations among them, and properties of both elements and relations. Software architecture is about making fundamental structural choices which are costly to change once implemented.”
  3. 9.

    Quality of software architecture can be measured by the degree

    it meets the NFRs of a system. (NFR = non-functional requirement)
  4. 12.

    Role of Architect Depends highly on context, for sure. Quality

    of Software Architecture Design Documentation Execution
  5. 14.

    Companies where i’ve been an architect. ~150 employees in IT

    On-premise Scrum 2-5 architects >2000 employees in IT On-premise + Cloud Agile > 5 architects ~60 employees in IT On-premise + Cloud Agile 1 architect + 3 lead developers
  6. 16.

    Role of Architect Depends highly on context, for sure. Quality

    of Software Architecture Design Documentation Execution
  7. 17.

    Role of Architect Depends highly on context, for sure. Quality

    of Software Architecture for your services, modules, libraries Design Documentation Execution Developer
  8. 22.

    Macro Architecture Decisions for all modules http://isa-principles.org All modules are

    part of one system Should be as stable as possible Should be as minimal as possible
  9. 26.

    Tech Guidelines You build it, your run it. Which tech

    stacks can be used? How to test? How to monitor? What to monitor? How to deploy? What are deployable artifacts?
  10. 27.

    API Guidelines Favor REST maturity level 2 Backward compatibility over

    versioning Common data and error objects Naming rules Syntax rules for consistency https://github.com/zalando/restful-api-guidelines
  11. 29.

    Tech Radar Based on idea of ThoughtWorks Tech Radar Gives

    guidance for tech stack choice More focus in the company on tech stacks which fits best for context Increase the bar to introduce new technologies https://github.com/zalando/tech-radar
  12. 32.

    Team Architects 1 team architect per team Voted by each

    team Team architect is responsible for cross-team alignment and macro architecture alignment Team architects inform and consult with dedicated architects
  13. 33.

    API Guild Group of developers and dedicated architects Owned and

    maintained API guidelines and API review processes Bi-weekly guild meeting to decide about important topics Consensus driven decision making
  14. 34.

    TAR and Lead Developers TAR = Technical Architecture Review Group

    of lead developers, dedicated architect and if necessary others groom technical topics Owned by dedicated architect who manages projects and clarifies priorities with stakeholders TAR backlog managed by Kanban board across teams
  15. 39.

    Pivio “Microservice documentation for your platform” Developers document locally in

    their repositories with YAML files YAML files are aggregated by central system Central UI and API server for retrieving data, e.g. for architectural overview http://pivio.io
  16. 44.

    General Advice Lower documentation barrier for devs Shared understanding of

    what should be documented Same symbols across teams Shared understanding of diagram types across teams Deliver templates and offer support for implementing documentation guidelines
  17. 47.

    Technical Compatibility Kit Automates compliance check for technical guidelines Checks

    runtime view of service, e.g. - is health check resource implemented as expected - is graceful shutdown implemented - is monitoring working TCK was integrated in each deployment pipeline
  18. 48.

    Zally - API Linter Service integration happens at Zalando via

    Restful APIs (and events) API First with API review for each API draft Zally automates such reviews by validating given Swagger file with Zalando’s API guidelines https://github.com/zalando/zally
  19. 56.

    Thank you. Questions? More questions or just wanna chat? E-Mail:

    felix@predegy.com Twitter: @fmueller_bln