One of the benefits of Kubernetes is that it standardizes the orchestration of container services. It provides a plat- form for automating the development, scaling and oper- ation of systems across a cluster of hosts. In addition, some of the primary benefits of Kubernetes include: ▪ Standardized way to build, package, deploy and run applications of any language ▪ Portability across multiple cloud providers and the ability to avoid vendor lock-in ▪ Horizontal auto scaling so that additional pods are created as application demand increases ▪ High availability through continual health checks to make ensure that nodes and containers are op- erating as expected ▪ Automated rollouts to updated applications or its configurations without causing downtime Kubernetes provides tools for application deployment, service discovery, scheduling, updating, maintenance and scaling. Kubernetes is extensible so that it can sup- port a variety of use cases across many different imple- mentations. Therefore, Kubernetes is architected to sit on top of the physical infrastructure. Like most platforms, Kubernetes has a built-in set of ru- dimentary tools that allow you to monitor your servers. The term "built-in" may be a little bit of an overstate- ment. Given the extensible nature of Kubernetes, it is possible to add additional components to gain visibility into Kubernetes. For example, Custom Resource Defini- tions (CDR) are the way to extend Kubernetes and still 47
Building Cloud Native Apps Painlessly Page 52 Page 54