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
How devops improved my dev
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Florian Gilcher
April 18, 2013
Programming
1.5k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How devops improved my dev
Florian Gilcher
April 18, 2013
More Decks by Florian Gilcher
See All by Florian Gilcher
A new contract with users
skade
1
540
Using Rust to interface with my dive computer
skade
0
310
async/.await with async-std
skade
1
820
Training Rust
skade
1
150
Internet of Streams - IoT in Rust
skade
0
130
How DevRel is failing communities
skade
0
140
The power of the where clause
skade
0
720
Three Years of Rust
skade
1
240
Rust as a CLI language
skade
1
250
Other Decks in Programming
See All in Programming
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.8k
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
210
5分で問診!Composer セキュリティ健康診断
codmoninc
0
1.1k
What's New in Android 2026
veronikapj
0
270
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
530
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
190
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
バグを直したら useEffect が消えた
colorful12
3
650
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
1.1k
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
140
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
12k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
500
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Music & Morning Musume
bryan
47
7.3k
The agentic SEO stack - context over prompts
schlessera
0
870
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
Mind Mapping
helmedeiros
PRO
1
320
The SEO identity crisis: Don't let AI make you average
varn
0
530
KATA
mclloyd
PRO
35
15k
Marketing to machines
jonoalderson
1
5.7k
Transcript
None
None
The hotel wireless was terrible, sorry for the lack of
pictures.
$ whoami
$ whoami $ cat .profile | grep export export GIT_AUTHOR="Florian
Gilcher" export GIT_AUTHOR_EMAIL="
[email protected]
" export GITHUB_NICK="skade" export GITHUB_ORGANIZATIONS="asquera,padrino" export TWITTER_NICK="@argorak" export TM_COMPANY="Asquera GmbH"
@argorak
$ whoami Ruby Programmer since 2003 Now a consultant specialising
in backends... ... and team building. I run usergroups and organize conferences as a hobby.
http://asquera.de
http://padrinorb.com
http://eurucamp.org
“I don’t want to be woken up at night, so
I call myself a developer.”
I set out to present a more dev-minded perspective on
devops.
That was harder then I thought...
There’s a talk about the “transforming devs to devops” later
on.
git push developer mindsets/devops
Whats the benefit, if you don’t do a lot of
ops?
Vagrant Puppet Chef
Vagrant Puppet Chef
How did a devops mindset improve the software I write?
A bit of history about myself
I started my career in a typical agency job.
LAMP and the DEV/OPS split.
It wasn’t even that bad...
...until projects got special.
scale scope
Suddenly it turned out that one of the most efficient
teams was an admin, a programmer and a cup of coffee.
Example
An example One of our clients imports and reencodes videos
from a constantly changing number of sources each day.
Sources FTP upload FTP fetch RSS feeds RSS feeds that
are no RSS feeds And some more...
Destinations All of them need to be reencoded to a
standard set of sizes and bitrates.
Simple approach
Single program with architecture
Same architecture, 3 processes
Why?
Videos per day
Critical failures last year
Deployments last year
New ways of discussing things.
None
None
Practical things learned in the process.
... beyond writing daemons and stuff.
A different perspective on code.
Infrastructure as code.
Code for infrastructure.
Common CLI tools Common configurations styles Common way of doing
things
Gives insight Well managable Well automatable
In general, I care less about internal quality of programs
nowadays then about external quality.
My ugliest piece of code ran 1,5 years in production
without a change.
Nobody ever noticed how horrible it was.
I evaluate new software differently.
“Ease of setup” is a red flag.
This especially applies to new and fancy databases.
Not having to push any buttons to start working a
database is problematic, if not dangerous.
You might miss things along the way.
“Ease of non-trivial configuration” is far more important.
How to grade that?
Set up a production-like system.
Keep tally marks on how often it leaves you puzzled.
There is no such thing as “setting up production too
early.”
Everything before that is childs play.
The big bangs always happen in production.
My favourite: Expensive loadbalancers that die during configuration and need
to be shipped to the manufacturer.
Teams need to get used to their own systems.
Metrics and Logging are important in complex systems.
Most pure development teams underrate them and implement them too
late.
They should be there from day one.
Last but not least: internal tooling can save you a
lot of work.
Creative ways to talk about it even more.
None
But what about the humans?
Giving people say in many things makes them discuss many
things.
There are two things I rarely see in teams with
strict roles.
1. Platform refactorings
Why? It always means that individual roles loose ground.
Why? This can get political very quick.
Why? Lack of skill.
2. Code reviews
Why? Not enough staff that “is qualified” to review certain
code.
The devops mindset takes away a lot of friction.
Less asking permission, more doing.
When your frontend developer changes your backend API, your varnish
config, your deployment scripts and the puppet manifests before handing stuff off to review to implement a new feature, you are there.
Bonus points if said developer is the companies apprentice.
The devops mindset can be incredibly empowering.
Devops-minded teams can cope with missing team members easier.
Everyone knows what everything is roughly doing anyways.
Find hacks to gather and spread that knowledge across your
team!
None
To sum up:
Teams with a strong devops culture: can handle more complexity
Teams with a strong devops culture: can handle more complexity
can find more alternative approaches to problems.
Teams with a strong devops culture: can handle more complexity
can find more alternative approaches to problems. are more likely to find solutions that handle well in production.
Their immediate answers are more complex.
Thank you for listening.
How did devops change your development style?