SlideShare a Scribd company logo
1 of 40
Cloud Foundry
Overview
Compiled by Rajdeep Dua
VMware India

twitter : @rajdeepdua

Friday, November 15, 13

1
Cloud Computing Pyramid

Friday, November 15, 13

2
Paas Players

Friday, November 15, 13

3
What is Cloud Foundry
•
•
•
•

Friday, November 15, 13

OpenSource Paas Platform
Supports Multiple Frameworks
Supports Multiple Services
Can be run on Public or Private Infrastructure

4
Cloud Foundry
Frameworks Supported

•
•
•
•
•

Friday, November 15, 13

Java : Java Web Apps, Spring, Play
Ruby : Rails, Sinatra
Scala : Play
Node.js
Custom Runtime : Using BuildPacks

5
Cloud Foundry
Services Supported

•
•
•
•
•

Friday, November 15, 13

SQL : PostgreSQL , MySQL
NoSQL : MongoDB, Redis
Messaging : RabbitMQ
Hadoop from TreasureData
Email Service from SendGrid

6
Cloud Foundry Marketplace
$ cf services --marketplace
Getting services... OK
service
blazemeter
cleardb
cloudamqp
elephantsql
loadimpact
mongolab
newrelic
rediscloud
sendgrid
treasuredata

Friday, November 15, 13

version
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a

provider
blazemeter
cleardb
cloudamqp
elephantsql
loadimpact
mongolab
newrelic
garantiadata
sendgrid
treasuredata

plans
free-tier
spark
lemur
turtle
lifree
sandbox
standard
20mb
free
nano

description
The JMeter Load Testing Cloud
Highly available MySQL for your Apps.
Managed HA RabbitMQ servers in the cloud
PostgreSQL as a Service
Cloud-based, on-demand website load testing
Fully-managed MongoDB-as-a-Service
Manage and monitor your apps
Enterprise-Class Redis for Developers
Email Delivery. Simplified.
Hadoop-based Cloud Data Warehouse

7
Application Lifecycle with
Cloud Foundry

Friday, November 15, 13

8
Organization and Spaces

•

Friday, November 15, 13

Organizations and Spaces are the main organizational units in which
applications, services, domains, routes, and users are contained

9
Organization
Organization : Top Level Meta
Object

Friday, November 15, 13

10
Spaces
•

Spaces : Organization is
mapped to Multiple - Spaces.

•

Default : development, staging
and production

•

1
*

Each Organization can have one
or more spaces

Friday, November 15, 13

11
Domains
•

Each space is associated with
one or more Domains
1

•
•
•

Default Domain is cfapps.io
Each Space has one or more
Domains

*
*

1
1
*

1
*

Space has one or more
Applications and Services

Friday, November 15, 13

12
Routes
•

A route, based on a domain with
an optional host as a prefix, may
be associated with one or more
applications

•

A Route can be associated with
one or more Applications

Friday, November 15, 13

13
Cloud Foundry Architecture

Friday, November 15, 13

14
Architectural Elements
•
•
•
•

Friday, November 15, 13

No Single Point of Failure
Self Healing
Distributed Architecture
Horizontal Scaling

15
Cloud Foundry Layers

Friday, November 15, 13

16
Cloud Foundry Runtime

Friday, November 15, 13

17
Cloud Foundry Runtime

Friday, November 15, 13

18
Cloud Controller
•
•

Interfaces with development tool
requests

•

Maintains the Orgs, Spaces, Services
using CC_DB PostgreSQL database

•

Uses NATS Messaging for interacting
with DEA, UAA, Services and Health
Manager

•

Friday, November 15, 13

Heart of Cloud Foundry
Orchestration

Written using Sinatra Framework

19
DEA - Execution Agent

• Manages the Warden
Containers
• Stages the App as a
Droplet
• Run Droplets as App
Instances

Friday, November 15, 13

20
Components of DEA
•

Directory Server : Maps
Application Ids to the actual
Application Instances running
inside Warden Containers

•

Stagers

•
•

Take request from Cloud
Controller and create a
Droplet from the Build Pack

