7. 1. CODE COMPLEXITY AND MAINTAINABILITY
2. DEPLOYMENT BECOMES THE TECHNOLOGY BOTTLENECK
3. FEAR TO CHANGE
4. LACK OF OWNERSHIP
5. FAILURE DEPENDENCIES
6. ONE SIZE DOESN’T FIT ALL (EX: RELATIONAL DB)
7. HARD TO SCALE OUT
PROBLEMS
10. THE ONLY DEPENDENCY THESE CODE BASES
HAVE ON ONE ANOTHER IS THEIR API
PREFER POLYGLOT OVER SINGLE STACK!!!!!
NUMEROUS SMALLER CODE BASES MANAGED
BY SMALL TEAMS
12. 1. THE SAME LOGGING TOOL
2. SERVICE BEHAVIOUR
3. INTEGRATION
4. METHOD OF DOWNSTREAM COMMUNICATION
5. MAYBE CONSIDER SERVICE TEMPLATES
RELEASE
AVOID BLACKHOLE
13. Two Pizza Rule
if a team can’t be fed by two pizzas
then it is too big
― Jeff Bezos
14. SERVICE ALLOW FOR INDEPENDENT
AXES OF SCALING
INDEPENDENT FAILURE DOMAINS = YOUR TEAM WORRIES
ABOUT DOWNSTREAM TEAMS DON’T BREAK
15. AVOID CASCADING
1. A MINOR SYSTEM FAILS
2. DEPENDENT SYSTEMS QUEUE WAITING FOR RESPONSE
FROM THE FAILED SYSTEM
3. DEPENDENCIES CASCADE
4. THE WHOLE SYSTEM FALLS OVER
FAILURES
30. I. CODEBASE
II. DEPENDENCIES
III. CONFIG
IV. BACKING SERVICES
V. BUILD, RELEASE, RUN
VI. PROCESSES
VII. PORT BINDING
VIII. CONCURRENCY
IX. DISPOSABILITY
X. DEV/PROD PARITY
XI. LOGS
XII. ADMIN PROCESSES
31. 1. MICROSERVICES – BUZZWORD OR SOMETHING DEEPER
2. 12-FORM FACTOR APPLICATION
3. APP CONTAINERS
4. CI/CD PIPELINE – REMOVE WASTE DON’T CUT THE COSTS
5. MANTL/SHIPPED – PIPELINE ON PREM
6. CI/CD IN AWS
7. FIN/ACK
AGENDA
33. „Container = sandbox environment
layered on the top of host OS”
CONTAINER != MICROSERVICE
34. 1. WHEN A DOCKER CONTAINER IS LAUNCHED, IT RUNS A SINGLE PROCESS.
THIS PROCESS IS USUALLY THE ONE THAT RUNS YOUR APPLICATION
WHEN YOU CREATE CONTAINERS PER APPLICATION
2. DOCKER CONTAINER EMPHASIZES MINIMAL IMAGES SIZE/CONSTRUCTION
3. FROM OPS PERSPECTIVE, CONTAINER IMAGE IS BLACK BOX
4. WRITE ONCE READ MANY
5. CONTAINERS ARE EPHEMERAL1
35. 1. MICROSERVICES – BUZZWORD OR SOMETHING DEEPER
2. 12-FORM FACTOR APPLICATION
3. APP CONTAINERS
4. CI/CD PIPELINE – REMOVE WASTE DON’T CUT THE COSTS
5. MANTL/SHIPPED – PIPELINE ON PREM
6. CI/CD IN AWS
7. FIN/ACK
AGENDA
37. LEAD TIME = CYCLE TIME + WAITING TIME
LEAD TIME = the time is takes to complete a process – from start to finish
CYCLE TIME = the time a product is being worked on
WAITING TIME = the time spent waiting around to be worked on
38.
39.
40.
41. „Operations at web
scale is the ability
to consistently
create and deploy
reliable software
to an unreliable
platform that
scales horizontally”
62. 1. Do you bake the software, configuration and your code into the AMI
(à la Netflix)
2. Do you bake only the software and configuration, and download the code
on boot
3. Do you use a clean OS AMI, and do everything on boot
(à la chef server/puppet)
BAKING AMIs