My DevOps engineering presentation at OpenSlava conference, Bratislava, October 2018. This talk is about important engineering concerns related to infrastructure Deployment and application Delivery
2. @acankr AgileStacks
~whoami Antons Kranga
Director of Engineering
@ Agile Stacks
Building next-gen DevOps automation
@acankr
github.com/akranga
anton@agilestacks.com
Speaking (on the left)
@OpenSlava 2013, 2014, 2015
• DevOps Automation
• Platform as a Service
• Containers
30. @acankr AgileStacks
Has names
Long living entity
Requires patching, backups etc
Often needs manual nursing
Described as configuration
Pet Cattle
Have numbers not name
Short living entity
Immutable
Dispose instead of nursing
Described as code
65. @acankr AgileStacks
mike git ci#73ba2ef
Change must be non deterministic
Deployment must be atomic
Application must not becomes a pet
66. @acankr AgileStacks
mike git ci#73ba2ef
Change must be non deterministic
Deployment must be atomic
Application must not becomes a pet
Deployment breaks stack immutability
69. @acankr AgileStacks
Invert dependencies of application
Application should only make
assumptions about it’s state
Application should not make
assumptions about environment
Good delivery means
70. @acankr AgileStacks
Invert dependencies of application
Application should only make
assumptions about it’s state
Application should not make
assumptions about environment
Application can change state of the
stack via operators
Good delivery means
73. @acankr AgileStacks
Operator is the program that
performs automated operation
Operator typically writes in general
purpose programming language
74. @acankr AgileStacks
Operator is the program that
performs automated operation
Reduces need of complex CD
tools like GoCD or Spinnaker
Operator typically writes in general
purpose programming language
88. @acankr AgileStacks
You need to think in both D.
All code must be idempotent
Avoid big over configured clusters.
Use micro clusters
89. @acankr AgileStacks
You need to think in both D.
All code must be idempotent
Avoid big over configured clusters.
Use micro clusters
Reduce tools if you can