Going Cloud Native
Scars and all
Photo by Vladimir Anikeev on Unsplash
David Schmitz
How can we execute a Cloud
Transformation successfully?
@koenighotze
David Schmitz
https://de.wikipedia.org/wiki/Schlangen%C3%B6l
@koenighotze
David Schmitz
Impossible!
https://de.wikipedia.org/wiki/Schlangen%C3%B6l
@koenighotze
David Schmitz
Impossible!
Super easy! Barely an
inconvenience
https://de.wikipedia.org/wiki/Schlangen%C3%B6l
Some things learned while moving large financial institutes
into the public cloud
Some things learned while moving large financial institutes
into the public cloud
Architecture, tech, processes and culture and organisation
Some things learned while moving large financial institutes
into the public cloud
Architecture, tech, processes and culture and organisation
What worked for us, what may work for you
Some things learned while moving large financial institutes
into the public cloud
Architecture, tech, processes and culture and organisation
What worked for us, what may work for you
Each topic could be a whole workshop or project
@koenighotze
David Schmitz
David Schmitz
CTO @ Senacor Technologies
Coding architect with focus on cloud
and engineering efficiency
David Schmitz
Stepping back
Reasons to migrate to the cloud
David Schmitz
Efficiency
David Schmitz
We don’t know what the customers
really want
David Schmitz
We don’t know what the customers
really want
Fast iterations are the only way to
validate hypotheses
David Schmitz
We don’t know what the customers
really want
Fast iterations are the only way to
validate hypotheses
Our businesses are only as strong and
fast as their IT
@koenighotze
David Schmitz
Slow and
inefficient IT
Ideas
Production
@koenighotze
David Schmitz
Slow and
inefficient IT
Ideas
Production
@koenighotze
David Schmitz
Slow and
inefficient IT
Ideas
Production
The IT must be efficient if we want to
stay competitive!
@koenighotze
David Schmitz
Home-
grown
e2e IT
Focus on
essentials
Custom
Cloud,
SaaS
Classic
IT
@koenighotze
David Schmitz
Custom
Cloud,
SaaS
Classic
IT
How does implementing a load
balancer improve our business?
@koenighotze
David Schmitz
Cloud
Transformation
Blocks
Architecture
Technology and
Tooling
Data
Security,
Compliance and
Governance
@koenighotze
David Schmitz
Cloud
Transformation
Blocks
Architecture
Technology and
Tooling
Data
Security,
Compliance and
Governance
Culture and
Organisation
Photo by Markus Spiske on Unsplash
“Marie Kondo” your IT
Photo by Markus Spiske on Unsplash
@koenighotze
David Schmitz
Re-architect
Retire
Replace
Lift-and-Shift
@koenighotze
David Schmitz
Re-architect
Retire
Replace
Lift-and-Shift
@koenighotze
David Schmitz
Re-architect
Retire
Replace
Lift-and-Shift
@koenighotze
David Schmitz
Re-architect
Retire
Replace
Lift-and-Shift
@koenighotze
David Schmitz
Re-architect
Retire
Replace
Lift-and-Shift
@koenighotze
David Schmitz
Re-architect
Retire
Replace
Lift-and-Shift
@koenighotze
David Schmitz
Effort
Effectiveness
@koenighotze
David Schmitz
Effort
Effectiveness
The proper approach depends on your strategy and goals.
There is no “best” answer - context matters
?
@koenighotze
David Schmitz
In the end
it probably
will be a
hybrid
approach
@koenighotze
David Schmitz
Fast moving
cloud native
products
Slower moving
on-prem assets
In the end
it probably
will be a
hybrid
approach
@koenighotze
David Schmitz
The cloud native
products will
require changes
to the on-prem
assets
BUT!
@koenighotze
David Schmitz
Network
Access control
APIs
Availability
…
BUT!
Trap: two speed-IT
Trap: two class-IT
@koenighotze
David Schmitz
Cloud
On-Prem
Speedboat
Agile
Modern
Forwards
Tanker
Waterfall
Legacy
Backwards
@koenighotze
David Schmitz
What we want and need
@koenighotze
David Schmitz
What we want and need
Collaboration
@koenighotze
David Schmitz
What we want and need
Collaboration
Expertise
@koenighotze
David Schmitz
What we want and need
Collaboration
Expertise
End-to-End ownership
@koenighotze
David Schmitz
What we get instead
@koenighotze
David Schmitz
What we get instead
Resentment
@koenighotze
David Schmitz
What we get instead
Resentment
Non-commitment
@koenighotze
David Schmitz
What we get instead
Resentment
Non-commitment
Sabotage
@koenighotze
David Schmitz
Effort
Effectiveness
Impact on organisation as the
3rd dimension
@koenighotze
David Schmitz
Effort
Effectiveness
Impact on organisation as the
3rd dimension
Bring everybody to the table, cloud
experts, on-prem experts,…
https://unsplash.com/@akson
@koenighotze
David Schmitz
Bring everybody
on board
@koenighotze
David Schmitz
Bring everybody
on board
Re-train
@koenighotze
David Schmitz
Bring everybody
on board
Re-train
New roles
@koenighotze
David Schmitz
Bring everybody
on board
Re-train
New roles
New jobs
@koenighotze
David Schmitz
Bring everybody
on board
Re-train
New roles
New jobs
Mix teams
@koenighotze
David Schmitz
Bring everybody
on board
Re-train
New roles
New jobs
Mix teams
Be transparent
@koenighotze
David Schmitz
Bring everybody
on board
Re-train
New roles
New jobs
Mix teams
Be transparent
Offer perspectives
What skills do you need in a “Cloud
native” feature team?
https://unsplash.com/@priscilladupreez
David Schmitz
Why
DevOps?
David Schmitz
Why
DevOps?
Achieve best performance in
your software development
and delivery
David Schmitz
Why
DevOps?
Achieve best performance in
your software development
and delivery
Improve technical and cultural
capabilities
David Schmitz
Why
DevOps?
Achieve best performance in
your software development
and delivery
Improve technical and cultural
capabilities
Move towards a highly efficient
engineering organization
David Schmitz
s/Ops/DevOps/g
David Schmitz
s/DevOps/SRE/g
David Schmitz
Same job, only using Terraform?
David Schmitz
Adopting a DevOps culture and
mindset is key to becoming an
efficient software delivery organization
@koenighotze
David Schmitz
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
Really good and secure Docker
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
Really good and secure Docker
Google Kubernetes Engine
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
Really good and secure Docker
Google Kubernetes Engine
BigTable
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
Really good and secure Docker
Google Kubernetes Engine
BigTable
Google Cloud SQL
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
Really good and secure Docker
Google Kubernetes Engine
BigTable
Google Cloud SQL
Terraform and Terratest
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
Really good and secure Docker
Google Kubernetes Engine
BigTable
Google Cloud SQL
Terraform and Terratest
Key Management
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Java and SpringBoot
React
Testing with Gatling
Gitlab Workflows
Docker
Really good and secure Docker
Google Kubernetes Engine
BigTable
Google Cloud SQL
Terraform and Terratest
Key Management
…
DevOps-based
full-stack
rockstar team
@koenighotze
David Schmitz
Team A Team B Team C
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Team A Team B Team C
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Redundant effort
Team A Team B Team C
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Redundant effort
Maintenance burden
Team A Team B Team C
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Redundant effort
Maintenance burden
No shared knowledge
Team A Team B Team C
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Redundant effort
Maintenance burden
No shared knowledge
No lessons learned
Team A Team B Team C
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Redundant effort
Maintenance burden
No shared knowledge
No lessons learned
Autonomy gone haywire
Team A Team B Team C
Everybody loves K8S
Everybody hates debugging K8S
https://unsplash.com/@cdc
@koenighotze
David Schmitz
David Schmitz
Manifest learnings and
practises as
Infrastructure Products
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Persistence
Security
CI/CD
…
Team A Team B Team C
@koenighotze
David Schmitz
Persistence
Security
CI/CD
…
Team A Team B Team C
@koenighotze
David Schmitz
CI/CD Runtime Security
Chaos Test Monitoring Persistence
Governance
…
The platform team builds products that
capture good-practises and lessons learned
Team A Team B Team C
@koenighotze
David Schmitz
CI/CD Runtime Security
Chaos Test Monitoring Persistence
Governance
…
Team A Team B Team C
The platform teams build products that
capture good-practises and lessons learned
Trap: Fix-it-fast-tiger-team
@koenighotze
David Schmitz
Team A Team B Team C
Eager
manager
Production
@koenighotze
David Schmitz
Team A Team B Team C
Eager
manager
Production
I NEED MY FEATURES
NOW! I DO NOT CARE
WHAT YOU HAVE BEEN
WORKING ON.
GET IT DONE ASAP!!!!
WOHA!!!! BUT FIRST FIX
AND OPTIMISE THE
PRODUCTION
MONGODB…FAST!
NO NO NO!!! WE WANT
TO USE RUST BECAUSE
IT IS NICE! SO BUILD
US A PIPELINE FOR
THAT
David Schmitz
Platform teams must be handled as any other feature
team with clear customer / producer relations
Builds
products
for
teams
Team B
Team A
Team C
David Schmitz
Starting with full-stack teams and
then migrating towards platform
teams combines learning and maturity
Team B
Team A
Team C
Platform team
Start of Cloud Journey
@koenighotze
David Schmitz
Don’t establish a hidden 2-class-IT
with the platform team
@koenighotze
David Schmitz
Team A Team B Team C
Cool new
tech
Only business
churn
@koenighotze
David Schmitz
Team A Team B Team C
Beware the platform bottleneck
Ideas
Ideas
Ideas
@koenighotze
David Schmitz
Team A
Instead: Inner-Source
Submit Pull Request
Go CI/CD
pipeline
Build
solution
But, we cannot do this with security, or
can we?
https://unsplash.com/@joshredd
@koenighotze
David Schmitz
Dev starts Prod rollout
@koenighotze
David Schmitz
Dev starts Prod rollout
Panicked
security fixing
@koenighotze
David Schmitz
Dev starts Prod rollout
Security is part of
Development
David Schmitz
DevSecOps
As with
operations, work
closely with
security experts
right from the
start and not as
an afterthought
@koenighotze
David Schmitz
New developer-
oriented security
tools bring new
opportunities
@koenighotze
David Schmitz
Most checks
can happen
as part of the
delivery
pipeline
David Schmitz
David Schmitz
David Schmitz
Apply the DevOps mindset to all
aspects of collaborative software
development
In closing
https://unsplash.com/@wflwong
David Schmitz
How do we know if we are
“there” yet?
David Schmitz
Mindset: There is no “there”, only
continuous improvement
David Schmitz
Deployment frequency
Lead time
MTTR
Change fail percentage
Move fast without breaking
everything all the time
4 key metrics
give guidance
and allow us to
measure
progress
David Schmitz
Deployment frequency
Lead time
MTTR
Change fail percentage
Especially without breaking our
culture and people
@koenighotze
David Schmitz
@koenighotze
David Schmitz
Organisation and culture
are the biggest
challenges
@koenighotze
David Schmitz
Organisation and culture
are the biggest
challenges
Rethink everything -
especially the processes
@koenighotze
David Schmitz
Organisation and culture
are the biggest
challenges
Rethink everything -
especially the processes
Build a relevant slice as
soon as possible
@koenighotze
David Schmitz
Organisation and culture
are the biggest
challenges
Rethink everything -
especially the processes
Build a relevant slice as
soon as possible
Assume best intend
David Schmitz
Cloud can release new energy in
development teams
David Schmitz
Cloud can release new energy in
development teams
Experimentation and continuous
improvement and learning
David Schmitz
Cloud can release new energy in
development teams
Experimentation and continuous
improvement and learning
Bring the best minds together and allow
the best idea to win
@koenighotze
David Schmitz
David Schmitz
It is all about the people
@koenighotze
David Schmitz
Thank you for your
attention and time!
David Schmitz
CTO / Partner Principal
M +49 (162) 4382 168
David.Schmitz@senacor.com

Going Cloud Native