Pivotal Cloud Foundry (PCF)
What is Pivotal Cloud Foundry (PCF)?
Before we can clearly explain Pivotal Cloud Foundry (PCF) and contextualize its place in the current landscape of available cloud services, we need to start with some background information on cloud services and the original Cloud Foundry platform developed by VMware.
When enterprise organizations first began to establish their own IT infrastructures, every component of the technology stack was managed in-house, including networking, storage, servers, operating systems, data, and applications. On-premises management of IT infrastructure gave organizations complete end-to-end control of their IT systems, but with a significant up-front investment in purchasing equipment and developing the tools and capabilities needed to manage IT infrastructure.
As the IT industry evolved, cloud services emerged as an alternative to on-premise management of IT infrastructure with three business models dominating the industry: IaaS, PaaS, and SaaS.
In the Software-as-a-Service (SaaS) model, organizations access an application through a web-based portal with all of the associated resources managed by a cloud service provider. The SaaS model is used to deliver a finished software product (such as Slack or Dropbox) to a user or subscriber.
In the Infrastructure-as-a-Service (IaaS) model, organizations would manage their applications, data, runtime, middleware, and operating system and outsource the management networking, storage, servers and virtualization capabilities to a cloud services provider. This allowed organizations to focus on software development without the up-front cost of managing hardware.
In the Platform-as-a-Service (PaaS) model, organizations would manage applications and data with all other functions and capabilities managed by a cloud service provider. Using the PaaS service model, organizations could focus on data management and application development without worrying about building, maintaining or scaling their development platform.
The IaaS and PaaS models, in particular, made it easier for more organizations to deploy, manage and deliver new software applications, as they could outsource the management of the underlying resources needed to support application development and delivery for a lower cost than maintaining them in-house.
Cloud Foundry is a multi-cloud platform used to support the development, management and continuous delivery of software applications. It can be deployed on top of an IaaS tool such as Amazon Web Services (AWS), vSphere or OpenStack and provides a set of features and specialized functions that help organizations reduce the cost and complexity of configuring the underlying platform for their applications.
Pivotal Cloud Foundry, also known as PCF, is a distribution of the open-source Cloud Foundry platform that includes additional features and services that expand the capabilities of Cloud Foundry and make it easier to use. IaaS platforms like Google Cloud and AWS have built and configured templates that make it easy to deploy PCF as a PaaS solution on top of their cloud-based infrastructure products.
PCF Components and Functions
The main purpose of PCF is to provide the underlying infrastructure that organizations need to facilitate continuous delivery of software updates, manage the application life cycle and streamline the development, deployment, and scaling of web-based applications. PCF is a distributed system with many components that play different roles in this process:
BOSH - BOSH is a deployment manager tool that was originally developed for use with Cloud Foundry, but that can also be used outside of PCF to deploy a Kubernetes cluster. This application provides an interface between PCF and a chosen IaaS platform, enabling the PCF platform to be deployed in any cloud environment. BOSH uses IaaS-specific cloud configurations (like those created by AWS and Google Cloud) and the baseline deployment configuration for PCF to accurately map resources between PCF and the IaaS provider.
Ops Manager - The Ops Manager is a web-based graphical interface that helps to automate tasks and support the deployment of PCF into IaaS environments. Ops Manager includes additional features like monitoring solutions that can be imported and configured prior to deployment.
User Account and Authentication (UAA) Server - The UAA component of PCF controls identity and access management on the server. PCF operators can use this tool to create, configure and manage user accounts, including the administration of roles-based access and generating authentication tokens for client applications.
The Gorouter - Written in the Go programming language, Gorouter is used by PCF to handle incoming requests or commands from operators or developers. Depending on their origin, requests may be routed through the Cloud Controller API, or directly from users to applications that are running on the PCF deployment. Gorouter communicates with Diego to keep track of application instances and manage load balancing.
The Cloud Controller - The Cloud Controller centralizes API endpoints where developers and operators can send commands to PCF and its deployed applications. This includes all different types of queries and requests, including staging applications, stopping or starting an application, and collecting information on the operation of currently deployed applications.
Diego - Diego is the container orchestration system for PCF deployments. Diego orchestrates the deployment of containers within PCF using three main components:
- Diego Brain receives incoming requests, assigns them to cells and schedules them for execution
- Diego Cells are virtual machines that run containers. Containers represent an allocation of memory and virtual cores that can be used to complete a task.
- Database VM is a live database that monitors new requests, stores information about requests that have been received and updates the status of requests as they are completed.
Loggregator - PCF's Loggregator aggregates and streams computer-generated log and event files and metrics from all of PCF's infrastructure components along with any applications that are deployed. These logs are combined into a single stream of data known as the PCF Firehose.
Pivotal Cloud Foundry Benefits for Developers
With PCF, organizations can improve the efficiency and speed with which they build, deploy and operate the software. PCF speeds up software delivery and makes it easy to scale underlying application infrastructure with a growing base of users. PCF is highly automated, easy to install, and runs on any public or private cloud, so organizations can run their applications wherever they choose and scale them across infrastructure targets.
Sumo Logic Streams PCF Data in Real-Time
Sumo Logic's PCF integration takes full advantage of the aggregator Firehose, capturing the continuous stream of log data from PCF with a specialized Pivotal Cloud Foundry Nozzle tool. With Sumo Logic, users of PCF can funnel aggregator data through a single nozzle that streams network and event logs along with metrics directly to the Sumo Logic platform, where machine learning techniques drive data analysis that yields operational intelligence and business insights.
Complete visibility for DevSecOps
Reduce downtime and move from reactive to proactive monitoring.