Continuous Architecting:
Evolving Environments for Evolving Solutions

2nd [https://vss.swa.univie.ac.at/2019/] Vienna Software Seminar (VSS) 2019 [https://vss.swa.univie.ac.at/]

Erik Wilde
Good API

August 30, 2019

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

Contents

Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(2) Summary

The idea of digital transformation leads many organizations to more decentralized IT architectures: Instead of driving IT top-down in a one-size-fits-all approach, the goal becomes to move away from mandating one single way how to build applications. The focus then is on what needs to be done to create and manage a loosely coupled and evolvable landscape of digital products. These landscapes not just evolve in terms of the products that are developed in them, but they also evolve in terms of what the landscapes support, and possibly what kind of tooling is made available as a service to product teams. Continuous Architecting is a new way of thinking about architecture, where the main goal is to observe how well the capabilities and constraints of an IT landscape work for product architects, and to continuously adjust and improve these capabilities and constraints, so that products can be designed, developed, and deployed more easily.



Introduction

Outline (Introduction)

  1. Introduction [4]
  2. Why APIs? Why Microservices? [5]
  3. Enterprise Architecture Trends [3]
  4. Landscapes and Evolution [4]
  5. Architecture Properties [4]
  6. Conclusions [2]
Introduction Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(4) @dret on Twitter/GitHub

dret

Introduction Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(5) About Me



Introduction Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(6) Good API [http://www.goodapi.co/]

Good API

Introduction Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(7) Continuous API Management (2018)

Continuous API Management: Making the Right Decisions in an Evolving Landscape

Why APIs? Why Microservices?

Outline (Why APIs? Why Microservices?)

  1. Introduction [4]
  2. Why APIs? Why Microservices? [5]
  3. Enterprise Architecture Trends [3]
  4. Landscapes and Evolution [4]
  5. Architecture Properties [4]
  6. Conclusions [2]
Why APIs? Why Microservices? Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(9) Value and Delivery

Racer 5 CanRacer 5 TapRacer 5 Bottle

Why APIs? Why Microservices? Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(10) This is GraphQL

GraphQL as a Beer

Why APIs? Why Microservices? Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(11) Microservices 101



Why APIs? Why Microservices? Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(12) Microservices Corollary



Why APIs? Why Microservices? Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(13) API Archaeology

Proto-API

Landscapes and Evolution

Outline (Landscapes and Evolution)

  1. Introduction [4]
  2. Why APIs? Why Microservices? [5]
  3. Enterprise Architecture Trends [3]
  4. Landscapes and Evolution [4]
  5. Architecture Properties [4]
  6. Conclusions [2]
Landscapes and Evolution Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(19) APIs, API Landscapes, and Landscape Evolution



Landscapes and Evolution Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(20) Chaos Engineering! Chaos Architecting?

chaos-engineering.png

Landscapes and Evolution Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(21) Continuous Architecting

continuous-architecting.png

Landscapes and Evolution Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(22) Evolution: Products and Environments



Architecture Properties

Outline (Architecture Properties)

  1. Introduction [4]
  2. Why APIs? Why Microservices? [5]
  3. Enterprise Architecture Trends [3]
  4. Landscapes and Evolution [4]
  5. Architecture Properties [4]
  6. Conclusions [2]
Architecture Properties Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(24) Observation and Support



Architecture Properties Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(25) Constraint-Based



Architecture Properties Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(26) Tweaking the Environment



Architecture Properties Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(27) Modular and Evolvable



Conclusions

Outline (Conclusions)

  1. Introduction [4]
  2. Why APIs? Why Microservices? [5]
  3. Enterprise Architecture Trends [3]
  4. Landscapes and Evolution [4]
  5. Architecture Properties [4]
  6. Conclusions [2]
Conclusions Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(29) Continuous Architecting: Research Angles

  1. Observation: Moving from analytical to behavioral
  2. Insights: Creating meaningful insights from behavioral observations
  3. Explicit Support: Identifying trends and finding ways to support them
  4. Engineering the engineers: Tweaking the environment to favor preferred outcomes


Conclusions Erik Wilde : Continuous Architecting:
Evolving Environments for Evolving Solutions

(30) Thanks! Q&A

What's Next?

August 30, 2019 2nd [https://vss.swa.univie.ac.at/2019/] Vienna Software Seminar (VSS) 2019 [https://vss.swa.univie.ac.at/]