You are on page 1of 17

Need of Cloud in DevOps

DevOps
• DevOps continues to make waves in the tech industry as a means for powering up
software teams into supercharged IT powerhouses. 

• The focus of DevOps is to leverage multi-faceted teams of developers and operations


professionals that work together.

• One of the primary pursuits of DevOps tools is utilizing the power of automation.

• The focus of DevOps is to get more work done in less time without burning out your
teams.

• Automation and transparency go a long way in propping up these goals and enabling
teams to focus on the things that really matter.
DevOps Practices

• The practices help organizations deliver faster, more reliable updates


to their customer.

• The following are DevOps best practices:


• Continuous Integration
• Continuous Delivery
• Microservices
• Infrastructure as Code
• Monitoring and Logging
• Communication and Collaboration
Continuous Integration

• Continuous integration is a DevOps software development practice where


developers regularly merge their code changes into a central repository, after
which automated builds and tests are run.

• Continuous integration most often refers to the build or integration stage of the
software release process and entails both an automation and cultural
components.

• The key goals of continuous integration are to find and address bugs quicker,
improve software quality, and reduce the time it takes to validate and release
new software updates
Continuous Integration
• Continuous integration refers to the build and unit testing stages of the
software release process. Every revision that is committed triggers an
automated build and test.
Continuous Delivery
• Continuous delivery is a software development practice where code changes
are automatically prepared for a release to production.

• A pillar of modern application development, continuous delivery expands


upon continuous integration by deploying all code changes.

• Continuous delivery lets developers automate testing beyond just unit tests so
they can verify application updates across multiple dimensions before
deploying to customers.

• These tests may include UI testing, load testing, integration testing, API
reliability testing, etc. 
Continuous Delivery vs. Continuous Deployment
• With continuous delivery, every code change is built, tested, and then pushed to a
non-production testing or staging environment.

• The difference between continuous delivery and continuous deployment is the


presence of a manual approval to update to production.

• With continuous deployment, production happens automatically without explicit


approval. 
Microservices
• The microservices architecture is a design approach to build a single
application as a set of small services.

• Each service runs in its own process and communicates with other services
through a well-defined interface using a lightweight mechanism, typically an
HTTP-based application programming interface (API).

• Microservices are built around business capabilities; each service is scoped to


a single purpose.

• You can use different frameworks or programming languages to write


microservices and deploy them independently, as a single service, or as a group
of services.
Infrastructure as Code
• Infrastructure as code is a practice in which infrastructure is provisioned and
managed using code and software development techniques, such as version control
and continuous integration.

• Configuration Management

• Developers and system administrators use code to automate operating system and host
configuration, operational tasks, and more. The use of code makes configuration changes
repeatable and standardized.

• Policy as Code:

• With infrastructure and its configuration codified with the cloud, organizations can monitor and
enforce compliance dynamically and at scale. Infrastructure that is described by code can thus
be tracked, validated, and reconfigured in an automated way.
Monitoring and Logging
• Organizations monitor metrics and logs to see how application and
infrastructure performance impacts the experience of their product’s end user.

• By capturing, categorizing, and then analyzing data and logs generated by


applications and infrastructure, organizations understand how changes or
updates impact users, shedding insights into the root causes of problems or
unexpected changes. 
Communication and Collaboration

• Increased communication and collaboration in an organization is one of the key


cultural aspects of DevOps.

• The use of DevOps tooling and automation of the software delivery process
establishes collaboration by physically bringing together the workflows and
responsibilities of development and operations.
The Role of Cloud in DevOps
• The cloud also allows for easily building to experimental test
environments for quickly prototyping solutions.

• The centralized nature of cloud computing provides DevOps automation


with a standard and centralized platform for testing, deployment, and
production.

• DevOps automation is becoming cloud-centric. Most public and private


cloud computing providers support DevOps systemically on their
platform, including continuous integration and continuous development
tools. 
The Advantages Of DevOps On The Cloud

DevOps And Cloud Infrastructure Automation

• The DevOps tool on the cloud provides the entire link covering DevOps right from the
submission of code to the entire life process of application release, we can have a flexible
choice of open-source tools and professional products.

Features of IaaS Tools For DevOps For Cloud

• There are many open-source tools and proprietary products to achieve DevOps on the cloud
such as Terraform from HashiCorp as an example to manage multi-cloud infrastructure and
application automation management solutions. 
Popular Cloud Providers for DevOps
• Amazon AWS

• Microsoft Azure
CI/CD in AWS and Azure
• The AWS Toolkit for Azure DevOps is an extension for hosted and on-premises Microsoft Azure
DevOps that make it easy to manage and deploy applications using AWS.

• If you already use Azure DevOps, the AWS Toolkit for Azure DevOps makes it easy to deploy your code
to AWS using either AWS Elastic Beanstalk or AWS CodeDeploy.

• No changes to your existing build/release pipeline or processes are required to integrate with AWS
Services. You can even deploy serverless applications and .NET Core C# functions to AWS Lambda.

• The AWS Toolkit for Azure DevOps allow you to deploy AWS CloudFormation templates, so you have
an easy way to manage, provision, and update a collection of AWS resources from within Azure
DevOps.

• The AWS Toolkit for Azure DevOps provides integration with many AWS services, which make it easy
to store build artifacts in Amazon S3, run commands from the AWS Tools for Windows PowerShell and
AWS CLI, and manage notifications through Amazon SNS or Amazon SQS queues.
CI/CD Services in AWS
• Continuous Integration :
• AWS CodePipeline
• AWS CodeBuild 
• Continuous Delivery:
• AWS CodePipeline
• AWS CodeBuild
• AWS CodeDeploy
• Microservices
• Amazon Container Service (Amazon ECS) »
• AWS Lambda
• Infrastructure as Code
• AWS CloudFormation
• AWS OpsWork
• AWS Config
• Monitoring and Logging
• Amazon CloudWatch
• AWS CloudTrail
• Communication and Collaboration
Usage of AWS Pipeline
• Before you can use AWS CodePipeline for the first time, you must
complete the following steps.

• Step 1: Create an AWS account


• Step 2: Create or use an IAM user
• Step 3: Use an IAM managed policy to assign CodePipeline permissions to the
IAM user
• Step 4: Install the AWS CLI
• Step 5: Open the console for CodePipeline

You might also like