7. Software architecture of a system:
set of
structures
needed to reason about a system,
comprise
software elements,
relations among them, and
properties of both.
18. UI Tests: Selenium
> Easy to start
> Natural for testers
> Fragile
> Loose semantics
19. Behavior-driven
Scenario: User registers successfully
Context
Event
Expected
outcome
Given a new user with email
eberhard.wolff@gmail.com
firstname Eberhard
name Wolff
When the user registers
Then a customer with email
eberhard.wolff@gmail.com should exist
And no error should be reported
25. Release
> Automated!
> No manual change to any system
> Mitigate risk e.g. with Blue-green
> Two environments
> Install system on second in the background
29. CD & Innovation
> Make software easy to change
> …by putting it into production quickly
> ...and reliably
> Less risk
> Monitor success
> ...by logging and monitoring
44. Microservice Pipeline
> Independent deployment
> Build pipeline per Microservice
> Small
> Easier to set up
> Simpler (3rd party systems)
> Faster Feedback: Less tests
46. Agility
> Put software out quickly
> …by implementing stories
> Measure success
> Provide feedback for next iteration
> Hard to do for large applications
52. Team can deploy without integration
Changes can be deployed independently & quickly
One or many Microservices per Team
Synergy Microservices / Conway’s Law
Order SearchBilling
Order Billing Search
Technology decisions per team
58. Continuous Delivery
> Continuous Delivery allows to put out new
features quickly
> ...and measure success
> Microservices support Continuous Delivery
59. Microservices
> Microservices allow each team to create
new products
> …put them in production
> ...and see the effect on revenue
> …with little coordination
61. Not new!
> Amazon 2006
> Teams
> …build business services
> …operate them
> ...foundation: Amazon Cloud
> ...(i.e. virtual machines)
> Microservices + DevOps + Continuous Delivery
62. Not radical!
> Developer Anarchy is the radical approach.
> No management
> Programmers driven by business KPIs
(Key Performance Indicators)
> http://www.se-radio.net/2016/03/se-radio-
episode-253-fred-george-on-developer-
anarchy/