MARTIN HELMICH @mittwald
HOW TO
BUILD YOUR OWN
CLOUD PLATFORM
August 3rd, 2024
Slide 2
Slide 2 text
MARTIN HELMICH
Head of Architecture &
Developer Relations
Lecturer, Software Engineering
& Cloud Computing
Sci-Fi-Nerd, Metalhead,
Amateur Woodworker
Slide 3
Slide 3 text
Image Source
Slide 4
Slide 4 text
HOSTING
BACK THEN
Slide 5
Slide 5 text
HOSTING
BACK THEN
Slide 6
Slide 6 text
APACHE
PHP
MYSQL
HOSTING
BACK THEN
Slide 7
Slide 7 text
APACHE
PHP
MYSQL
... AND NOW
OPENSEARCH
KEYCLOAK
MOBILE
APP
...OR NODE.JS
DOCKER
PWA
NGINX
💥
...OR P
CDN
HOSTING
BACK THEN
BOOP
VARNISH
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
MITTWALD CLOUD PLATFORM
ARCHITECTURAL GOALS
FLEXIBILITY
RESOURCE
EFFICIENCY
(
INTERNAL
)
EASE OF USE
*) apart from obvious ones, like security, reliability and performance
*
PRODUCT SPECIFIC
K8S OPERATORS
K8S CORE
COMPONENTS
Slide 24
Slide 24 text
MACRO ARCHITECTURE
PRODUCT SPECIFIC
MICROSERVICES
PRODUCT SPECIFIC
K8S OPERATORS
K8S CORE
COMPONENTS
IaaS CLOUD DATA CENTER
Slide 25
Slide 25 text
ORGANIZATIONAL STRUCTURE
PRODUCT SPECIFIC
MICROSERVICES
PRODUCT SPECIFIC
K8S OPERATORS
K8S CORE
COMPONENTS
IaaS CLOUD DATA CENTER
PRODUCT
DEV TEAMS
CLOUD PLATFORM
TEAM
IaaS
+
NETWORK
TEAM
DATA CENTER
OPERATIONS
Slide 26
Slide 26 text
UNDER THE
HOOD
Slide 27
Slide 27 text
ON
PREM
YES
YES
NO
OPEN
SOURCE
NO
HOW
-
TO
CLOUD
Slide 28
Slide 28 text
OPEN
-
SOURCE
CLUSTER PROVISIONING
CLUSTER API
GARDENER
OPENSTACK
MAGNUM
WTF?
THE STORAGE
PROBLEM
(
TRADE
-
OFFS WHEREVER YOU LOOK
)
Slide 32
Slide 32 text
NODE
POD
LOCAL VOLUME
- Fast
-
(
When used as block device) can
be optimized for workloads
(e.g. XFS for databases)
- Limited scalability
- Inefficient resource utilization
- No networked access
- No HA
NODE
POD
â›”
CEPH
NETWORK BLOCK DEVICE
- Fast(ish)
- Can be optimized for workloads
(e.g. XFS for databases)
- Networked access by a single client
- Reasonably scalable (limited by FS
)
- Efficient resource utilization
- Various HA configurations with
different resource efficiencies and
performances
(replication & erasure coding)
â›”
CephFS
NETWORK FILE SYSTEM
- Fast(ish) with few large files
- Slow with many small files (tolerable with LOTS of caching)
- Networked access by multiple clients
- Various HA configurations with different resource efficiencies
and performances
(replication & erasure coding)
NETWORK OBJECT STORE
- No filesystem access, only via API
- Needs to be considered in
architecture on application level
- Very high scalability
- Networked access by multiple
clients
RBD
ROG
THE STORAGE
PROBLEM
(
TRADE
-
OFFS WHEREVER YOU LOOK
)
ROADMAP
INDIVIDUALIZED
CUSTOMER SOLUTIONS
3RD PARTY
EXTENSIBILITY
SCALABILITY
ELASTICITY
+
(
STRATEGIC
)
CONFIGURABLE
STORAGE OPTIONS
... AND WILD IDEAS
SCALE
-
TO
-
ZERO
HOSTING AI MODELS
3RD PARTY INFRASTRUCTURE
...AND MANY MORE
Slide 43
Slide 43 text
ACCEPT
COMPLEXITY
WHERE YOU NEED IT
(
AND MANAGE
ACCORDINGLY
)
KEEP IT SIMPLE
WHERE YOU DON'T
KNOW YOUR
PRODUCT