The evolution of AKS: from Containers to Kubernetes to Azure Kubernetes Service (AKS)

For some time now [Azure] Kubernetes is thé platform to orchestrate containers. Why is this and what are the benefits of using Kubernetes and managed Kubernetes (AKS)?

The basics: containers
I believe the evolution to AKS starts with containers. Even though you don’t recognize containers at first, they are applied everywhere. The app on your phone for example is packaged as a container as well. There are many kinds of containers, but Docker containers have become the standard for Linux applications.

A container is a reliable way to package and run applications in multiple environments (laptop, Microsoft Azure, private datacentre or Amazon). This is because a container isn’t depending on the platform where it is deployed. To function properly the container contains the application including all the necessary runtime and dictionaries. It doesn’t matter if the container runs on system A or B: the contents remain the same and all dependencies will be provided. For a representation see the image below.

Containers are more efficient because they share the same operating system (OS) and resources with other containers. In contrary to VMs, which have their own OS, containers can often be started in seconds, while a VM often needs minutes to start. Containers are also more interesting in terms of costs, because all containers share the same resources.

Source

The use of containers offers many more benefits. If you want to know more about containers, please feel free to read the article ‘write once, run anywhere’, written by Wesley Haakman. 

Microservices and Containers go hand in hand
Microservices and containers fit extremely well together. In a Microservice architecture, an application is split into multiple smaller services. Each service performs a specific task, nothing more. Microservices are developed independently and a unique development environment can be chosen for each service. For example, service A could make use of .net core, service B of php and service C of node.js.

It would be very inefficient to start a separate VM for each service. Containers offer an excellent solution to avoid this. By packaging each service in a container all containers can use the same hardware. After all, a container does not only contain the application to function properly, it also contains all the necessary runtime and libraries as well. The results of using the same hardware for multiple containers will give you a large cost-benefit.

Kubernetes is THE solution for managing containers
Kubernetes is the solution for the efficient management of larger numbers of containers. Kubernetes combines all VM’s or servers (nodes) into one cluster. This cluster can be managed centrally, by a system administrator or by the development teams themselves.

The main advantages of Kubernetes are:

  • Efficiency
    Kubernetes merges containers in "Pods" so that the most management problems will be solved. You assign properties to Pods such as storage, networking and scheduling. Kubernetes will then look at the available memory and processor usage of each node and will choose the best distribution for you. All nodes within the Kubernetes cluster will be optimally deployed. Eventually resulting indirect cost savings.

  • High-availability through Desired State principe 
    Kubernetes is applied according to the Desired State principle. You tell Kubernetes what you want, not how Kubernetes should run it. Kubernetes continuously does its utmost to meet your needs. So in the event of an update, maintenance or failure, Kubernetes will recreate or redistribute the pods to meet your requirements. it automatically ensures that the site or application is always available.
  • Update without downtime
    By using rolling updates you can always update without downtime. Rolling updates is a technique for replacing pods one by one with a newer version of Kubernetes. In many cases, it is no longer necessary to update in the evening or at night. You can also update more often because the updating can be automated in Kubernetes. Bugs are solved faster and customers get the features they ask for faster.
  • Central Management
    You manage your Kubernetes in one place. Kubernetes has its own storage for configurations, passwords and certificates. No local configuration is needed on VM or server level. This makes the management of a Kubernetes cluster efficient, easy and clear. There is also a huge number of tools and plugins available for managing Kubernetes. You are not obliged to use these tools, but it is nice to keep in mind that Kubernetes can grow endlessly with your organization.

Manage your Kubernetes with Azure Kubernetes Service
Setting up a Kubernetes cluster manually is a serious job and requires extensive knowledge and experience of Linux, Docker and Kubernetes. Even if you are successful in setting up a Kubernetes cluster, you still have to manage it. You need to plan how to deal with malfunctions, updates and extensions. If you are going to do all this all by yourself, this will take a lot of time and it will be quite expensive. So how can you manage kubernetes clusters properly? 


Azure Kubernetes Service
Azure Kubernetes Service (AKS) is managed Kubernetes in Azure. Microsoft takes over all your complex cluster management with AKS. With a few clicks or a few code lines you have an AKS cluster in production and you can manage your containers easily.

Microsoft is one of the largest participating organizations that actively develops on Kubernetes. This results in perfect support for Kubernetes in Azure. After a new version is released the version is available in Azure within two weeks. Updating a cluster, normally a very complicated job, has been reduced to a single click with AKS.

The reasons why you will love AKS even more:

  • It is Free! AKS is a free service. You only pay for the resources (VMs, storage and networking) your cluster uses. No additional costs are charged for the AKS PaaS service itself. Basically, the complex management of the cluster is free of charge.

  • Each Kubernetes cluster needs one or more master nodes. These VMs contain the configuration and take responsibility for the management of the cluster. The master nodes are at the expense of Microsoft, you only pay for the VMs or workloads your AKS-cluster consists.

  • AKS offers excellent integration with Azure DevOps for setting up CD / CI pipelines. For CI en CD pipelines it is most important that updates are deployed to production systems at any time of the day. With rolling updates, you can update the containers one by one without any downtime.

  • The AKS clusters in Azure run on an Availability set. In this way the servers of a cluster are distributed to several physically separated hardware racks. This guarantees that the cluster itself stays online during a failure of underlying hardware. As a result, an AKS cluster and is always available and therefore your application as well.

  • A cluster is almost endlessly scalable horizontally, adding or removing VMs can be done without downtime or even fully automatically. If you ever need any extra power, VMs are added to the cluster in just a few clicks.

  • Last, but not least. With Azure Kubernetes Service you have unmatched integrations with other services within Azure. For example, the integration with storage, networking, monitoring and security is flawlessly integrated within Kubernetes.

 

 

