menu

Pivotal Cloud Foundry

HomeOfferingsCloudPivotal Cloud Foundry
HomeOfferingsCloudPivotal Cloud Foundry

Overview

Cloud Foundry is an open source cloud computing platform as a service (PaaS). It provides a choice of clouds, developer frameworks, and application services.

It is primarily written in Ruby and Go, enables application lifecycle automation and thus well-suited to the continuous delivery strategy.

Deploying Cloud Foundry involves interfacing with the underlying infrastructure using the Cloud Foundry BOSH (bosh outer shell) deployment scripting language, another open source tool from Pivotal.

When an application is deployed to Cloud Foundry, an image is created for it and stored internally. The image is then deployed to a Warden container to run in.

For multiple instances, multiple images are started on multiple containers. This is where BOSH comes in - Cloud Foundry's internal Controller uses BOSH to get the underlying infrastructure to spin up virtual machines to run the Warden containers on.

When an application is deleted, all of its containers are destroyed and their resources are freed for other applications to use. If the application instance crashes, its container is killed and a new Warden container is started automatically.

A container only ever runs one application ensuring isolation, security and resilience. A load-balancing router sits at the front of Cloud Foundry to route incoming requests to the correct application - essentially to one of the containers where the application is running.

Services have to be deployed to the platform first and then are available to any application using it. Another advantage of Pivotal Cloud Foundry is that many pre-defined services can be deployed into it directly using the Administration Console. Users of the Open Source Cloud Foundry must make services available by writing and running BOSH scripts.

The following services are available to Pivotal Cloud Foundry

Data Storage

MySQL, PostgreSQL, MongoDB, Redis, Riak, DataStax (Cassandra), Neo4J, Pivotal HD (Hadoop)

Messaging

Pivotal RabbitMQ

Development

CloudBees Jenkins (Continuous Integration)

Mobile

API Gateway, Data Sync, Push Notifications (Pivotal proprietary services to support Mobile Apps).

 

Our Expertise on Cloud Foundry

Router

Routes incoming traffic to the appropriate component, usually the Cloud Controller or a running application on a DEA node.

Authentication

The OAuth2 server and Login Server work together to provide identity management.

Cloud Controller

The Cloud Controller is responsible for managing the lifecycle of applications.

HM9000

monitors, determines and reconciles applications to determine their state, version and number of instances, and directs Cloud Controller to take action to correct any discrepancies.

Application Execution (DEA)

The Droplet Execution Agent manages application instances, tracks started instances, and broadcasts state messages.

Blob Store

The blob store holds, application code, buildpacks and droplets.

Service Brokers

When a developer provisions and binds a service to an application, the service broker for that service is responsible for providing the service instance.

Message Bus

Cloud Foundry uses NATS, a lightweight publish-subscribe and distributed queueing messaging system, for internal communication between components.

Logging and Statistics

The metrics collector gathers metrics from the components. Operators can use this information to monitor an instance of Cloud Foundry.