Pivotal Partner Days in Seattle
PCF workshop, WSO2 Pivotal partnership, WSO2 PCF service integrations
Few months back WSO2 initiated a discussion with Pivotal Cloud Foundry (PCF) team for making a partnership and publishing WSO2 PCF service integrations on the Pivotal Network. As a result of this we got an opportunity to participate in the Pivotal Partner Days workshop organized by the PCF engineering team in Seattle. It was a three day workshop with presentations, and hands-on sessions for PCF partners on integrating their software applications with PCF. The PCF engineering team members of their US and UK offices, engineers and architects from other organizations including Oracle, VMWare, Axway, Dynatrace were present at this event.
WSO2 PCF Integration Stage 1
At WSO2 we did a series of proof of concepts (POC) for deploying WSO2 middleware on PCF for a couple of years. First, we tried deploying WSO2 Enterprise Service Bus (ESB) on PCF as a PCF application. In that POC we identified the way PCF works, its component architecture, features, and the core concepts. Nevertheless, we hit with a collection of limitations on running monolithic enterprise applications on the PCF application runtime. Most importantly, it convinced us that PCF applications platform has been designed more towards running lightweight services, and web applications than enterprise middleware which may require more advanced features such as point to point TCP connections, internal/external routing separation, service discovery, cluster discovery, etc. Please refer the above link for more information on that research work.
WSO2 PCF Integration State 2
Later in the year 2017, we evaluated PCF again with its latest architecture and found that PCF service integrations can be done at four different levels. Afterwards, we implemented level 2 support for WSO2 API Manager (API-M) using a broker API. Overall, it was not a difficult task, level 2 support only requires to implement a service broker API according to PCF service broker API specification using any programming language. The key requirement here is to properly design the service mapping between the third party application and the PCF platform. We designed the WSO2 API-M PCF service broker to expose APIs for microservices deployed on PCF using its service integration. This was implemented in BallerinaLang and tested using a PCF Dev environment.
WSO2 PCF Integration Stage 3
After implementing a PCF service broker, we did another research with PCF Operations Manager (Ops Manager) on implementing a PCF Tile. Ops Manager is more like a wrapper for BOSH which provides a graphical user interface and a simplified package format for deploying software on PCF using PCF applications, BOSH, or Docker. Currently, Ops Manager is only available with its fully-fledged installations on AWS, Google Cloud, Azure, VMWare, and OpenStack. Therefore, we started a PCF environment on AWS using its Cloud Formation template available on Pivotal Network and found that it requires nearly fifty virtual machines just for running its own components. As it would be a costly process for running a large number of VMs for a longer period that attempt was not successful. However, we heard from the Pivotal engineering team that they are currently working on a solution to reduce the number of VMs required for this process and improving the developer experience.
Later, we went through the approach of implementing a BOSH release and deploying it on BOSH Lite. However, we could not make much progress. During this period we initiated a discussion with the Pivotal and decided to make a partnership for expediting this process. The PCF team was extremely helpful in getting us onboard and helping us on the technical matters. Most importantly, they invited us to participate in the Pivotal Partner Days workshop in Seattle in September 2017.
The Workshop
The Partner Days workshop was divided into two sessions; the pre-event training session and the two-day hands-on workshop. The first session was intended for partners who had no past experience on working with PCF and therefore, we only participated in the second session. On the first day, I implemented a CF Tile for WSO2 API-M using Docker BOSH release for deploying API-M on PCF using Docker. I took this approach after a discussion I had with Mikey who did the introductory presentation at the event. The reason for this was that with the Docker BOSH release a third party application can be deployed on BOSH by using a Docker image without having to implement a dedicated BOSH release. This attempt was successful and I was able to run WSO2 API-M on BOSH using Docker in single JVM mode on the PCF environment provided by Pivotal at the workshop.
Thereafter, I started implementing a BOSH release for WSO2 API-M for understanding its internals and fundamentals. After spending little more than a day I was able to complete the first revision of the WSO2 API-M BOSH release with the help from the PCF engineering team. This was done on my local machine using BOSH Lite and later a CF Tile was implemented for testing it on PCF. At this stage, the plan was to follow the most viable product (MVP) approach and implement the most minimum requirements needed for running WSO2 API manager on PCF and exposing its endpoints via the PCF router.
The Roadmap
After returning back from Seattle, we started improving the initial API manager BOSH release by adding features required for deploying WSO2 API manager according to its first deployment pattern in production environments. The current status of this effort can be found in the pitoval-cf-apim Github repository. At the same time, we started implementing a BOSH release for WSO2 Identity Server. The plan is to implement support for all standard deployment patterns and release three PCF resources for each WSO2 product iteratively including a BOSH release, PCF tile, and Service Broker. Once all three resources are completed in each product, WSO2 plans to publish them in the Pivotal Network. Subscribe to WSO2 pivotal-cf Github repositories for latest updates.
Conclusion
Overall, we had a highly productive time at the Pivotal Partner Days workshop in Seattle on last September and implemented key components required for deploying WSO2 middleware on PCF. We also got opportunities to talk to the participants from other organizations on their research work, went through through their demos and presentations. Most importantly, we enjoyed our entire stay in Seattle and had a wonderful time! On behalf of WSO2, I would like to take this opportunity to thank Marina, Nima, and Jacob for all their help on signing the partnership and making arrangements for us to participate in the Pivotal Partner Days workshop, the entire PCF engineering team for their tremendous technical help on moving us forward. Thank you very much Pivotal!