DeveloperPlayBook
Python
Python
  • Introduction
  • Architecture
    • Technology Stack
    • ADR Records
  • Design
  • Bootstraping
  • Development Environment
    • Accounts (AWS, GCP, CircleCI)
  • Services/API
    • Serverless
    • Containers
    • Python
    • Firebase
    • Chatbots
    • Testing
  • Frontend
    • Serverless
    • Containers
    • Chatbot
  • Plattform
  • IAM - IAMaaS
  • Persistance - DBaaS
    • Serverless
    • Container
  • Event Driven / Streaming aaS
    • Kinesis
  • AI - AIaaS
  • Production / Reliability Engineering
  • create-k8s-secrets
  • VI
  • Tools
Powered by GitBook
On this page
  • Architectural practices for evolution
  • Technical Practices:
  • Fitness Function are the goal and quantitative measure to evaluate the guide change
  • Dimentions of architectural diagramms:
  • Domain Diagrams
  • Documentation of Architecutral Decisions
  • Keep a technology overview with the Tech Radars:
  • Community

Architecture

PreviousIntroductionNextTechnology Stack

Last updated 7 years ago

Architecture should be designed for change, and you must never make comproises that impact architecture goals negatively as architecture is by definition hard to change .

An evolutionary architecture supports incremental, guided change as a first principle along multiple dimensions

Architectural practices for evolution

Source:

Technical Practices:

API First, REST/Event Driven, SaaS, Cloud, and Microservices. We’re creating APIs first before we code them, using the REST/Event Driven architectural style to ensure we’re able to scale as our department and business grows in scope, evolving our systems in parallel. Building for SaaS makes our applications ready to live on the Internet, where embracing the cloud ensures that as a modern architecture, we’re fostering innovation. Finally, our adoption of Microservices ties all these principles together in a powerful architectural style that lets us move fast while we keep our complexity low. Source:

  • API First - as a plattform you care more about APIs/ business functions then the UI as the UI could be delivered by someone else using your API.

Fitness Function are the goal and quantitative measure to evaluate the guide change

  • Testing for "First Principles" (basis that will be hard to correct in the long term and the negative impacts in production can only be monitored later when they stack up) -> can be de priortized for first mvp?:

    • Code Quality

    • Complexity

    • Functionality (easier to test and interpret where the error is on unit level but in the end only relevant on the quality level of the solution)

  • Testing "Quality" (how good is the current solution:

    • Real time monitoring for (

      • perfomormance

      • security

Fitness functions / SLAs Types:

  • Automation ( -> AI)

  • Reasonable Security

  • Limited Blast Radius

Dimentions of architectural diagramms:

  • solution (process & component)

  • implementation / technology (frameworks)

  • production

  • evolution

Domain Diagrams

Documentation of Architecutral Decisions

brew install adr-tools
npm install madr && mkdir -p docs/adr && cp node_modules/madr/template/* docs/adr/

Keep a technology overview with the Tech Radars:

Community

Tool:

Architectural decision should be documented in a . My private decision are located here in based on this .

Use the and

plantuml
https://www.heise.de/developer/artikel/Domain-driven-Design-erklaert-3130720.html?seite=all
https://docs.google.com/drawings/d/1kwtMhXe-3YLrqlLa-MoE84U-lDr-k5Z6qtlWgCuvHkk/edit
light weight architecture decision record
github
template
adr tool
MADR
https://zalando.github.io/tech-radar/
https://www.thoughtworks.com/de/radar
https://jobs.zalando.com/tech/
Patrick Kua - Goto Conference
Zalando Blog
https://medium.com/developers-writing/my-take-on-evolutionary-architecture-f761d45e75b9
http://benjiweber.co.uk/blog/2015/03/02/monitoring-check-smells/\