CloudFoundry is a mature and production-ready opensource Platform-as-a-Service. That can serve as standard app deployment and hosting platform for enterprise. This talk will focus around CloudFoundry capabilities as private-PaaS
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
OpenSlava 2014 - CloudFoundry inside-out
1. Antons Kranga
Accenture
CloudFoundry inside-out
October 17, 2014
Media Partner
Organizers
Top Media Partner
General Partner
Supporters
2. About me
Antons Kranga works at Innovation Center of Accenture Cloud
Platform. Antons is passionate DevOps evangelist. His work is to
research bleeding edge technologies in the Cloud Computing
domain with strong focus on automation.
6. Motivation for PaaS
Developer
App
IaaS VM
VM
VM
VM
How do I run my app?
How do I deploy services?
How do I scale…?
How I make HA …?
…? …? …?
7. Motivation for PaaS
Developer
App
IaaS VM
VM
VM
VM
How do I run my app?
How do I deploy services?
How do I scale my app?
How I make HA?
…? …? …?
8. Motivation for PaaS
Developer
App
IaaS VM
VM
VM
VM
I can use DevOps
How do I run my app?
How do I deploy services?
How do I scale my app?
How I make HA?
…? …? …?
chef
9. Motivation for PaaS
Developer
App
IaaS VM
VM
VM
VM
I can use PaaS
How do I run my app?
How do I deploy services?
How do I scale my app?
How I make HA?
…? …? …?
public?
private?
10. Motivation for PaaS
public PaaS private PaaS
gopivotal.com
heroku
openshift.com
Google App Engine
CloudFoudnry
OpenShift
OpsWorks
Deis
…
…
Do I want to share?
Do I want to own?
11. If answer is…
go
private
control (IaaS)
industrialize
DevOps dokku
13. CloudFoundry
Application
Containerization & Cluster
Scheduling
Automatic App Server &
OS Configuration
with Buildpacks
(“just push your app”)
Native & Extended
Data, Mobile and
Platform Services
Policy, Identity and
Roles Management
App Health
Management, Load
Balancing,
Rapid Scaling,
Availability Zones
IaaS Provisioning, Scaling &
Configuration
Application Network
Security Groups
Application to
Services
Binding and
Access
Logging as a service,
Application metrics &
performance,
Metric based scaling
15. Logical Architecture
Developer
App
push app
use app
User
router
health manager
cloud controller
dea
platrform-as-a-service
VM
VM
VM
…
VM
services
Service brokers
bosh
chef
manage manage
Op
java
buildpack
App App
App
App
16. Cloud
Formation
NAT Bosh
HAProxy
Route53 S3 Bucket
records
IAM
Inception
Server
Key Pair
upload
Public Network - 10.0.0.0/24
Private Network - 10.0.1.0/24
Services Network - 10.0.2.0/24
Nats
DEA CF
CF
MongoDB MySQL
RabbitMQ Redis
Logstash
Kibana
chef
Docker
CoreOS
AWS Deployment example
17. Multi AZ deployment
NAT Bosh
Route53 S3 Bucket
records
NAT Bosh
IAM
Logstash
Kibana
Inception
Server
Logstash
Kibana
Key Pair
upload
Public Network Z1 - 10.0.0.0/24
Private Network Z1 - 10.0.1.0/24
RabbitMQ
Services Network Z1
Nats
DEA CF
CF
MongoDB
MySQL
Redis
Router
Inception
Server
Public Network Z2 - 10.0.3.0/24
Private Network Z2 - 10.0.4.0/24
RabbitMQ
Services Network Z2
Nats
DEA CF
CF
MongoDB
MySQL
Redis
Router
ELB
AZ1 AZ2
18. CloudFoundry Services
1 Vendor Services 2 Community Services 3 User Services Legacy Services
MySQL Redis Pivotal HD
RabbitMQ
API
Gateway
COMING SOON…
DataSync
MongoDB
Push
Notifications
Riak
Mobile
Services
Gemfire
Legacy database
App Auto-scaling
Cassandra
Elasticsearch
Jenkins
Memcached
Neo4j
Git
4
Legacy Application that cannot
be deployed as part of Cloud
Foundry
ELK Stack
(Elasticsearch
Logstash
Kibana)
Oracle XE
admin UI consul
SSL Proxy
Persistent
File System
mesos
zookeeper etcd
20. Why BOSH
Op
VM VM VM
infrastructure
VM
deployments
BOSH
cli
stemcell
releases
agent agent agent agent
store
cpi
…
stemcell image
downlaod
installables
do patching
scale deployment
resurect vm
…
23. Logical Architecture
router
health manager
cloud controller
dea
App App
CloudFoundry
App
App
Garden container: API for containers. To
support other containers such as docker
Executor: daemon that runs tasks and
apps (LRP) inside containers
Auctioneers: runs auctions, collects bids
and chooses the winner executor to
place app
Rep: represents executor in auction.
Contains executor metrics such as
amount of free resources (RAM, CPU)
Metron: monitors metrics that can be
used to bid in auctions
Garden provides a platform-neutral API for containerization. Backends implement support for various specific platforms. So far, the list of backends is as follows: