Infrastructure Transition to DevOps with Alibaba Cloud — Part 1: Container Services

Why Does the Traditional Model Need Changes?

Traditional software development models include the Rational Unified Process, the V model, and the Waterfall model. The modern approach, particularly the Agile method, is significantly replacing traditional development models. There are several challenges that organizations face when implementing traditional software development models:

  • Inconsistent environments
  • Restricted monitoring
  • Lack of shared ownership
  • Mismatch between expectation and reality
  • Obsolete testing practices

What Tools Are Required to Make the Shift?

DevOps is the usability and functionality of two essential features and their respective tools. The success of DevOps significantly depends on the use of containers, the automation process, and its tools. In this blog, I’ll be describing Container Services.

Container

Containers refer to the solutions that help run the applications while moving across multiple computing environments. One of the most important things to remember is the kernel should be of the same type. The movement could vary from staging to the production environment or from a physical machine to a virtual machine on the cloud. Additionally, containers help in minimizing the conflicts among teams that function on different software on the same infrastructure by isolating the software from its surroundings. Each containerized application runs on a single operating system and shares kernel with other containers, making it lightweight. Containers enable a popular architecture called microservices, which refers to disassembled small parts of an application and replaces the bulkiness of the application.

  • Accelerates Development: Containers allow users to dismantle an application into small and discrete elements called microservices. This minimizes the efforts and time of the pipeline of creation :arrow_right: testing :arrow_right: deployment :arrow_right: integration.
  • Optimize Cloud Utilization: Organizations adopting containers and cloud technology rapidly helps utilize cloud services to the fullest. This also allows the cloud environment to deploy several containerized applications on top of a single cloud instance.
  • Promotes Service Oriented Architecture: Containerization ensures every individual container runs a single application or process. By doing this, users must enhance the quality of the entire development model.
  • Lightweight and Easy to Use: Containers are extremely lightweight. This feature enables managing application components with ease. Moreover, it is possible to deploy them on multiple OSs and VMs.

Alibaba Cloud and Kubernetes

To facilitate the use of Kubernetes to manage container applications in Alibaba Cloud, Alibaba Cloud Container Service provides support for Kubernetes clusters. Using the application deployment capability of Alibaba Cloud Resource Orchestration Service (ROS), developers can quickly and easily create a universally available and secure Kubernetes cluster in one-click by using ROS templates.

  • Load Balancing and Service Discovery: Kubernetes allocates containers their own IP addresses and a single DNS name for a set of containers because it ensures smooth load balancing across them. Developers/programmers also don’t need to worry about modifying their application to use an unaccustomed service discovery mechanism.
  • Service discovery and server load balancing
  • Service publication and rollback
  • Secrets and configuration management

Why Kubernetes Is the Preferred Tool?

Kubernetes fulfills all the requirements of building large clusters that run complex applications. The use of Kubernetes also ensures the avoidance of infrastructure scalability and rolling upgrades with time. Additionally, it provides admins/developers a framework to establish the rules of interaction among applications.

What’s Next?

I will cover Automation with DevOps-Agile in the next blog. It will describe Continuous Integration and Continuous Deployment as the core features of DevOps and how automation is a significant contributor to the entire DevOps model.

Original Source:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store