Antons Kranga 
Accenture 
CloudFoundry inside-out 
October 17, 2014 
Media Partner 
Organizers 
Top Media Partner 
General Partner 
Supporters
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.
Motivation 
3
Motivation for PaaS 
Developer 
App 
Cloud?
Motivation for PaaS 
Developer 
App 
IaaS
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 …? 
…? …? …?
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? 
…? …? …?
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
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?
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?
If answer is… 
go 
private 
control (IaaS) 
industrialize 
DevOps dokku
CloudFoundry 
12
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
Foundation 
OpenSource CEAP 
rackspace
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
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
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
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
recursive abbreviation: BOSH Outline Shell 
19 
BOSH
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 
…
stays for DEA in go 
21 
Diego
Logical Architecture 
router 
health manager 
cloud controller 
dea 
App App 
CloudFoundry 
App 
App
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
Auction example 
diego-cell1 
Auctioneer 
metron 
rep executor 
diego-cell2 
metron 
rep executor 
diego-cell3 
metron 
rep executor 
App App 
App App 
App App 
App App 
App App 
App App 
App App App 
App App 
App 
App App App 
App 
etcd 
garden-docker garden-docker garden-docker 
App 
App 
App 
AZ1 
etcd 
AZ2 
256MB-RAM 
128MB-HDD 
RepBid RepBid RepBid
25 
Quick Demo
Ask questions or rate the Speaker 
www.sli.do/openslava

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 AntonsKranga 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.
  • 3.
  • 4.
    Motivation for PaaS Developer App Cloud?
  • 5.
    Motivation for PaaS Developer App IaaS
  • 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
  • 12.
  • 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
  • 14.
  • 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 NATBosh 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 1Vendor 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
  • 19.
    recursive abbreviation: BOSHOutline Shell 19 BOSH
  • 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 …
  • 21.
    stays for DEAin go 21 Diego
  • 22.
    Logical Architecture router health manager cloud controller dea App App CloudFoundry App App
  • 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
  • 24.
    Auction example diego-cell1 Auctioneer metron rep executor diego-cell2 metron rep executor diego-cell3 metron rep executor App App App App App App App App App App App App App App App App App App App App App App etcd garden-docker garden-docker garden-docker App App App AZ1 etcd AZ2 256MB-RAM 128MB-HDD RepBid RepBid RepBid
  • 25.
  • 26.
    Ask questions orrate the Speaker www.sli.do/openslava

Editor's Notes

  • #24 Garden provides a platform-neutral API for containerization. Backends implement support for various specific platforms. So far, the list of backends is as follows: