Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevOpsDays Cuba 2016: How the practices of DevOps are evolving from servers to services.
Search
DevOpsDays Cuba
October 20, 2016
Technology
0
49
DevOpsDays Cuba 2016: How the practices of DevOps are evolving from servers to services.
Author: Patrick Debois
Summary:
DevOpsDays Cuba
October 20, 2016
Tweet
Share
More Decks by DevOpsDays Cuba
See All by DevOpsDays Cuba
DevOpsDays Cuba 2017: BigData perspectiva DevOps
devopsdayscuba
0
80
DevOpsDays Cuba 2017: Continuous Delivery with Gitlab Apache Mesos and Marathon
devopsdayscuba
0
570
DevOpsDays Cuba 2017: Workshop - Essential DevOps
devopsdayscuba
0
440
DevOpsDays Cuba 2017: Ignite - Performance test for Web Apps
devopsdayscuba
0
380
DevOpsDays Cuba 2017: El valor de Docker para grupos DevOps
devopsdayscuba
0
390
DevOpsDays Cuba 2017: Starting and Growing Your DevOps Teams
devopsdayscuba
0
290
DevOpsDays Cuba 2017: DEVOPS PITFALLS
devopsdayscuba
0
290
DevOpsDays Cuba 2017: Ignite - Build and install scientific software with EasyBuild in HPC systems
devopsdayscuba
0
310
DevOpsDays Cuba 2017: Ignite - Monitorización más allá de los servicios y sistemas enfoques para Centros de Datos de Nueva Generación
devopsdayscuba
0
320
Other Decks in Technology
See All in Technology
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
710
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
740
Postman v10リリース後を振り返る
nagix
0
130
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
61
18k
転移学習とドメイン適応の基礎
kmatsui
2
570
Databricks:『生成AI World Cup』のご案内
databricksjapan
2
150
開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17
ma3tk
3
340
Databricksを活用してDELISH KITCHENのレシピレコメンドを開発した話
furu8
0
250
Discord とビルダー&チャットボットの使い方 / How to use Discord and Builder & Chatbots
ks91
PRO
0
130
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
DevOpsDays History and my DevOps story
kawaguti
PRO
8
1.6k
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
1
340
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
Debugging Ruby Performance
tmm1
70
11k
Facilitating Awesome Meetings
lara
41
5.6k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Six Lessons from altMBA
skipperchong
20
3k
What's new in Ruby 2.0
geeforr
337
31k
Raft: Consensus for Rubyists
vanstee
132
6.2k
Product Roadmaps are Hard
iamctodd
43
9.7k
Agile that works and the tools we love
rasmusluckow
324
20k
Statistics for Hackers
jakevdp
789
220k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Web development in the modern age
philhawksworth
202
10k
Transcript
HOW THE PRACTICES OF DEVOPS ARE EVOLVING from servers to
services @patrickdebois - Small Town Heroes
Things I did (I’m proud of)
OPS DEV http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/ 4 areas of improvement
OPS DEV Area 1: Extend delivery to production http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
OPS DEV Area 2: Extend operations feedback to project Area
1: Extend delivery to production http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
OPS DEV Area 2: Extend operations feedback to project Area
1: Extend delivery to production Area 3: Embed Project knowledge into Operations http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
OPS DEV Area 4: Embed Operations knowledge into Project Area
2: Extend operations feedback to project Area 1: Extend delivery to production Area 3: Embed Project knowledge into Operations http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
OPS DEV http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/ Technical Loop Business Loop Business Loop
LIVE RESULTS INTERACTION MODERATION STUDIO CONTROL PART OF THE SHOW
Focus on the Business
“Backend” services “IT support” services Our “Office” services “Community” services
“Frontend” services
“Mobile” services SNS/Push Cognito
(almost) NO SERVERS
A bit further down the rabbit hole …
Github service not available
undocumented changes
inconsistent behaviour
different behaviour under load
(almost) NO MAINTENANCE Less Maintenance
increased risk when not available More speed
With increased risk
Functions As a Service (FAAS) aka “serverless”
Case1 Generate “personalised” image Browser -> Pre-signed S3 -> Lambda
-> SQS -> Redis
Case2 Animated gif/movie/meme editor API GW -> Lambda -> Img
magic movie -> s3
None
None
You are an Agent
You make promises to others in the system
Your promises should be verifiable
A promise does not guarantee an outcome
Conditions should be part of your promise
It needs to be clearly documented otherwise it’s not a
promise
It needs to be mutually agreed (not obligation) otherwise it’s
not a promise
You might depend on other agents to keep your promises
Other agents make promises to you
Their promises need to be verifiable clearly documented & mutually
agreed (not obligation)
But you can not make promises on behalf of other
agents (bottom up vs top down)
Promises can be conflicting in a system
but the conflict can only be from internal promises (as
we can not be responsible for others promises)
To keep a promise you should have a choice Push
vs Pull
Single Leaves = SPOF To create choice you need to
eliminate the single leaves (SPOF)
All problems in computer science can be solved by another
level of abstraction
… except for the problem of too many layers of
indirection … David Wheeler (inventor of subroutine)
None
Every promise binding is the basis for relationship (Dunbar)
Agents with a similar goal can be grouped into a
Super Agent
Single Leaves = SPOF You need multiple Super Agents to
have a choice again
Forks v1 v2 v3 v1 v2 v3 To keep promises
agent can introduce different world views (versions)
Slows down A super agent might get slow internal communication
speed is key Opportunity for personalised service providers
Scaling Promises keeping your promise while changing your size (is
hard)
container re-use non-deterministic
limits not clear under stress
services devops
Holy Cow!
“I introduced devops and all I got was a remote
API”
It’s devops Jim but not as we know it
emerging practices
communicate the status of your promise and monitor others
monitor your services and expose your own metrics (API)
expose insights to other agents (API)
show that you care about other agents
expose your logs
be clear on what happens when it fails
backup external data (give an API please)
provide & seek fast feedback on your promise change status
be clear on your dependencies and expect the same of
other services
be proactive to make others keep their promises
give insights on changing promises
blog to communicate your service skill level
talk at conferences to indicate your willingness to share
make it convenient for other agents to use
provide feedback to other agents
show that you listen to those that depend on you
show that your participation by improving the field
show that your engineers are not afraid of talking to
people
let other agents influence your changing promises
“The collaboration between dev & ops is now extended to
external 3rd parties”
“make clear promises to other agents”
“And verify the status of other agents promises”
“To keep your promise to the business”
External Services are the next silo think “Supply Chain”
https://vimeo.com/101735252 DevOpsDays Minneapolis 2014 Jeff Sussna, Promising Digital Service Quality
None
Questions?
[email protected]
www.smalltownheroes.be @patrickdebois