3. What is Meshcloud?
Public Cloud Platform: IaaS, CaaS and PaaS
Open-Source: OpenStack + Cloud Foundry
European: Federation of local Service Providers
5. “Continuous Delivery is a software development discipline where you
build software in such a way that the software can be released to
production at any time.” - Martin Fowler
● Minimizes “Software Inventory”
● Enables rapid iteration on features based on customer feedback
● Minimizes update risk and cost of fixing bugs
● Requires automated test and deployment procedures
Continuous Delivery
6. Platform as a Service - Supporting CD
Microservice A Microservice B
Message Queue
Cluster
Database
Cluster
HA Load
Balancer
DevOps Goals
● Zero Downtime Deployments
● Failure Handling & Recovery
● Automated Scalability
● Security & Patching
● Supportable (Logging, Metrics)
● … while maintaining Developer
Productivity
7. Cloud Foundry
PaaS, based on a container architecture
Bring your own runC Containers
CF stores, distributes and scales your containers
Buildpacks for most languages
Deploying Containers
8. Cloud Foundry has lots of “Batteries Included” for a DevOps Team
● Loadbalancing
○ HA Loadbalancer managed by CF
○ Flexible Request Routing
○ TLS Termination
○ Automatic Instance Registration and De-registration
● Application Services
○ Managed databases (e.g. Postgres, MySQL), Caches (Redis), ...
○ Extensible through Service Broker API
● Logging and Metrics
○ Applications log to stdout, CF collects all logs
○ Loggregator syslog drain to tap into aggregated logs
Continuous Delivery with Cloud Foundry
9. ● Infrastructure as Code
○ Manifests declare required application services, network infrastructure, instance size,
...
○ Automate via CF CLI or CF API
● Automate Deployments to Dev / Staging / Prod
○ Identical environments in different cf spaces
○ CF injects Configuration into Applications
○ Quick to setup
● Blue/Green Deployments
○ High availability during deployment
○ Guards against failed deployments (e.g. App does not start)
Continuous Delivery with Cloud Foundry
10. Excursion: Deployment Pipelines
● All Container-based CI
● Just three Core Concepts
○ Tasks: Execution of a script in an isolated environment (= container)
○ Resources: Anything that can serve as versioned Input/Output
○ Jobs: Connect Tasks + Resources
■ Think: function with Input/Output (Job->Job = Pipeline)
Deployment Pipeline
pushing to different
CF environments
11. Cloud Foundry in the DevOps Ecosystem
● CF readily automates many common DevOps Tasks
○ Ideal for teams with lots of “dev” but little “ops” experience
● Make your own Control vs. Comfort Tradeoffs
■ Container vs. Buildpack Deployments
■ Container-to-Container Networking vs. shared Networking
● CF “vs.” Kubernetes
○ “Batteries included” vs. “pick and choose”
○ Both have their place and are converging on many features
■ CF is moving “down the stack” (e.g. container-to-container networking)
■ Kubernetes is moving “up the stack” (e.g. adoption of Service Broker API)
○ Important: Decide on Operation Model
■ Managed Platform & Service -> CF
■ Own Operations/DevOps Team -> K8s
○ You can have both (+ hybrid models) at Meshcloud☺