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.”
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
team Team architect is responsible for cross-team alignment and macro architecture alignment Team architects inform and consult with dedicated architects
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
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
what should be documented Same symbols across teams Shared understanding of diagram types across teams Deliver templates and offer support for implementing documentation guidelines
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
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-incubator/zally