Cloud Native with Containers and Kubernetes – Part 1
Containers and Kubernetes are recognised as important technologies in the creation of cloud native applications. You might have read Bjoern’s blog from last year where he announced that SAP has joined the Cloud Native Computing Foundation (CNCF). The SAP Cloud Platform Core development team is actively contributing to the community and has released the open source project “Gardener”, an offering to manage Kubernetes clusters on various infrastructures.
“Cloud native” – buzzword or new computing paradigm? Whatever you might think, it is definitely something that will keep SAP and our customers’ and partners’ IT departments busy over the coming years. Cloud native is an approach to build and run applications that exploit the advantages of the cloud computing delivery model. It is about how applications are created, deployed, and operated, not where they run.
Cloud native has become so popular that it even has its own organisation, the Cloud Native Computing Foundation (CNCF). The organisation aims to promote and support the development of cloud native technologies. The CNCF states in its 2017 annual report that, by end of last year, it had 170 members, including many of the heavyweights of the IT industry such as Amazon, Cisco, Google, Huawei, Intel, Microsoft, and – since October 2017 – SAP. Although it was started to promote container and container orchestration technologies, it has since developed into the home of a growing number of projects, one of them being Kubernetes.
Let’s hear what the CNCF says about cloud native in its charter:
“Cloud native systems will have the following properties:
- Container packaged. Running applications and processes in software containers as an isolated unit of application deployment, and as a mechanism to achieve high levels of resource isolation. …
- Dynamically managed: Actively scheduled and actively managed by a central orchestrating process. …
- Micro-services oriented. Loosely coupled with dependencies explicitly described (e.g. through service endpoints). …”
In a nutshell, cloud native applications are developed using micro-service architectures and these apps are deployed into containers to enable them to be scaled easily and quickly. Container orchestration tools provide an automated system for deploying, managing, and scaling these containerized applications.
If that was too much, too fast, no worries! In this blog post series, we will take a closer look at containers and what you need to deploy and manage them.
If you’re curious to find out more about the third bullet point – developing in a cloud native, micro-services oriented way – I can highly recommend the blog Developing Cloud Native Apps on SAP Cloud Platform by Matthias Steiner. It’s definitely well worth the time it takes to read – and whatever you do, don’t miss the embedded video of Matthias’ TechEd talk!
In part 2 of this mini blog post series, you will get to know the benefits of containers and why you need a container management system like Kubernetes.