Kubernetes and AKS

Kubernetes and AKS

Ever since it emerged out containers have quickly become one of the hot technologies of the decade. Simply put, Kubernetes is now the undisputed platform of choice for composing and running applications comprised of microservices – small, independently deployable services that run in isolation and work together to function as a larger application that can be ported across various types of infrastructure.

First off, what is containerisation?

Containerisation in brief terms is a method of splitting up a machine into multiple layers which are all isolated. Containers allow for a portable approach for application development and offer increased flexibility. Whether it’s important for your business to be able to take your application to any cloud hosting provider, or maybe you would like to use different services such as Kubernetes, Docker, Azure Web App for Containers – containers offer this flexibility and portability. Lastly, containerisation provides a method of moving away from monolithic application architectures and allows you to move to a microservice-based application architecture, which in return, allows you to modernise your web applications.

containerisation-diagram.png

Where does Kubernetes come into this?

Kubernetes is an open-source system to allow containerised applications to be deployed into a controlled environment – as all of us tech enthusiasts call a cluster. Kubernetes was originally developed and designed by Google, however, in 2015 it was released as an open-source project for the wider community to contribute towards. If you’ve heard of Docker before, it’s a very similar concept to that.

What is Azure Kubernetes Service?

Microsoft Azure is a world-renown cloud platform for SMBs to large scale business, while Kubernetes is a modern-day approach that is rapidly becoming the regular methodology to manage cloud-native applications in a production environment. Azure Kubernetes Service (AKS) has brought both solutions together that allow customers to create fully-managed Kubernetes clusters quickly and easily.

AKS is an open-source fully managed container orchestration service that became available in June 2018 and is available on the Microsoft Azure public cloud that can be used to deploy, scale and manage Docker containers and container-based applications in a cluster environment.

components-of-kubernetes.png

Azure Kubernetes Service offers provisioning, scaling, and upgrades of resources as per requirement or demand without any downtime in the Kubernetes cluster and the best thing about AKS is that you don’t require deep knowledge and expertise in container orchestration to manage AKS.

AKS is certainly an ideal platform for developers to develop their modern applications using Kubernetes on the Azure architecture where Azure Container Instances are the pretty right choice to deploy containers on the public cloud. The Azure Container Instances help in reducing the stress on developers to deploy and run their applications on Kubernetes architecture.

Why choose AKS over virtual machines?

You may be wondering why you would use AKS and containers rather than migrating virtual machines. There are cases where virtual machines would be a better fit, of course, depends on the application you’re looking to migrate or modernise. However, most of the time, web applications are a great start to look at containerising. The following benefits come with using containers as opposed to using virtual machines:

  • Cost – Only pay for what you require. Maybe you have certain parts of the month where the demand for your application is higher – let Microsoft autoscaling do the work to ensure you are only using the resources that your application needs.

  • Isolation – Applications running containers in AKS can be completely isolated from each other unless of course, you need them to communicate with each other.

  • Flexibility – You can run your applications on Linux, Windows, or both!

  • Less patching – With less virtual machines, comes less maintenance. Allow your engineers to be creative in other areas that will increase the benefits to your business.

  • Zero downtime upgrades – Rolling upgrades to your applications happen seamlessly with no downtime. When you upgrade your application image and push to a container registry, AKS will deploy your application next to your current application. When AKS decides your containers are healthy, it will softly shut down your old version of the container and users will use the newly patched application. No more rebooting virtual machines after upgrades!

  • Support for Microservices and intergration – Microservices are a great candidate for containers and AKS. Run each one of your services in a different pod. This will allow you to patch each service at a time as opposed to taking down the whole application. If you need to connect to a database such as SQL, you can integrate AKS with Azure SQL PaaS services, or choose to run your database in your AKS cluster – the choice is yours.

  • Faster application development - Developers spent most of the time on bug-fixing. AKS reduces the debugging time while handling patching, auto-upgrades, and self-healing and simplifies the container orchestration. It definitely saves a lot of time and developers will focus on developing their apps while remaining more productive.

  • Security and compliance -Cybersecurity is one of the most important aspects of modern applications and businesses. AKS integrates with Azure Active Directory (AD) and offers on-demand access to the users to greatly reduce threats and risks. AKS is also completely compliant with the standards and regulatory requirements such as System and Organization Controls (SOC), HIPAA, ISO, and PCI DSS.

Some companies using AKS

  • Starbucks

  • United Wholesale Mortgage

  • Carmax

  • Fiserv

  • Wind River

  • Humana

Did you find this article valuable?

Support Written Wisdom by becoming a sponsor. Any amount is appreciated!