2017 has been the year for Kubernetes. The orchestrator has become the top orchestration platform, and whenever someone says that they work with Kubernetes, ears start perking up.
Docker is still relevant (specifically Swarm mode for orchestration features), but Kubernetes is viewed as a stronger platform.
What will make this platform stronger, and in what ways will this platform be used in 2018 and beyond? Let’s discuss.
Kubernetes is bigger than container organization.
Kubernetes is an ecosystem with a passionate community, which is why it’s vital to see what the community is working on now for the future of this platform. For a little context, there are 11,104 repos on GitHub with the word Kubernetes. That’s a lot of code, ideas, and intentions for the future.
Where should you look for the future of Kubernetes?
The key consideration to make when looking at any development trend is this: Will this new idea or way of reasoning help me set responsibility to maximize app performance and service deployment?
Then: Will this trend help us solve the problem more effectively? Will it help us solve a problem? Or will this create new complications that will slow down production time? And are these in fact trends? These ideas and solutions should be seen as part of the maturing process of kubernetes. This is when some tried-and-true ideas on how to approach apps, APIs, and security apply to this brave new world of organized containers.
- The service mesh (managing microservices through proxy)
- Streamline data workloads (improve GPU support)
- Serverless (functions as a service is not going away)
- Reusing tools
- Give containers and services identities
- Protection (when is this not top of mind?)
- Multi-tenancy and integration
- Policy definition (LDAP)
All of these ideas and concepts are being executed through projects. As I mentioned earlier, there are 11,104 repos with the word Kubernetes, meaning that these projects are addressing these new ideas. I think it’s vital to pay attention in particular to serverless applications, container identification, multi-tenancy, and the service mesh. In order for Kubernetes to continue its growth trajectory and engagement with the development community, containerized applications that are quick starting, secure, and well-identified need to be the focus so that the development experience across the board feels good for developers.
Serverless functions in the Kubernetes space are rapidly gaining popularity. Kubeless, OpenWhisk, and Fission are currently the top projects in this space. Mapping these functions to HTTP requests or event triggers makes it easy to put these functions on top of Kubernetes. It abstracts away layers and allows for quick start times. This cannot be overstated: Serverless is going to continue to be vital to a strong Kubernetes ecosystem. The ability to make small extensible functions in a variety of languages is too compelling to ignore.
Service mesh frameworks can solve a lot of problems (or at least get the team closer) by allowing the frameworks to do the work of traffic control, policy enforcement, and security. Microservices are a key part of a dynamic application, and for Kubernetes to fully live up to its potential, service mesh will become a key component to abstracting out or shifting responsibility from the core team with regards to maintaining security, policy, and looking at the entire picture of the app through consolidation of these microservices on Kubernetes.
Identity and security should be at the forefront of every application, regardless of deployment method of choice. SPIFFE (Secure Production Identity Framework for Everyone) is a framework identity project that sets standards for secure identified communications between services. This project will continue to be a core focus for those with apps on Kubernetes. There are plenty of resources on GitHub for this project, including API specifications and information on the standard for service identification.
Clearly there is far more information that I could write on this space. There will be more “trends” that will hit the Kubernetes space in 2018. The lesson here is that the core fundamentals of application performance, security, and organization are vital to a strong product. Kubernetes is a great development. The automation of deployment, scaling, and management which easily moves into any infrastructure is fantastic. In order to maximize the power of Kubernetes into 2018 and beyond, abstracting code, allowing for easier microservice integration and management, and clear identification and policy will allow apps built on top of this powerhouse to become even more powerful. Kubernetes is pretty super, but we can make it even more so.