Manage the Warden Containers
which run the App Instances

Friday, November 15, 13

21
DEA - Application Isolation

Friday, November 15, 13

22
App Staging Process

Friday, November 15, 13

23
Router
• Routers requests coming
from External entities to
DEA, Cloud Controller,
Services or UAA
• Written in Go language to
be able to serve HTTP and
TCP Requests

Friday, November 15, 13

24
Components of the Router
•

Registry : Maintains a Map of URI to the Route
Endpoint
•

Register an App

•

Unregister an App

•

Proxy : Where all the Requests are routed and
passed on to Request Handler

•

Request Handler : Handles the following requests
•

Friday, November 15, 13

Http, TCP and Web socket requests

25
Services
• Manages the Service
Lifecycle and connects the
Services and the Apps
• Requests come in from
Cloud controller for
provisioning, un
provisioning of a service

Friday, November 15, 13

26
Service Components
•

All the incoming requests are handled by
AsynchronousServiceGateway

•

Requests Handled by ServiceGateway
★
★

Bind/Unbind a provisioned Service Instance to an
Application

★

Create/Get/Update a Service Snapshot

★

Enumerate a Snapshot

★

Friday, November 15, 13

Provision / Un provision an Instance of a Service

Service Migration
27
Build Packs
•

Friday, November 15, 13

Used to prepare a deployable Image of an
Application

28
Build Packs
•

•

Friday, November 15, 13

Three Standard Build Packs shipped with Cloud
Foundry

•
•
•

Java Build Pack
Node.js Build Pack
Ruby Build Pack

Cloud Foundry Build Packs are compatible with
Heroku Build Packs

29
Java Build Pack
Choice of
•
•

Groovy

•

Spring Boot CLI

•

Tomcat

•

Play JPA Pluggin

•

Friday, November 15, 13

OpenJDK Version

New Relic

30
Ruby Build Pack
• Multiple Ruby and Bundler versions
• Default is 1.9.3
• Supported Ruby Versions 1.8.7, 1.9.2, 1.9.3, 2.0.0

Node.js Build Pack

•

Multiple Node.js and npm
versions

Friday, November 15, 13

31
Java Build Pack
Containers

Frameworks

Java
Tomcat
Groovy
Play
Spring Boot CLI

Spring
Play
Play JPA
New Relic

JRE

OpenJDK

Friday, November 15, 13

32
Java Build Pack - Java and Play
Frameworks

Containers

Java
Play
Tomcat
Groovy
Spring Boot CLI
JRE
OpenJDK

Spring
Play
Play JPA
New Relic

Java
Detection :
Supports Java Application with main() method :
Main-Class attribute set in META-INF/
MANIFEST.MF for the JAR OR java_main_class set
in Build packs’ config/main.yml
Tags : java-main

Play
Detection : The Play start script and the Play
runtime JAR exist in the appropriate subdirectories
Tags : play-framework=<version>

Friday, November 15, 13

33
Java Build Pack - Tomcat
Frameworks

Containers

Java
Play
Tomcat
Groovy
Spring Boot CLI
JRE
OpenJDK

Spring
Play
Play JPA
New Relic

Tomcat
Detection :
Existence of a WEB-INF/ folder in the application directory
and Java Main Class not detected
Tags : tomcat=〈version〉, tomcat-buildpacksupport=〈version〉
Configuration :
repository_root : The URL of the tomcat repository
version

: The version of tomcat to use.

#	
  Configuration	
  for	
  the	
  Tomcat	
  container
-­‐-­‐-­‐
version:	
  7.0.+
repository_root:	
  "http://download.pivotal.io.s3.amazonaws.com/tomcat"
support:
	
  	
  version:	
  1.1.+
	
  	
  repository_root:	
  "http://download.pivotal.io.s3.amazonaws.com/tomcat-­‐buildpack-­‐support"
Friday, November 15, 13

34
Java Build Pack - Groovy
Frameworks

Containers

Java
Play
Tomcat
Groovy
Spring Boot CLI
JRE
OpenJDK

