…Ops: DevOps, MLOps, DevSecOps (Part 1)

Geoffrey Aaron
4 min readSep 12, 2022

--

Lets talk about …Ops stuff in Amazon Web Service

DevOps, DevSecOps, and MLDevOps

Sometimes, we are wondering how to accelerate product development journey in Technology Industry. The answer for this era is Agile. What does exactly Agile mean ?

Based on agilealliance, Agile (ag·ile /ˈajəl/) is the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment. Agile culture is very important to be adopt when we are working in the large-scale development and giving the best customer journey with our product.

It is very hard to adopt Agile Culture without any concrete methodology, since the agile word is very broad. To help us to understanding the agile culture, in this world community, especially for software/product development, is develop some methodologies which can we follow, there are DevOps, DevSecOps, and MLOps. Lets we discuss one by one and how Amazon Web Service help us to adopt those methodologies

DevOps

DevOps Illustration

DevOps is a combination of the terms Development and IT Operations, meant to represent a collaborative or shared approach to the tasks performed by a company’s application development and IT operations teams. DevOps is also can be defined as combination of cultural, engineering practices and patterns, and tools that increase an organisation’s ability to deliver applications and services at high velocity and better quality.

DevOps contains with several principles: Create with the end in mind, Customer-centric action, Continuous Improvement, Automation, and Collaboration.

To implement DevOps culture in software development cycle, CI/CD are main key point to adopt DevOps. CI/CD can be pictured as unity process in the pipeline where new code is submitted on one end, tested over a series of stages (source, build, staging, and production), and then published as production-ready code.

Diagram of CI/CD Pipeline

There are several AWS Services can be used for DevOps Journey, there are Code Artifact, CodeCommit, CodeBuild, CodeDeploy, and CodeePipeline~

AWS Services for DevOps Journey

If would like to try end test for DevOps Lab and Tutorial in AWS, let refer to this link ~

Deployment Methods

By choosing the correct deployment method, we can ensure customer satisfied with our application. One of the main key to choose deployment method is our business model. Let’s take a look various deployment methods can we use to deliver application to user.

In-Place Deployments

In this strategy, we will deploy all new version of application at once and replace all the previous version. If there are any problem with our application, the way to rollback to previous version is by re-deploying the previous version again. With this deployment method, it will have high risk and long down time of application

Illustration of In-Place Deployments

Blue/Green Deployments

Another method we can use is Blue/Green Deployments, it is method for releasing the new version of application by deploying the exact same capacity as previous version and shifting the traffic at once to the new application version. This method will help to minimise downtime during application updates mitigating risks surrounding downtime and rollback functionality. It is called by Blue/Green because we can assume the Green is your new application version and Blue is the previous version of your application.

Illustration of Blue/Green Deployments

Canary Deployments

This deployment is similar with blue/green strategy but reduce the risk of bad user experience. This deployment can be done by deploying the exact same capacity as previous version and shifting the few percentages of user traffic to the new application version.

Illustration of Canary Deployments

Rolling Deployments

Deployment also can be done by grouping and dividing full set application into small portions to make sure isn’t updated to new version at once. While we are doing this deployment, it might have possibility in set of application will run the new and old version in the same time. This method allows to reduce the downtime update until zero. If the deployment of new application is failed, only the updated portion of the cluster will be affected.

Illustration of Rolling Deployments

Part 2 will come out as soon as possible…

If you want to explore other cool blogs of technologies, please stay tune on eCloudture Medium !!!

To get more detail about DevOps, please visit eCloudvalley to get DevOps Whitepaper~

Resource:

--

--

Geoffrey Aaron
Geoffrey Aaron

Written by Geoffrey Aaron

He is passionate about making the world a better place. He wants to solve business and economic with the latest technology.

No responses yet