What Is Pivotal Cloud Foundry?
As enterprises everywhere turn to the cloud, from Platform-as-a-Service (PaaS) for streamlined development, to Infrastructure-as-a-Service (IaaS) for convenient cloud computing infrastructure, Cloud Foundry was created to further simplify development.
Pivotal Cloud Foundry is a multi-cloud, open-source service that allows development teams to run applications on various on-demand cloud computing platforms (IaaS or PaaS), including Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, and more. Pivotal Software is owned by VMware.
Read on to see what Pivotal Cloud Foundry can do for you.
What is Cloud Foundry?
Before we dive right into Pivotal Cloud Foundry, let’s take a step back and first look at Cloud Foundry as a whole. Cloud Foundry (or CF) is an open source cloud computing platform with an emphasis on the developers’ user experience. It focuses on optimizing the development workflow from development, through testing, and into production while helping to automating these flows.
Cloud Foundry offers teams several benefits, including:
- Speeding up the development and deployment of new applications
- Workflows integrate well within DevOps
- Polyglot environment works with apps written in any number of languages
- Flexible infrastructure with the ability to replace with Kubernetes container orchestration
With Cloud Foundry, developers can work on creating new cloud native applications without having to worry about the infrastructure. Once an app is ready for deployment, Cloud Foundry uses build packs to take apps of varying languages and platforms, and automates all building and deploying processes. Cloud Foundry then uses Diego and Garden technologies to run the deployed application as a container and schedule it within one of Cloud Foundry’s VMs (virtual machines). This allows your team to focus on application development with increased developer productivity.
However, if you do want more control of deployment and your network and storage considerations, you can still run your apps in a containerized environment through Cloud Foundry using Kubernetes. By containerizing the back end app and first deploying it to Kubernetes using a CLI (Command Line Interface) tool like KubeCTL, you can then deploy it into the same cloud. Cloud Foundry then allows you to swap out the Diego/Garden portion of its infrastructure for Kubernetes. This way, your operations team can still manage the application within Cloud Foundry without affecting development’s workflow.
What is Pivotal Cloud Foundry (PCF) used for?
Cloud Foundry supports the full development lifecycle of a container-based architecture. Development teams turn to PCF for deploying applications or services with the flexibility to jump from one cloud service to another, and developers can easily shift workloads between cloud platforms with no application or code changes.
Many languages and frameworks are also supported, including PHP, Python, Java, Ruby, and more. And much like Linux, Cloud Foundry is available as open source or through services from commercial providers.
Components of Pivotal Cloud Foundry
PCF is made up of several critical components that work together to create a smooth infrastructure and workflows. These components include:
- Deployment Automation: BOSH
- PCF’s deployment manager, BOSH, allows for automated deployment of cloud-based applications across multiple cloud platforms. Though BOSH was originally developed specifically for Cloud Foundry, it can also be used apart from PCF to instead deploy
- Kubernetes clusters. BOSH acts as a middleware interface between PCF and your chosen IaaS platform, allowing the PCF platform to be deployed within any other cloud environment automatically.
Identity Management: UAA Server
The UAA (User Account and Authentication) Server is the primary Identity and Access Management (IAM) component within PCF. The UAA can be used by operations teams to create, configure, and manage existing and new user accounts. The PCF identity management component allows you to utilize the UAA API to generate authentication tokens with unique access permissions for client applications.
Application and System Routing: GoRouter
PCF’s GoRouter is responsible for handling incoming requests and commands from operations and development teams. These requests can either be sent directly from users to the PCF-deployed applications, or routed through the Cloud Controller API. Through communication with Diego (PCF’s application execution and runtime component we’ll touch on soon), GoRouter is able to conveniently manage load balancing across the system and keep track of application instances.
Application Staging and Running: Cloud Controller
PCF’s Cloud Controller connects all APIs to a centralized endpoint. From there, developers and operators can send all their commands – including staging and running (stopping/starting) applications – to PCF and it’s deployed applications. The Cloud Controller also allows teams to monitor operation information of applications that are currently deployed.
Application Execution and Runtime: Diego
Similar to Kubernetes or Docker, Diego is PCF’s own container orchestration tool used for creating and managing containers within the PCF application deployments. Diego works hand-in-hand with Garden API to manage these deployed application backends.
Diego includes three main components:
- Diego Brain: Responsible for receiving and assigning requests to cells, and then scheduling these requests for execution.
- Diego Cells: The Virtual Machines (VMs) on which containers exist and are run.
- Database VM: Monitors incoming requests, and updates statuses as requests are completed.
Logs and Metric Aggregation: Loggregator
The Loggregator is what works to aggregate and stream all logs, event files, and metrics from PCF’s different infrastructure components, as well as all currently deployed applications. This aggregated stream is known as the PCF Firehose.
What are the benefits of Pivotal Cloud Foundry?
Aside from the freedom to use your cloud platforms of choice, PCF offers numerous benefits for enterprises. These include the following:
- Faster development iteration
- Improved efficiency with IT Operations management (ITOM)
- Easy portability with applications
- Greater developer productivity
- High availability
- Health management for applications
- Centralized platform administration
- Seamless cloud platform usage
- Dynamic routing
- Increased time-to-production
Cloud Foundry Best Practices
As with other services, you’ll first want to ensure your application is cloud-ready. (This might seem obvious, but it’s important!)
After you’re sure you’re ready to go, continue following general cloud service best practices for pushing updates and deploying applications. What applies there will likely follow the same guidelines here.
Here are some tips that you may want to consider:
- Before initiating, plan ahead for your org, spaces, apps, and security
- Avoid writing to the local file system
- Consider running multiple instances for increased availability
- For deployment, start with an active-passive architecture for greater availability
- Ensure you’ve set up three availability zones minimum
- Optimize, optimize, and optimize!
With the freedom to host workloads on premise or on a range of cloud platforms, Pivotal Cloud Foundry helps simplify application development while empowering your team with the speed and flexibility you need to meet your continuous delivery goals. You can also find numerous tutorials in the active Cloud Foundry community. Some include using PCF with Kubernetes, along with achieving certification for the Cloud Foundry Certified Developer Exam. As always, it pays to stay actively involved in online communities.
As everything continues shifting to the cloud, using PCF can help ensure your organization has the modern operational insights required to remain competitive in today’s always-on world. Gain the visibility and real-time information you need for business-critical services.
Check out how PagerDuty, in conjunction with PCF, can help you gain the visibility and real-time information you need for business-critical services so the right information is delivered to the right people for faster incident resolution.
Get started today with a 14-day free trial—no credit card required.
Supercharge Your AWS Cloud Platform With Self-Service Cloud Ops
Self-Service Operations Guide