Spring
Play
Play JPA
New Relic

Groovy
Detection :
•
•
•

A .groovy file exists which has a main() method, or
A .groovy file exists which is not a POGO (a POGO
contains one or more classes), or
A .groovy file exists which has a shebang (#!)
declaration

Tags : groovy=〈version〉
Configuration
repository_root : The URL of the Groovy
repository
version
: The version of Groovy to use.

#	
  Configuration	
  for	
  the	
  Groovy	
  container
-­‐-­‐-­‐
version:	
  2.1.+
repository_root:	
  "http://download.pivotal.io.s3.amazonaws.com/groovy"

Friday, November 15, 13

35
Java Build Pack - Groovy
Frameworks

Containers

Java
Play
Tomcat
Groovy
Spring Boot CLI
JRE
OpenJDK

Spring
Play
Play JPA
New Relic

Spring Boot ClI : Allows creation of Spring and Java Apps
Detection :
•
•
•
•

A .groovy file exists which has a main() method, or
A .groovy file exists which is not a POGO (a POGO contains one or
more classes), or
A .groovy file exists which has a shebang (#!) declaration
The application does not have a WEB-­‐INF subdirectory of its root
directory.

Tags : spring-boot-cli=〈version〉
Configuration
repository_root : The URL of the Spring Boot Cli
repository
version
: The version of Spring Boot Cli to use.

#	
  Configuration	
  for	
  the	
  Groovy	
  container
-­‐-­‐-­‐
version:	
  0.5.0_+
repository_root:	
  "http://download.pivotal.io.s3.amazonaws.com/spring-­‐boot-­‐cli"

Friday, November 15, 13

36
Java Build Pack - Spring Auto
Reconfig
Containers

Java
Play
Tomcat
Groovy
Spring Boot CLI

Framework

JRE
OpenJDK

Spring Config
Play
Play JPA
New Relic

Spring Auto Reconfiguration
Framework : Reconfigures the Application to be bound
to Cloud Services
Detection :
•

Existence of a spring-­‐core*.jar file in the application
directory

Tags : spring-­‐auto-­‐reconfiguration=<version>
Configuration
repository_root : Auto Reconfiguration repository
version
: The version of Auto Reconfiguration repository
to use.

-­‐-­‐-­‐
version:	
  0.+
repository_root:	
  "http://download.pivotal.io.s3.amazonaws.com/auto-­‐reconfiguration"

Friday, November 15, 13

37
Java Build Pack -OpenJDK
Containers

Java
Play
Tomcat
Groovy
Spring Boot CLI

Framework
Spring Config
Play
Play JPA
New Relic

JRE
OpenJDK
-­‐-­‐-­‐
repository_root:	
  "http:...”
version:	
  1.7.0_+
memory_sizes:
	
  	
  permgen:	
  64m..
memory_heuristics:
	
  	
  heap:	
  75
	
  	
  permgen:	
  10
	
  	
  stack:	
  5
	
  	
  native:	
  10
Friday, November 15, 13

OpenJDK Framework :
Reconfigures the Application to be bound to
Cloud Services
Detection : Unconditional
Tags : openjdk=〈version〉
Configuration
repository_root :
version
:
memory_sizes	
  :
memory_heuristics	
  :	
  	
  	
  	
  	
  	
  

38
Java Build Pack -OpenJDK Config
File
Containers

Java
Play
Tomcat
Groovy
Spring Boot CLI

Framework
Spring Config
Play
Play JPA
New Relic

JRE
OpenJDK

Friday, November 15, 13

OpenJDK Framework :
-­‐-­‐-­‐
repository_root:	
  "http:...”
version:	
  1.7.0_+
memory_sizes:
	
  	
  permgen:	
  64m..
memory_heuristics:
	
  	
  heap:	
  75
	
  	
  permgen:	
  10
	
  	
  stack:	
  5
	
  	
  native:	
  10

39
Summary
•
•
•

Cloud Foundry is a Polyglot Open Source Paas

•

Avoids vendor lock-in

Friday, November 15, 13

Can be run on Public or Private Cloud
It is Iaas agnostic : Supports vSphere, AWS,
OpenStack

40

More Related Content

What's hot

WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 

What's hot (20)

Demystifying puppet
Demystifying puppetDemystifying puppet
Demystifying puppet
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundry
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
 
What's New in Docker 1.12?
What's New in Docker 1.12?What's New in Docker 1.12?
What's New in Docker 1.12?
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&A
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
Docker swarm-mike-goelzer-mv-meetup-45min-workshop 02242016 (1)
Docker swarm-mike-goelzer-mv-meetup-45min-workshop 02242016 (1)Docker swarm-mike-goelzer-mv-meetup-45min-workshop 02242016 (1)
Docker swarm-mike-goelzer-mv-meetup-45min-workshop 02242016 (1)
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
 
Docker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup SlidesDocker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup Slides
 
"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis Romanuk"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis Romanuk
 
LISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground RunningLISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground Running
 
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
 
Docker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slidesDocker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slides
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Container Orchestration with Docker Swarm
Container Orchestration with Docker SwarmContainer Orchestration with Docker Swarm
Container Orchestration with Docker Swarm
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
 

Viewers also liked

Code Signing with CPK
Code Signing with CPKCode Signing with CPK
Code Signing with CPK
Zhi Guan
 
Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overview
rajdeep
 
100 blue mix days technical training
100 blue mix days technical training100 blue mix days technical training
100 blue mix days technical training
Ajit Yohannan
 

Viewers also liked (20)

Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014)
Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014)Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014)
Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014)
 
