Differences between PCF and cf-deployment
CF vs PCF
In the stories earlier in onboarding week, you used bbl up
to create some GCP infrastructure and BOSH + cf-deployment to deploy a Cloud Foundry.
Here’s a quick rundown of the similarities and differences between Ops Manager + TAS for VMs Tile and cf-deployment.
Technical Similarities and Differences
Similarities:
- Both use BOSH under the hood to deploy software
- Many products can be deployed with either OSS tooling or Ops Manager, e.g. Cloud Foundry or MySQL
- The App Developer CLI experience such as
cf push
is the same, although TPCF adds web apps like Apps Manager to streamline this experience - We would encourage both TPCF and OSS users to configure their environments with a Concourse pipeline
Differences:
- Ops Manager uses UI forms or API calls to configure each product while cf-deployment uses a list of ops-files
- Ops Manager Tiles include migrations to automatically handle changes like BOSH property renames when upgrading to newer versions
- cf-deployment users would need to carefully read release notes to handle any manifest changes
- Ops Manager provides input verifiers to perform input validation prior to deploying, such as ensuring DNS records exist or Database credentials are valid
- PCF provides long-term support (LTS) for Pivotal customers
- Many customers have complicated change management processes which require new features to be carefully vetted before deploying to production
- These customers often stay on older versions of PCF products for many months after newer versions have been released
- LTS means that Tanzu will backport security fixes to previously released versions of TPCF products, while new features are only added to the latest release version
- cf-deployment users will need to upgrade to the latest release in order to get these security fixes
- Ops Manager provides a consistent experience to install many different products
- While lots of work has gone into making deploying Cloud Foundry with cf-deployment a nice experience, the quality of documentation on deploying other BOSH releases is highly variable
- Ops Manager attempts to abstract away the BOSH implementation details, although you will still interact with BOSH when debugging
- This added layer of abstraction can make debugging more difficult
- Clicking Apply Changes in Ops Manager is typically slower than running
bosh deploy
- Ops Manager performs many safety checks to ensure everything is in a good state, but this takes additional time
- Tile authors often only expose a subset of BOSH properties via the UI
- A smaller set of properties to configure makes it easier to get something working initially, but can prevent you from configuring more advanced features
- Ops Manager does not allow you to change the deployment topology (which jobs are located on which VMs)
- In cf-deployment you can add an ops-file to co-locate a new job on an existing VM, Ops Manager requires the Tile author to make changes to their Tile to allow this
- Some Tiles like TAS for VMs provide both a full HA version and a “Small Footprint” version to co-locate jobs on a smaller number of VMs
Ecosystem Similarities and Differences
Similarities:
- Most (if not all) features of core CF components like Diego, UAA, and CAPI are available in both TAS for VMs and cf-deployment
- Some customers use a mix of cf-deployment and Ops Manager across their organization
- Engineers often contribute to both cf-deployment and Ops Manager Tiles
- e.g. a Diego engineer might submit a PR to add an ops-file to cf-deployment to toggle on a new feature, then submit a PR to the TAS for VMs Tile to add a checkbox to toggle that same feature
Differences:
- cf-deployment and associated tooling (e.g. bbl) are open-source while Ops Manager and most Tiles are closed-source
- The Cloud Foundry Foundation owns cf-deployment (along with all other projects in the
cloudfoundry
GitHub org) while Broadcom owns Ops Manager and many Tiles - Some Cloud Foundry teams have engineers who are employed by other companies within the CF Foundation like IBM and SAP. These engineers will contribute to open-source components, but generally will not contribute to Broadcom-owned software
- Users download open-source BOSH releases and stemcells from bosh.io while Broadcom commercial customers will download tiles and stemcells from the Broadcom Portal (RMT).
- The Broadcom Portal (RMT) also contains Partner Services which are Tiles jointly developed by Broadcom and partner companies like Datadog and New Relic