Finding your Sweet Spot on the Cloud Computing Continuum

Victor Ionescu

Lead IT Consultant | Technical Guidance Unit

msg systems Romania

ivictor88

Why this talk?

ivictor88

Where is YOUR added VALUE?

ivictor88

The Cost of Delivering Value

Networking

Security

Servers

Value

Services

Operations

ivictor88

Choice

ivictor88

Common Sense

- @benikbauer

 

You have to know the past to understand the present

 

-- Dr. Carl Sagan

ivictor88

The "legacy" approach

Ops

OS & Runtime

Services

Apps

Infrastructure

Dev

ivictor88

App

Value

"Overhead"

Infrastructure

Runtime & Deps

Services

Apps

The advent of "Cloud"

Ops

"Cloud-Ops"

ivictor88

Dev

Infrastructure

App

The real game changer

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

IaaS/CaaS/PaaS/FaaS ..

Drawing the lines

ivictor88

-- Commoditization of Containers

Infrastructure

App

Container Orchestration

Container

Security

Runtime

CaaS

Network

Services

Dev/Ops

Overhead

Value

ivictor88

Infrastructure

Container Orchestration

Container

Security

Runtime

PaaS

Network

Container

Runtime

Security

Network

Services

App

Dev/Ops

Overhead

Value

adds:

  • Services
  • Networking
  • Container from Code (opt.)

ivictor88

Infrastructure

Container Orchestration

Container

Runtime

FaaS

Container

Runtime

Security

Network

Services

Eventing

Func

Func

Func

Func

Func

Func

Func

Func

Dev/Ops

Eventing

Overhead

Value

  • Eventing (native)
  • Focus on pure Value
  • Ecosystem maturity!

!!

Reasoning about Moving Up and Down the Stack

ivictor88

Buy or DIY?

ivictor88

consider:

  • (Total) Costs
  • Skills
  • Risk

ivictor88

  • Not a "YES/NO" question
  • There's always some degree of lock-in
  • Ask other questions

A word on Vendor Lock-In

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

Building on Kubernetes vs. Cloud Foundry

A side-by-side comparison

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

Brief Look into the FaaS World

Project Riff on Knative

Knative Build

Knative Eventing

Knative Serving

Kubernetes

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

Takeaway

Where is your added value? Focus on your expertise

Use Common sense. Avoid

Hype-Driven-Development

Use higher level abstractions whenever possible

Thanks for your attention!

ionescuv.github.io

@ivictor88

Victor Ionescu

msg systems, Technical Guidance Unit

Finding your Sweet Spot on the Cloud Computing Continuum

By Victor Ionescu

Finding your Sweet Spot on the Cloud Computing Continuum

DevTalks Cluj

  • 1,783