EN

Why adopt Kubernetes?

Modernization requires planning and Kubernetes stands out for its agility and strong community. Companies like Americanas and Banco Rendimento are already benefiting.

CTO

João Brito

A long-term journey for a lasting solution

Architecture and application modernization is always a complex moment. There are many factors involved, and the first on the list is that modernization presupposes that something is already working: an architecture or application is already in use and we are working towards its future. Therefore, the planning must be done for the long term. As a good coach would say: "Every journey begins with the first step!"

Here, the first step is to understand that Kubernetes does not solve all problems; no technology does that. However, Kubernetes is a robust technology with a giant open-source community regulated by the CNCF, linked to the Linux Foundation, and with an ecosystem that has been growing more and more in recent years, as can be observed here:

In addition, 90% of companies in the "Fortune 500" index use Kubernetes to execute their modernization strategies, as the great change the tool brings is acceleration with quality.

Next, you can better understand some technology comparisons and gains when using Kubernetes.

Kubernetes VS VMs VS Swarm

Virtual machines have been part of our lives for a long time. We went through the era of "Configuration Managers," with great examples being Puppet and Chef. These tools continue to exist and be used on a large scale, which is why it can be said they are used to set up and maintain Kubernetes environments. For example, with the growth in adoption of IaC (Infrastructure as Code), these tools met strong competitors like Ansible and Terraform. They hold great value when we talk about infrastructure, as they enable the ability to reproduce and even audit not only the creation but also its process and administration. However, when we talk about Kubernetes, we are talking about a layer above infrastructure, which demands even more agility and an automation that is ready to act on its own.

Thus, the use of VMs in this scenario should be restricted to infrastructure, enabling the upper layers to operate efficiently and at the speed the business requires.

As previously mentioned, just like Kubernetes, containers are not silver bullets that solve and fit every need. However, with the evolution and mass adoption of these technologies, the number of exceptions decreases in every moment.

Virtual machines currently have the main function of being resources available for use; there is no competition, for example, between the time in minutes for a machine to boot up and start receiving traffic versus the seconds a container takes to be live and responding to requests. Even using immutable infrastructure techniques, there is still no comparison with the efficiency and resource allocation gains, with containers reaching over 40% improvement.

Speaking of container agility and efficiency, simply putting your applications in them does not solve problems. In fact, almost all problems are still there... perhaps portability gets the biggest gain, but even so, it would be necessary to resolve issues of addressing, routing, governance, scaling, availability, resilience, among others, and this issue is solved by the "Container Orchestration."

At this moment in history, there are other container orchestrators besides Kubernetes, such as Docker Swarm (Swarmkit) and Nomad (Hashicorp). So why use Kubernetes? Perhaps a major trump card of Kubernetes is its community of users and businesses; if you check Github right now, we have more than 3,000 contributors, and that is just in the Kubernetes project alone. There are also over 1,800 other projects in the CNCF ecosystem that rely on Kubernetes for their operation.

In the recent past, some companies that already had their own orchestration solutions abandoned them and focused their efforts on Kubernetes. Companies like RedHat, Pivotal, Cloud Foundry, and even VMWare, the on-premises virtualization giant, have their own Kubernetes solution. Likewise, all major cloud providers have their own managed Kubernetes offerings and have been betting heavily on this as the definitive way to deploy applications.

There is also the classic chicken-and-egg dilemma: "Is Kubernetes larger because it has more features and is more stable, or is it more stable and has more features because it is the largest?"

To be honest, we don't know the answer, but the numbers are out there. You can look at the latest reports not only from the CNCF but also from Google to draw your own conclusions on which technologies you will use to shape your new architecture and environment in the coming years. 

What we can state with certainty is that Kubernetes and its ecosystem will bring a major boost in agility, resilience, and longevity to your plan. Imagine using in your stack the same technologies that not only hipster giants like Google, Netflix, Spotify, and Alibaba use, but also banks where Kubernetes is the standard requested stack. 

In the examples below, you can check out how Banco Rendimento and Americanas use the platform as the foundation for their large scale. 

Applications that use Kubernetes with Getup

Pix: agility for transfers.

In partnership with Banco Rendimento, during 2020 Getup worked to accelerate Pix, the Central Bank of Brazil's instant payment system.

Our specialists had already worked on other initiatives with the bank, performing with excellence. In this case, we were chosen because of the exemplary work in previous experiences. 

According to Josmar Peixe, architecture and solution manager at Banco Rendimento: “It's hard not to justify the positive points of adopting Kubernetes. With it, we went from around 60 to 1,100 builds per month.” Check out this interview.

Americanas

With the pandemic, Brazilian retail companies faced some setbacks due to the digital transformation process imposed by isolation restrictions. During Easter 2020, Americanas had to meet a demand that went from four thousand orders per day to forty-two thousand.

In addition to reviewing logistics issues (such as inventory and labor), it was essential to revise the technological infrastructure of its application. To solve this challenge, Lojas Americanas S/A hired Getup for operational and strategic support in its K8s journey. 

With the support of our specialists, the application was broken down into microservices, and in the same year, during Black Friday, it was already running using native Kubernetes resources. 

According to Armando Reis, IT Manager at the retailer: “Running applications with Kubernetes gives more speed to the process, more assurance that the code will work in the production environment, requires little manual action, and reduces the application development life cycle time and cost with machines.” Check out the case study.

Last but not least…

The Learning Curve and Adoption still need to be addressed. It is a fact that this phase exists in every technology, transformation, and modernization one wishes to undertake. However, the question that must be asked is: are we going to invest in knowledge that lasts? And the answer is: Absolutely!

Want to know more about how to move towards modernization through a Kubernetes journey? Talk to a specialist.

Operating Kubernetes in production for more than 13 years. With Quor, this experience extends to software supply chain security as well.