Professional Documents
Culture Documents
DevOps
• DevOps continues to make waves in the tech industry as a means for powering up
software teams into supercharged IT powerhouses.
• 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
• 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.
• 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.
• 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).
• 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.
• 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 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.
• 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.