Cloud Foundry Open Tour India 2012 , Keynote
Cloud Foundry Open Tour India 2012 , KeynoteCloud Foundry Open Tour India 2012 , Keynote
Cloud Foundry Open Tour India 2012 , Keynote
 
Introduction to MidoNet
Introduction to MidoNetIntroduction to MidoNet
Introduction to MidoNet
 
MidoNet deep dive
MidoNet deep diveMidoNet deep dive
MidoNet deep dive
 
Code Signing with CPK
Code Signing with CPKCode Signing with CPK
Code Signing with CPK
 
Gunosy.go #4 go
Gunosy.go #4 goGunosy.go #4 go
Gunosy.go #4 go
 
RubyKaigi2014レポート
RubyKaigi2014レポートRubyKaigi2014レポート
RubyKaigi2014レポート
 
Om
OmOm
Om
 
rtnetlink
rtnetlinkrtnetlink
rtnetlink
 
Managing Activity Backstack
Managing Activity BackstackManaging Activity Backstack
Managing Activity Backstack
 
Container Orchestration Integration: OpenStack Kuryr
Container Orchestration Integration: OpenStack KuryrContainer Orchestration Integration: OpenStack Kuryr
Container Orchestration Integration: OpenStack Kuryr
 
Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overview
 
Aura Framework Overview
Aura Framework OverviewAura Framework Overview
Aura Framework Overview
 
Open vSwitch의 Vendor Extension 구현
Open vSwitch의 Vendor Extension 구현Open vSwitch의 Vendor Extension 구현
Open vSwitch의 Vendor Extension 구현
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
LIVE DEMO: Pivotal Cloud Foundry
LIVE DEMO: Pivotal Cloud FoundryLIVE DEMO: Pivotal Cloud Foundry
LIVE DEMO: Pivotal Cloud Foundry
 
100 blue mix days technical training
100 blue mix days technical training100 blue mix days technical training
100 blue mix days technical training
 
Open VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsOpen VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needs
 
Docker Architecture (v1.3)
Docker Architecture (v1.3)Docker Architecture (v1.3)
Docker Architecture (v1.3)
 
Docker Swarm Introduction
Docker Swarm IntroductionDocker Swarm Introduction
Docker Swarm Introduction
 

Similar to Cloudfoundry Overview

Similar to Cloudfoundry Overview (20)

