2. VSHN - The DevOps Company 22
Simply Call Us. V-SH-N. ˈvɪʒn, “vision”
3. VSHN - The DevOps Company
● Pain points & maturity
● Happy devs & customers
● Building blocks
● Implementation
33
Modern Software
Development
Move fast, don’t break things.
Boring
4. VSHN - The DevOps Company
● Cloud tooling is hard (so many options)
● Dev & Ops – where to draw the line?
● Automation engineering
● Monitoring unclear (availability, deployments, performance?)
● Cost increase (is the cloud expensive?)
● The market moves fast!
44
Situation Today
5. VSHN - The DevOps Company
● Cloud tooling
● Dev & Ops
● Automation
● Monitoring
● Cost increase
● The market
55
Where Do We Need To Go?
⇢ Comfortable with both tools & service platforms
⇢ Runs on my machine (and in the cloud)
⇢ Continuous improvement, project maintenance
⇢ Full transparency & focus on QA
(write tests, performance, security)
⇢ Short-lived branches, short time-to-market (features)
⇢ Easily switch between service platforms
6. VSHN - The DevOps Company
1. Automated tests
2. CI/CD, automation
3. DevOps culture
4. Cloud native
5. Avoid vendor lock-in
66
Building Blocks
8. VSHN - The DevOps Company 88
2.CI/CD,Automation
9. VSHN - The DevOps Company 99
3.DevOpsCulture
No more silos!
10. VSHN - The DevOps Company 1010
4.CloudNative
“Applications that scale & are resilient.”
11. VSHN - The DevOps Company 1111
5.VendorLock-In
Conventions
matter!
I shall apply
best practices
Separation
of concerns
12. VSHN - The DevOps Company
● Repository structure
● Application setup &
target environments
● Pipeline
1212
How do I
implement it?
Maximize your freedom.
13. VSHN - The DevOps Company
❏ app/
❏ main.py
❏ tests/
❏ test_main.py
❏ deployment/
❏ app
❏ Dockerfile
❏ uwsgi.ini
❏ webserver
❏ Dockerfile
❏ nginx.conf
❏ template-app.yml
❏ docs/
❏ .gitlab-ci.yml
❏ README.md
❏ tox.ini
1313
Repository Structure
Separate concerns!
CI/CD pipeline only
(no project business logic)
Conventions of
technology in use
14. VSHN - The DevOps Company
Avoid
● Lengthy setup instructions (README)
● Manual configuration steps
● Special scripts for setting up project
● config-local-dist.php & similar
● Disable linting, no tests
● A myriad of configuration files (and tools)
● Long-lived branches & git-flow
● Start monitoring late
● Start deploying late
Application & Target Environments
Favor
● Standard procedures for getting started
(short paragraph in README)
● Everything under version control (what is
needed to get started)
● Treat your dev machine as a (standard)
target environment
● Use getenv(‘VALUE’, ‘default’) etc.
● Short-lived feature branches
● Deploy & monitor from “commit 1”
1414
16. Application-side
● Apply “shift-left”
● Container-driven
● Same tools for
development and
deployment
16
16
How we ensure independence
Deployment-side
● No application-specific
details
● Standard approaches (CD)
● Keep platform-specific
differences to a minimum
17. Come visit us for a coffee!
VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch
vshn.ch/contact
Follow us on Twitter!
@vshn_ch
17
18. Join our team!
vshn.ch/jobs
Zur Erweiterung unseres Teams suchen
wir immer gute Frauen und Männer, die
wir anhand ihrer individuellen Stärken,
Erfahrungen und Wünsche in die
bestehenden Teams integrieren.
Bewirb dich noch heute!
Follow us on Twitter!
@vshn_ch
VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch
18