As much as some of us like to streamline and "standardize", when it comes to tech, we also like choices. On the surface, homogeneity seems productive, but it stifles innovation. We can't all use the same development language, same database, and same cloud provider to solve everything.
For example, according to a recent survey, over 50% of organizations are using more than one IaaS vendor. Comic Relief's CTO, Zenon Hannick, recently explained their heterogeneous approach. The nonprofit raised over GBP76mn in seven hours in one of their biannual campaigns. They use two IaaS providers (AWS and Google), as well as multiple payment processing services. Why? Maximum resiliency.
But CIOs and operators lament the challenges of interoperability, integration, and redundant technologies.
Pivotal Cloud Foundry helps enterprises strike a balance between necessary technology heterogeneity and operational simplicity. How? It lets you run applications built in whatever language you want and still automate Day 2 operations. It lets you make use of different cloud providers without having to change your application. It lets you connect applications to a range of databases, with varying levels of automation.*
*What do I mean by that? It means some databases are available on-demand, fully managed services within Cloud Foundry. Others are external to the platform: maybe you manage them, or maybe another vendor manages them.
Pivotal Cloud Foundry runs on five different IaaS clouds. The PCF Marketplace has expanded to over sixty different services built by Pivotal and partners. That doesn't include the many community-supported integrations available on GitHub. Today the choices for Pivotal Cloud Foundry customers are expanding again: Oracle Cloud is joining the party. In this post I'll review the three major integrations available now or coming soon. You can read Oracle’s perspective and the range of supported architectures in this post by Oracle’s Mike Lehmann.
Cloud Provider Interface for Oracle Cloud
The cloud provider interface (CPI) is how BOSH orchestrates underlying IaaS resources. It's what allows Cloud Foundry to be an abstraction layer over the major cloud providers. That list of cloud providers now includes Oracle Cloud Infrastructure.
Oracle used the BOSH CPI interface to enable Cloud Foundry to deploy to Oracle IaaS. Note that the Oracle Cloud isn't yet supported for Pivotal Cloud Foundry, but the open source integration is there. You can find links to the repository and a guide on how to use it in this post by Devin Carlen.
Figure 1: Cloud Foundry Cloud Provider Interface (CPI) for Oracle Cloud
Service Broker to Oracle's PaaS services
The Service Broker is an abstraction between the runtime of an application and a service. The service could be a database, performance monitoring, security service and more. The service broker abstraction was developed for Cloud Foundry's Elastic Runtime, but has since been open sourced as it's own API. Now, it's being adopted by other runtimes, including Kubernetes.
Oracle built a Service Broker for it's PaaS services. The Oracle PaaS and its services can run on-premises on the Oracle Cloud Machine or Oracle Exadata Cloud Machine, or in a public cloud offering on the Oracle Cloud Infrastructure. The Oracle PaaS services share a common control plane, so the service broker is embedded directly into the PaaS. This means there’s no need to deploy the Oracle PaaS broker separately. Since the PaaS service broker runs external to CF, you only need to register it in CF.
What kind of services run on the Oracle PaaS? Well, there's Oracle Database Cloud, MySQL Cloud, Java Cloud (WebLogic), DataHub (Cassandra), and Event Hub (Kafka). If you're running the Oracle Exadata Cloud Machine on-premises, this broker can connect to the Oracle DB service running on that as well.
Using these services isn't tied to running Cloud Foundry on the Oracle Cloud. Regardless of where you're running Pivotal Cloud Foundry, you can register the broker in Ops Manager and begin to bind apps to these PaaS services.
Figure 2: Oracle Cloud PaaS Service Broker for Cloud Foundry
Service Broker to Oracle Cloud Infrastructure Dedicated Hardware Services
Oracle Cloud Infrastructure provides Oracle Database as a cloud service in a variety of form factors. Oracle has now developed a service broker to connect to three of these "bare metal" cloud databases: Oracle DB (single node), Oracle DB (multi-node RAC), and Oracle Exadata. Unlike the embedded Oracle PaaS service broker, you download and install this broker.
To use this broker and these services, Cloud Foundry needs to be running in Oracle's cloud. Given the performance appeal of these database services, it makes sense to have the apps nearby. This broker is not available yet, but will be coming soon.
Figure 3: Oracle Cloud Infrastructure Service Broker for Cloud Foundry
The Road Forward
Cloud Foundry's buildpacks, CPI, and service broker API enable automation while supporting app diversity. Oracle's work, in collaboration with Pivotal engineering, to integrate with the CPI and service broker API reflect Cloud Foundry's growing momentum in the enterprise and bring new choices to users. We are excited to partner with our customers that are interested using Oracle Cloud and services. If using the Oracle Cloud with Cloud Foundry is on your roadmap, add the broker, give us (and Oracle) feedback, and let us know if you’d like to see Oracle Cloud as a supported IaaS for PCF.
If you are in San Francisco this week, catch our joint talk with Oracle at the Oracle OpenWorld on Tuesday, October 3 at 3pm in Moscone West, Room 2003. The session is part of Oracle Code, a free event co-located with OpenWorld and JavaOne.