This article is part of a series 

In the follouw-up article, read what you need to set up a Kubernetes cluster and how to put it into practice step by step.

Sign up here for our Intercept Insights and we’ll keep you updated with the latest articles.

 

Visit our AKS workshop

Learn even more about AKS through our interactive AKS workshop. In 1.5 hours you will receive the benefits and best practices to make your environment more efficient. Through common AKS challenges, you will be ready for AKS. Click here for dates and register!

Tags

  • Azure Fundamentals
  • Azure Kubernetes Services
  • Containers

Possibly interesting as well:

  • 20201216 Intercept Website Banner Managed AKS

    AKS monitoring and Management

    This article is written to give you a high level insight into the possibilities of monitoring (Azure) resources, but AKS cluster in particular.

    • Reading duration 8min
    More about AKS monitoring and Management
  • 20210621 Intercept Artikel Illustratie Azure SLA

    Demystifying the Azure SLA

    Each Azure service has its own SLA with associated terms and conditions; limitations and service credit (service credits). But what does this mean exactly? In this article we explain the different SlA's with their differences and what this means for your organization.

    • Reading duration 7min
    More about Demystifying the Azure SLA
  • Ingress, Services, Pods & Namespaces

    One of the motivations for using containers and Kubernetes I come across are “We want to be multi-cloud”. But how easy is it to achieve a hybrid or multi-cloud scenario?

    • Reading duration 8min
    More about Ingress, Services, Pods & Namespaces
  • Aks Security

    AKS Security

    Everyone is working hard on the new platform and then someone asks.. “What about security?”

    • Reading duration 10min
    More about AKS Security
  • Ebook AKS ENG 1

    Thé Intercept AKS e-book

    This e-book gives you all the information you need to decide if Azure Kubernetes is a good match for your software architecture. We also tell you more about our best practices on security, update scenarios and monitoring and managing of AKS cluster (and many more!).

    • Reading duration 2min
    More about Thé Intercept AKS e-book
  • Windows containers in a Linux world

    A common question when someone is looking into transforming / containerizing their solution is “I’m now running on a Windows based system; do I use Windows containers, or do I go with Linux containers?”. And that is a very valid question.

    • Reading duration 8min
    More about Windows containers in a Linux world
  • Update scenario’s on AKS

    In this article I am going to go over a very important topic, updates. When I say updates, I am referring to not only Kubernetes updates, but also the worker node OS updates. Many people forget about patching the worker node OS believing that it is handle by Microsoft. This is not the case.

    • Reading duration 7min
    More about Update scenario’s on AKS
  • Choosing between Azure SQL, SQL Managed instance or SQL Server

    A question we get asked often at Intercept, when we transform an application to Azure, is what SQL database to use. In this article we will tell you more about the possibile options, what to pay attention to when making this choice and which database we recommend for which situation.

    • Reading duration 4min
    More about Choosing between Azure SQL, SQL Managed instance or SQL Server
  • Microservices on AKS

    I hear and see online that many people talk about Microservices and Service Mesch, but what is this? In this article we'll look at what Microservices are, what a Service Mesh is and what you can do with it, and finally whether you really need it now.

    • Reading duration 8min
    More about Microservices on AKS
  • Going hybrid with Kubernetes

    You have a deadline and promised your customers to launch your new platform on a specific date, everyone is working hard and you’re barely meeting your target date. And then someone asks.. “What about security?”

    • Reading duration 7min
    More about Going hybrid with Kubernetes
  • 20201216 Intercept Website Banner Landingspagina Accelerate With Azure

    Best practices; Azure Kubernetes cluster set up

    Kubernetes is “hot & happening”, almost every company already uses or wants to use Kubernetes. Creating an AKS-cluster seems easy enough, but what if you want to create an AKS-cluster for serious production workloads? In this article we will give you some pointers and best-practices which will help you create an AKS-cluster ready for production environments.

    • Reading duration 6min
    More about Best practices; Azure Kubernetes cluster set up
  • Best practices; Azure Kubernetes cluster set up

    Kubernetes is “hot & happening”, almost every company already uses or wants to use Kubernetes. Creating an AKS-cluster seems easy enough, but what if you want to create an AKS-cluster for serious production workloads? In this article we will give you some pointers and best-practices which will help you create an AKS-cluster ready for production environments.

    • Reading duration 6min
    More about Best practices; Azure Kubernetes cluster set up
  • Which Azure Cloud Services Are Relevant for My Organization?

    Azure has a range of services for every kind of Cloud computing that complement your environment. There are numerous Azure Cloud Services to choose from. This article discusses the most important and relevant services for your organization.

    • Reading duration 3min
    More about Which Azure Cloud Services Are Relevant for My Organization?
  • How to reach your audience by utilizing the Microsoft Marketplace

    The Microsoft Azure Marketplace. What exactly is it and how can you leverage the power of the Azure Marketplace? Did you know that many companies are already using the marketplace without even being aware? In this article we will dive into the basics of the Azure Marketplace and how you can leverage the benefits.

    • Reading duration 5min
    More about How to reach your audience by utilizing the Microsoft Marketplace
  • The impact of SaaS on the software industry

    Software as a service is a model for software licensing that is rapidly becoming the norm in business. But why do so many software companies transfer to SaaS? And what impact does this have on the business process of the ISV?

    • Reading duration 6min
    More about The impact of SaaS on the software industry