Victor Ionescu
Lead IT Consultant | Technical Guidance Unit
msg systems Romania
ivictor88
ivictor88
ivictor88
Networking
Security
Servers
Value
Services
Operations
ivictor88
ivictor88
- @benikbauer
You have to know the past to understand the present
-- Dr. Carl Sagan
ivictor88
Ops
OS & Runtime
Services
Apps
Infrastructure
Dev
ivictor88
App
Value
"Overhead"
Infrastructure
Runtime & Deps
Services
Apps
Ops
"Cloud-Ops"
ivictor88
Dev
Infrastructure
App
Container Orchestration
Container
Security
Runtime
App
Container
Runtime
Network
Services
ivictor88
Infrastructure
App
Container Orchestration
Container
Security
Runtime
App
Container
Runtime
Network
Services
ivictor88
"Overhead"
App
Container
Runtime
Value
IDEs,
Tooling,
Debug
CI/CD
Containerization
Infrastructure
App
Container Orchestration
Container
Security
Runtime
App
Container
Runtime
Network
Services
ivictor88
Compute, Storage
Subnets,
Public/Private Network
Configure Routing
Database
Configure
Monitoring, Tracing, Logging
Run, Check, Scale
Messaging
"Overhead"
App
Container
Runtime
Value
Authentication & Authorization
Day 2 Operations
Monitor,
Patch,
Upgrade
ivictor88
ivictor88
-- Commoditization of Containers
Infrastructure
App
Container Orchestration
Container
Security
Runtime
Network
Services
Dev/Ops
Overhead
Value
ivictor88
Infrastructure
Container Orchestration
Container
Security
Runtime
Network
Container
Runtime
Security
Network
Services
App
Dev/Ops
Overhead
Value
adds:
ivictor88
Infrastructure
Container Orchestration
Container
Runtime
Container
Runtime
Security
Network
Services
Eventing
Func
Func
Func
Func
Func
Func
Func
Func
Dev/Ops
Eventing
Overhead
Value
!!
ivictor88
ivictor88
consider:
ivictor88
degree of lock-in
cost of break-out
Likelihood?
"Of course it does! Because it also provides higher value!"
"A platform subscription costs more" (than CaaS or IaaS)
"Have you considered ALL the costs for running your own platform?"
"A specialized vendor can probably provide the same service at a cheaper rate"
ivictor88
"Just because you can do something, doesn't mean you should"
"It's a piece of cake. I can do it by myself"
"Everyone likes to forget Day 2 :)"
"A specialized vendor can probably provide a higher quality service"
ivictor88
"They might have the need (and the skills) for it. Do you?"
"Company X has their own Kubernetes cluster, we need one too"
"Avoid Hype Driven Development"
"Why not use a higher level abstraction?"
ivictor88
Kubernetes is basically the standard solution for container orchestration, however..
ivictor88
ivictor88
simple,
but opinionated
flexible,
but complex
cf push nodeapp --hostname webapi
cf bind-service nodeapp postgres_db
Node.JS sources
Node.JS sources
App Container
Pod
Postgres
PersistentVolume
ConfigMap
Pod
Service
Ingress
kubectl apply -f ...
CF Buildpacks
Detecting buildpack:
staticfile_buildpack..
java_buildpack..
nodejs_buildpack..
ruby_buildpack.. MATCHED!
app.
Buildpack detection
CF Service Brokers
Service Brokers
Distributed Cache
Database
Messaging
...
ivictor88
Container
Runtime
Func
module.exports = x => {
const xx = x ** 2;
console.log(`the square of ${x} is ${xx}`);
return xx;
}
function source code
> riff function create node squareFunc
Most companies do not have the competence to build or run their own platform
ivictor88
Where is your added value? Focus on your expertise
Use Common sense. Avoid
Hype-Driven-Development
Use higher level abstractions whenever possible
ionescuv.github.io
@ivictor88
Victor Ionescu
msg systems, Technical Guidance Unit