It’s been a crazy 6 months since we came out of stealth. The Harness development team has grown to 25 engineers, and our platform support has evolved from Linux, Bare Metal, Amazon Web Services (AWS), Google Cloud Platform (GCP) and Kubernetes to new platforms/stacks like Lambda, Helm, Azure Kubernetes Service (AKS), and now Pivotal Cloud Foundry (PCF).

While AWS undoubtedly wins the majority popular vote, PCF has become a strategic platform and bet for many large F500 enterprises. This is a market that Harness wants to crack.

What is Pivotal Cloud Foundry?

Think of PCF as an abstract platform that sits across all your existing cloud providers and compute infrastructure. It doesn’t matter if your clouds are public or private–hence the draw of hybrid clouds for many enterprises.

PCF manages and abstracts all the run-time and infrastructure dependencies of your applications. You basically deploy your apps to the PCF platform and Bob is very much your Uncle. It’s similar to the open-source platform OpenShift, only it focuses more on traditional enterprise apps than just pure container-based apps.

Why Harness Continuous Delivery for PCF?

PCF comes with basic deployment capabilities; however, the following capabilities are why many PCF customers have opted for Harness CD as-a-Service:

  • Deployment Pipeline Analytics & Reporting across all applications, services, and environments
  • Real-Time Deployment Workflows – the ability for teams to watch and debug deployments in real time
  • Packaged Deployment Strategies – full support for rolling, canary, and blue/green deployments
  • Continuous Verification – the ability to automate deployment health checks using machine learning
  • Automatic Rollback – the ability to instantly rollback when Continuous Verification fails

In addition, Harness offers a more focused approach to Continuous Delivery so organizations can offer CD as-a-service to internal development and DevOps teams. Think of Harness as a turnkey solution vs. a toolkit.

Setting up Harness for PCF

The first thing you need to do is define your PCF account as a cloud provider inside Harness.
To do this, go to Setup > Cloud Providers > Add Cloud Provider
Add_Provider
Next, enter your PCF account details:
PCF_add
You can optionally place “usage restrictions” on your PCF integration/connector so that only certain apps, services, or environments can use this account. You can also have many PCF cloud providers defined within Harness that can be controlled via our Role-Based Access Control (RBAC).

Building Your First PCF Deployment Pipeline in Harness

First, you need to create and define your PCF services. Think of a service as an artifact or package you would deploy to a PCF Space (Environment).
Go to: Setup > My PCF App > Create Service
Add_service
Next, enter the name of your service and choose “Pivotal Cloud Foundry” as your artifact type:
new_service
Next, link your artifact repository source to your new service (below). This will ensure Harness automatically picks up and version controls the latest build or version of your artifact/package.
service_pcf
Once your artifact/package is linked to Harness, the next part is to manage the Manifest File of your PCF service, in addition to any configuration variables, secrets, or config files you want to be managed. All this service context will be versioned controlled by Harness so that it can automatically rollback to the last working version if needed.
Once your services are defined, you next need to define environments or PCF spaces that those services will be deployed to.
Go to: Setup > My PCF App > Environments > Create Environment
Give your environment a name and for each service select PCF as your deployment type and select the approriate PCF Cloud Provider. From this point, Harness will query your PCF account and populate the organizations and spaces that will define your environment infrastructure.
env2
Lastly, reference your PCF Route Maps so that traffic to your services and environments can be managed appropriately. You can even define a Temporary Route Map that will be used for blue/green deployment use cases.
Now that your PCF services and environments are defined, you’ll be able to create deployment workflows and pipelines like this:
PCF pipeline

PCF_WORKFLOW
If you’d like to try Harness Continuous Delivery, sign up for your free trial.
Cheers!
Steve.
@BurtonSays