Pivotal Cloud Foundry can be useful as a PaaS solution for very large enterprises (VLEs), which have a lot of budget, resources and a need to develop Cloud Native applications. It assumes a micro-service and de-composed architecture. PCF is not useful for smaller enterprises without depth of spend and resources; or firms looking to migrate or replatform applications. There are too many changes to most apps to allow them to run on PCF. Many applications cannot be decomposed that easily and you will need time, skills and budget to re-architect and re-factor applications to fit into the PCF model. It is more useful for new builds.
Unlike most alternatives, which are descriptive and flexible; PCF is a prescriptive and rigorous PaaS.
For Cloud native applications PCF provides a platform which will force firms to use Agile and DevOps to deploy hybrid on-premise-Cloud architectures. 20 days of hands-on training is required along with considerable skills in Java, JS, Python, JSON and Bash scripting. PCF is touted as ‘easy to use’, but this is false as given by the U$30K training price tag to become PCF certified.
Key components of PCF
- Supports many programming languages
- Microservices via SpringBoot and SpringCloud
- Ease of application deployment onto IaaS
- Built in load balancing, scaling, network provisioning
- Built in VM deployments
- Container based
- Integrated monitoring, management, orchestration
- CI/CD via Concourse and /CF push
- Underlying network-compute-storage provisioning via Bosh
- Various service brokers and API integration with shared services
Example Architecture of PCF within Azure
Key Features of Pivotal Cloud Foundry
Based on the above top level architecture view of PCF in Azure:
- -Cloud Platform and Deployment model independent – can run on AWS, Azure, Google, etc
- -PaaS framework which abstracts the lower level IaaS and network-compute-storage setup from application development and deployment teams
- -Automated IaaS and lower level infrastructure provisioning
- -Container based, with enforced isolation
- -Load Balancing, MFA, Network Security Groups (NSG), NATs easy to set up and manage
- -API integration with underlying IaaS services
- -API integration with Shared Services such as GIT, AD, BLOB storage
- -Applications are stateless (for the most part) with stateful entities and information within Database services
- -Some architectures will use MQ (RabbitMQ within PCF) or persistence storage to provide session persistence (an adjustment to the complete stateless model at the application level)
- -Easy to understand development and deployment model using CI/CD and automation (less complicated than choosing a roadmap and various technologies in Azure or AWS directly, for example)
- -PCF assumes the usage of Agile and proper iterative project implementation
- -You still need to architect a secure and HA model within Azure including security, DMZ, public and private subnets, integrated monitoring and reporting
- -Ease of integration with GitHub – now a Microsoft owned SaaS code repository
If an enterprise is deploying into AWS or Azure, PCF should be investigated. You will need training and you will need to use Agile. These costs need to be factored in to the analysis of whether a firm will deploy applications directly into a PaaS or IaaS without a framework; or would prefer to use a framework such as PCF to simplify deployment.