Service Integration Overview
As a new tile developer, your process typically starts with learning about Pivotal Cloud Foundry (PCF) buildpacks, service brokers, tiles, and other components. Then you scope your development effort, set up your development tools and validation suite, and iterate development through increasing levels of integration.
The staged approach enables early feedback on the value and the design of the integration. This feedback helps you decide what level of integration to target in the future.
This chart shows a typical PCF tile development workflow. The Develop Your Tile phase iterates through increasing levels of integration. At each iteration, the effort starts with creating and testing individual tile components in a development environment and ends with testing the entire tile in a full PCF environment. Each major stage is described below.
There are many ways to integrate products with Cloud Foundry. The right one for each product depends on what the product does, and how customer applications consume it. To determine the best way to integrate your product, you’ll need a good understanding of Cloud Foundry concepts like applications, containers, services, brokers, and buildpacks.
Services can integrate with PCF at multiple levels, as described in Levels of Integration. The main levels, in increasing order, are: User-Provided Service, Brokered Service, Managed Service, and On-Demand (or Dynamic) Service.
Pivotal is a strong believer in lean and agile development and the notion of delivering a Minimal Viable Product (MVP) to our customers as quickly as possible. So we always look for staged approaches to the development of the integration, and only plan the upcoming stage in great detail.
In most cases, there is a very rapid way to do a proof-of-concept of the proposed integration. For instance, if you are building a service, you can often emulate the availability of a brokered, managed, or dynamic service by setting up a user-provided service for an existing instance of your service. That will let you validate the integration design before you make a large development investment, and it will let real consumers weigh in on development priorities.
With sufficient understanding of both your product, and the basics of PCF tiles, you are in a position to decide what the integration looks like, and what level of integration you want to target. Integration points at different levels include:
- Buildpacks - All levels
- Embedded Agents - All levels
- Logs, Metrics, and Nozzles - All levels
- Service Brokers - Brokered and above
- Managed Services - Managed and above
- Or any combination of the above
If you are not already intimately familiar with PCF, this is one of the areas where we can help. We like to do scoping meetings with you, where we pair your understanding of your products, with our understanding of PCF, to map out the best possible integration path.
Depending on the selected type of integration, you will need to learn how to build one or more of the integration points listed above.
Self-learning is definitely possible. If you are interested in more organized learning, Pivotal provides many different classes and labs for partners and customers. Contact us if your are interested in learning more about this.
A critical component is to develop consuming applications to validate that your tile works under diverse demands. Those can be real customer applications, or test applications that are deployed to PCF.
Once the design is established and validated, and the first stage has been defined, you start actual development of your tile. This proceeds as follows, and the Development Steps at Each Level topic describes each in more detail:
- Develop and test the individual components
- Generate your tile
- Test the deploy and delete errands
- Deploy and test your tile
At each step you need access to a PCF environment that supports the current step. Partners who participate in our program have access to a number of shared environments that are operated and managed by Pivotal. If you are not (yet) in our program, need a dedicated environment, or want to be able to work offline, you can set up a PCF environment on:
You will then also need to learn to operate and upgrade PCF by yourself: