Three frequently asked questions about Cloud Foundry, Kubernetes and Serverless support in SAP Cloud Platform
At TechEd Las Vegas and Cloud Foundry Summit in Basel, I met many architects and developers who had a variety of questions related to SAP Cloud Platform. While many of these questions were specific to their organization’s journey towards the cloud, some of them were recurring.
In this blog, I would like to share the top 3 questions I got.
- What value do I get from SAP Cloud Platform’s support of Cloud Foundry?
- When should I use Cloud Foundry Vs. Kubernetes?
- How are serverless functions different from the applications? How can I run them with SAP Cloud Platform?
What value do I get from SAP Cloud Platform’s support of Cloud Foundry?
Cloud Foundry is an open source Platform-as-a-Service technology, and SAP is a Platinum Founding member of the Cloud Foundry Foundation. SAP is a major contributor to the Cloud Foundry open source projects. The SAP Cloud Platform Cloud Foundry environment is a certified Cloud Foundry distribution. You can get started with SAP Cloud Platform Cloud Foundry environment today with an SAP Cloud Platform trial account.
Here are a few benefits you get with the SAP Cloud Platform Cloud Foundry environment.
1) Increase developer productivity: Cloud Foundry makes it easy to deploy, run, scale and manage applications. Cloud Foundry Command Line Interface (CLI) makes it easy to maintain applications. Additionally, you can also use SAP Cloud Platform Cockpit, an easy to use web-based graphical tool, to manage applications.
2) Accelerate innovation: You can choose the programming language you are comfortable with to build applications rather than spending time on learning a new language. For example, you can use programming languages such as Java, Go, Node.JS, PHP, Python, and Ruby. If you are an ABAPer, you can now use SAP Cloud Platform ABAP environment to extend SAP applications in the cloud or build new cloud applications. You can also leverage SAP Cloud Platform services and the latest SAP HANA innovations in your cloud ABAP programs.
3) Simplify application development: With SAP HANA, you do not need a separate database for each type of workload or processing. You can build applications that can not only deliver analytics from live transactional data but also allow users to take action by modifying transactional data. As SAP HANA is a multi-model database, you can also perform graph, spatial, predictive, text analysis and use it as a JSON document store. In addition, you can use SAP ASE for high-speed transaction processing, SAP Object Store to store large objects and open source databases such as PostgreSQL, MongoDB, Redis, and even the message broker RabbitMQ.
4) Cloud freedom: The SAP Cloud Platform Cloud Foundry environment is available on public hypercloud providers such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure in addition to SAP data centers so that you get the flexibility and you can leverage the latest innovations from these hypercloud providers. You can also get the SAP Cloud Platform Cloud Foundry environment as a private cloud through SAP Cloud Platform, private edition delivered by IBM or Atos.
When should I use Cloud Foundry Vs Kubernetes?
Read Sanjay Patil’s blog “Cloud Foundry and Kubernetes – Where do they differ? How do they fit together?” to get more details on this topic.
At a high level, use Cloud Foundry to run 12 factor stateless applications. Most of the new cloud-native applications fall under this category.
Kubernetes clusters help you run containerized applications.
Containers include application and dependencies (config files, libraries, binaries). They leverage operating-system-level virtualization to get dedicated computational and storage resources and run in isolation from other containers and the host. Containers are similar to VM without the guest OS and the Hypervisor. They are faster to build than VMs and portable across OS and cloud providers. Read “Why containers?” on the Kubernetes website for more details.
At TechEd Las Vegas, we announced Kubernetes as a service for SAP Cloud Platform, private beta. SAP Cloud Platform will now deliver a Kubernetes cluster-as-a-Service to run your containerized business application workloads.
While Cloud Foundry will allow you to deploy applications directly, with Kubernetes cluster, you need to containerize the applications first. Then, you can use Kubernetes to deploy your containerized applications. You can use the Kubernetes environment to run complex applications that manage their own state and directly access hardware resources. Once your existing applications are containerized, SAP Cloud Platform makes it easy to run them in the cloud using Kubernetes cluster.
Cloud Foundry makes it simple and easy to build and run applications compared to Kubernetes. Kubernetes gives more flexibility and control in building and running applications compared to Cloud Foundry but it requires more effort.
How are serverless functions different from the applications? How can I run them with SAP Cloud Platform?
Watch Matthias Steiner’s “Cloud Native Development: Consider Your Options” TechEd session to get more information on this topic.
Serverless functions are server-side stateless code, typically triggered by an event. They get started when triggered. Unlike most applications, functions would not run continuously and wait for the users to serve. The question I always get is how are functions “serverless”? The answer is that, as a developer, you don’t need to care about the configuring the servers or VMs directly or indirectly to run the functions. Function-as-a-Service(FaaS) is a cloud service that supports serverless functions. The serverless/Function-as-a-Service provider will manage the resources required to run your functions, and you get charged only for the resources used when the function runs.
Read “Serverless Architecture” on Martin Fowler’s website for more details.
At TechEd, we announced the “SAP Cloud Platform Enterprise Messaging”, “SAP Cloud Platform Functions, beta” and “SAP Cloud Platform Backend service, beta” to support enterprise-ready, event-driven serverless business applications.
Read “Getting started with SAP Cloud Platform Functions (beta) in a serverless environment” to understand the offering and to try them out.
To innovate in the cloud, you can use Function as a Service (FaaS) to run serverless functions, Platform as a Service (PaaS) to run applications or Container as a Service (CaaS) solution to run containers.
Whether you want to build and run serverless functions, applications or containerized applications, SAP Cloud Platform will provide a simple, unified and enterprise-ready multi-cloud foundation.