Tips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTips For Maintaining OSS Projects
Tips For Maintaining OSS Projects
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
The Twelve Factor App - Pivotal Tracker
The Twelve Factor App - Pivotal TrackerThe Twelve Factor App - Pivotal Tracker
The Twelve Factor App - Pivotal Tracker
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 
AWS Lambda SnapStart: Why, How and What AWS Serverless Meetup New York Boston...
AWS Lambda SnapStart: Why, How and What AWS Serverless Meetup New York Boston...AWS Lambda SnapStart: Why, How and What AWS Serverless Meetup New York Boston...
AWS Lambda SnapStart: Why, How and What AWS Serverless Meetup New York Boston...
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Making Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with NovaMaking Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with Nova
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker Cloud
 
Clocker - How to Train your Docker Cloud
Clocker - How to Train your Docker CloudClocker - How to Train your Docker Cloud
Clocker - How to Train your Docker Cloud
 
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop:  Effizientes DevOps-Tooling mit GobetterCode Workshop:  Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit Go
 
dockerSAW
dockerSAWdockerSAW
dockerSAW
 
Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with Clocker
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 
2 万林涛
2 万林涛2 万林涛
2 万林涛
 
Making your app soar without a container manifest
Making your app soar without a container manifestMaking your app soar without a container manifest
Making your app soar without a container manifest
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Cloudfoundry Overview

  • 1. Cloud Foundry Overview Compiled by Rajdeep Dua VMware India twitter : @rajdeepdua Friday, November 15, 13 1
  • 4. What is Cloud Foundry • • • • Friday, November 15, 13 OpenSource Paas Platform Supports Multiple Frameworks Supports Multiple Services Can be run on Public or Private Infrastructure 4
  • 5. Cloud Foundry Frameworks Supported • • • • • Friday, November 15, 13 Java : Java Web Apps, Spring, Play Ruby : Rails, Sinatra Scala : Play Node.js Custom Runtime : Using BuildPacks 5
  • 6. Cloud Foundry Services Supported • • • • • Friday, November 15, 13 SQL : PostgreSQL , MySQL NoSQL : MongoDB, Redis Messaging : RabbitMQ Hadoop from TreasureData Email Service from SendGrid 6
  • 7. Cloud Foundry Marketplace $ cf services --marketplace Getting services... OK service blazemeter cleardb cloudamqp elephantsql loadimpact mongolab newrelic rediscloud sendgrid treasuredata Friday, November 15, 13 version n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a provider blazemeter cleardb cloudamqp elephantsql loadimpact mongolab newrelic garantiadata sendgrid treasuredata plans free-tier spark lemur turtle lifree sandbox standard 20mb free nano description The JMeter Load Testing Cloud Highly available MySQL for your Apps. Managed HA RabbitMQ servers in the cloud PostgreSQL as a Service Cloud-based, on-demand website load testing Fully-managed MongoDB-as-a-Service Manage and monitor your apps Enterprise-Class Redis for Developers Email Delivery. Simplified. Hadoop-based Cloud Data Warehouse 7
  • 8. Application Lifecycle with Cloud Foundry Friday, November 15, 13 8
  • 9. Organization and Spaces • Friday, November 15, 13 Organizations and Spaces are the main organizational units in which applications, services, domains, routes, and users are contained 9
  • 10. Organization Organization : Top Level Meta Object Friday, November 15, 13 10
  • 11. Spaces • Spaces : Organization is mapped to Multiple - Spaces. • Default : development, staging and production • 1 * Each Organization can have one or more spaces Friday, November 15, 13 11
  • 12. Domains • Each space is associated with one or more Domains 1 • • • Default Domain is cfapps.io Each Space has one or more Domains * * 1 1 * 1 * Space has one or more Applications and Services Friday, November 15, 13 12
  • 13. Routes • A route, based on a domain with an optional host as a prefix, may be associated with one or more applications • A Route can be associated with one or more Applications Friday, November 15, 13 13
  • 15. Architectural Elements • • • • Friday, November 15, 13 No Single Point of Failure Self Healing Distributed Architecture Horizontal Scaling 15
  • 16. Cloud Foundry Layers Friday, November 15, 13 16
  • 17. Cloud Foundry Runtime Friday, November 15, 13 17
  • 18. Cloud Foundry Runtime Friday, November 15, 13 18
  • 19. Cloud Controller • • Interfaces with development tool requests • Maintains the Orgs, Spaces, Services using CC_DB PostgreSQL database • Uses NATS Messaging for interacting with DEA, UAA, Services and Health Manager • Friday, November 15, 13 Heart of Cloud Foundry Orchestration Written using Sinatra Framework 19
  • 20. DEA - Execution Agent • Manages the Warden Containers • Stages the App as a Droplet • Run Droplets as App Instances Friday, November 15, 13 20
  • 21. Components of DEA • Directory Server : Maps Application Ids to the actual Application Instances running inside Warden Containers • Stagers • • Take request from Cloud Controller and create a Droplet from the Build Pack Manage the Warden Containers which run the App Instances Friday, November 15, 13 21
  • 22. DEA - Application Isolation Friday, November 15, 13 22
  • 23. App Staging Process Friday, November 15, 13 23
  • 24. Router • Routers requests coming from External entities to DEA, Cloud Controller, Services or UAA • Written in Go language to be able to serve HTTP and TCP Requests Friday, November 15, 13 24
  • 25. Components of the Router • Registry : Maintains a Map of URI to the Route Endpoint • Register an App • Unregister an App • Proxy : Where all the Requests are routed and passed on to Request Handler • Request Handler : Handles the following requests • Friday, November 15, 13 Http, TCP and Web socket requests 25
  • 26. Services • Manages the Service Lifecycle and connects the Services and the Apps • Requests come in from Cloud controller for provisioning, un provisioning of a service Friday, November 15, 13 26
  • 27. Service Components • All the incoming requests are handled by AsynchronousServiceGateway • Requests Handled by ServiceGateway ★ ★ Bind/Unbind a provisioned Service Instance to an Application ★ Create/Get/Update a Service Snapshot ★ Enumerate a Snapshot ★ Friday, November 15, 13 Provision / Un provision an Instance of a Service Service Migration 27
  • 28. Build Packs • Friday, November 15, 13 Used to prepare a deployable Image of an Application 28
  • 29. Build Packs • • Friday, November 15, 13 Three Standard Build Packs shipped with Cloud Foundry • • • Java Build Pack Node.js Build Pack Ruby Build Pack Cloud Foundry Build Packs are compatible with Heroku Build Packs 29
  • 30. Java Build Pack Choice of • • Groovy • Spring Boot CLI • Tomcat • Play JPA Pluggin • Friday, November 15, 13 OpenJDK Version New Relic 30
  • 31. Ruby Build Pack • Multiple Ruby and Bundler versions • Default is 1.9.3 • Supported Ruby Versions 1.8.7, 1.9.2, 1.9.3, 2.0.0 Node.js Build Pack • Multiple Node.js and npm versions Friday, November 15, 13 31
  • 32. Java Build Pack Containers Frameworks Java Tomcat Groovy Play Spring Boot CLI Spring Play Play JPA New Relic JRE OpenJDK Friday, November 15, 13 32
  • 33. Java Build Pack - Java and Play Frameworks Containers Java Play Tomcat Groovy Spring Boot CLI JRE OpenJDK Spring Play Play JPA New Relic Java Detection : Supports Java Application with main() method : Main-Class attribute set in META-INF/ MANIFEST.MF for the JAR OR java_main_class set in Build packs’ config/main.yml Tags : java-main Play Detection : The Play start script and the Play runtime JAR exist in the appropriate subdirectories Tags : play-framework=<version> Friday, November 15, 13 33
  • 34. Java Build Pack - Tomcat Frameworks Containers Java Play Tomcat Groovy Spring Boot CLI JRE OpenJDK Spring Play Play JPA New Relic Tomcat Detection : Existence of a WEB-INF/ folder in the application directory and Java Main Class not detected Tags : tomcat=〈version〉, tomcat-buildpacksupport=〈version〉 Configuration : repository_root : The URL of the tomcat repository version : The version of tomcat to use. #  Configuration  for  the  Tomcat  container -­‐-­‐-­‐ version:  7.0.+ repository_root:  "http://download.pivotal.io.s3.amazonaws.com/tomcat" support:    version:  1.1.+    repository_root:  "http://download.pivotal.io.s3.amazonaws.com/tomcat-­‐buildpack-­‐support" Friday, November 15, 13 34
  • 35. Java Build Pack - Groovy Frameworks Containers Java Play Tomcat Groovy Spring Boot CLI JRE OpenJDK Spring Play Play JPA New Relic Groovy Detection : • • • A .groovy file exists which has a main() method, or A .groovy file exists which is not a POGO (a POGO contains one or more classes), or A .groovy file exists which has a shebang (#!) declaration Tags : groovy=〈version〉 Configuration repository_root : The URL of the Groovy repository version : The version of Groovy to use. #  Configuration  for  the  Groovy  container -­‐-­‐-­‐ version:  2.1.+ repository_root:  "http://download.pivotal.io.s3.amazonaws.com/groovy" Friday, November 15, 13 35
  • 36. Java Build Pack - Groovy Frameworks Containers Java Play Tomcat Groovy Spring Boot CLI JRE OpenJDK Spring Play Play JPA New Relic Spring Boot ClI : Allows creation of Spring and Java Apps Detection : • • • • A .groovy file exists which has a main() method, or A .groovy file exists which is not a POGO (a POGO contains one or more classes), or A .groovy file exists which has a shebang (#!) declaration The application does not have a WEB-­‐INF subdirectory of its root directory. Tags : spring-boot-cli=〈version〉 Configuration repository_root : The URL of the Spring Boot Cli repository version : The version of Spring Boot Cli to use. #  Configuration  for  the  Groovy  container -­‐-­‐-­‐ version:  0.5.0_+ repository_root:  "http://download.pivotal.io.s3.amazonaws.com/spring-­‐boot-­‐cli" Friday, November 15, 13 36
  • 37. Java Build Pack - Spring Auto Reconfig Containers Java Play Tomcat Groovy Spring Boot CLI Framework JRE OpenJDK Spring Config Play Play JPA New Relic Spring Auto Reconfiguration Framework : Reconfigures the Application to be bound to Cloud Services Detection : • Existence of a spring-­‐core*.jar file in the application directory Tags : spring-­‐auto-­‐reconfiguration=<version> Configuration repository_root : Auto Reconfiguration repository version : The version of Auto Reconfiguration repository to use. -­‐-­‐-­‐ version:  0.+ repository_root:  "http://download.pivotal.io.s3.amazonaws.com/auto-­‐reconfiguration" Friday, November 15, 13 37
  • 38. Java Build Pack -OpenJDK Containers Java Play Tomcat Groovy Spring Boot CLI Framework Spring Config Play Play JPA New Relic JRE OpenJDK -­‐-­‐-­‐ repository_root:  "http:...” version:  1.7.0_+ memory_sizes:    permgen:  64m.. memory_heuristics:    heap:  75    permgen:  10    stack:  5    native:  10 Friday, November 15, 13 OpenJDK Framework : Reconfigures the Application to be bound to Cloud Services Detection : Unconditional Tags : openjdk=〈version〉 Configuration repository_root : version : memory_sizes  : memory_heuristics  :             38
  • 39. Java Build Pack -OpenJDK Config File Containers Java Play Tomcat Groovy Spring Boot CLI Framework Spring Config Play Play JPA New Relic JRE OpenJDK Friday, November 15, 13 OpenJDK Framework : -­‐-­‐-­‐ repository_root:  "http:...” version:  1.7.0_+ memory_sizes:    permgen:  64m.. memory_heuristics:    heap:  75    permgen:  10    stack:  5    native:  10 39
  • 40. Summary • • • Cloud Foundry is a Polyglot Open Source Paas • Avoids vendor lock-in Friday, November 15, 13 Can be run on Public or Private Cloud It is Iaas agnostic : Supports vSphere, AWS, OpenStack 40