Transcription of Introduction to DevOps on AWS - AWS Whitepaper
1 Introduction to DevOps on AWSAWS WhitepaperIntroduction to DevOps on AWS AWS WhitepaperIntroduction to DevOps on AWS: AWS WhitepaperCopyright amazon Web Services, Inc. and/or its affiliates. All rights 's trademarks and trade dress may not be used in connection with any product or service that is notAmazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages ordiscredits amazon . All other trademarks not owned by amazon are the property of their respective owners, who mayor may not be affiliated with, connected to, or sponsored by to DevOps on AWS AWS WhitepaperTable of ContentsAbstract .. 1 Abstract .. 1 Introduction .. 2 Continuous 3 AWS CodeCommit .. 3 AWS CodeBuild .. 3 AWS CodeArtifact .. 4 Continuous Delivery .. 5 AWS CodeDeploy .. 5 AWS CodePipeline .. 6 Deployment Strategies .. 7In-Place Deployments .. 7 Blue/Green Deployments.
2 7 Canary Deployments .. 7 Linear Deployments .. 7 All-at-once Deployments .. 8 Deployment Strategies Matrix .. 9 AWS Elastic Beanstalk Deployment Strategies .. 9 Infrastructure as Code .. 10 AWS CloudFormation .. 10 AWS Cloud Development Kit .. 11 AWS Cloud Development Kit for Kubernetes .. 13 AWS OpsWorks .. 13 AWS Elastic Beanstalk .. 14 Monitoring and 15 amazon CloudWatch .. 15 amazon CloudWatch Alarms .. 15 amazon CloudWatch Logs .. 15 amazon CloudWatch Logs Insights .. 16 amazon CloudWatch Events .. 16 amazon EventBridge .. 16 AWS CloudTrail .. 16 Communication and 17 Two-Pizza Teams .. 17 Security .. 18 AWS Shared Responsibility Model .. 18 Identity and Access Management .. 20 Document Revisions .. 22 Notices .. 23iiiIntroduction to DevOps on AWS AWS WhitepaperAbstractIntroduction to DevOps on AWSP ublication date: October 16, 2020 (Document Revisions (p. 21))AbstractToday more than ever, enterprises are embarking on their digital transformation journey to build deeperconnections with their customers to achieve sustainable and enduring business value.
3 Organizationsof all shapes and sizes are disrupting their competitors and entering new markets by innovating morequickly than ever before. For these organizations, it is important to focus on innovation and softwaredisruption, making it critical to streamline their software delivery. Organizations that shorten their timefrom idea to production making speed and agility a priority could be tomorrow's there are several factors to consider in becoming the next digital disruptor, this Whitepaper focuseson DevOps , and the services and features in the AWS platform that will help increase an organization'sability to deliver applications and services at a high to DevOps on AWS AWS WhitepaperIntroductionDevOps is the combination of cultural, engineering practices and patterns, and tools that increase anorganization's ability to deliver applications and services at high velocity and better quality.
4 Over time,several essential practices have emerged when adopting DevOps : Continuous Integration, ContinuousDelivery, Infrastructure as Code, and Monitoring and paper highlights AWS capabilities that help you accelerate your DevOps journey, and how AWSservices can help remove the undifferentiated heavy lifting associated with DevOps adaptation. We alsohighlight how to build a continuous integration and delivery capability without managing servers orbuild nodes, and how to leverage Infrastructure as Code to provision and manage your cloud resources ina consistent and repeatable manner. Continuous Integration: is a software development practice where developers regularly merge theircode changes into a central repository, after which automated builds and tests are run. Continuous Delivery: is a software development practice where code changes are automatically built,tested, and prepared for a release to production.
5 Infrastructure as Code: is a practice in which infrastructure is provisioned and managed using codeand software development techniques, such as version control, and continuous integration. Monitoring and Logging: enables organizations to see how application and infrastructureperformance impacts the experience of their product s end user. Communication and Collaboration: practices are established to bring the teams closer and bybuilding workflows and distributing the responsibilities for DevOps . Security: should be a cross cutting concern. Your continuous integration and continuous delivery (CI/CD) pipelines and related services should be safeguarded and proper access control permissions shouldbe set examination of each of these principles reveals a close connection to the offerings available fromAmazon Web Services (AWS).2 Introduction to DevOps on AWS AWS WhitepaperAWS CodeCommitContinuous IntegrationContinuous Integration (CI) is a software development practice where developers regularly merge theircode changes into a central code repository, after which automated builds and tests are run.
6 CI helps findand address bugs quicker, improve software quality, and reduce the time it takes to validate and releasenew software offers the following services for continuous integration:Topics AWS CodeCommit (p. 3) AWS CodeBuild (p. 3) AWS CodeArtifact (p. 4)AWS CodeCommitAWS CodeCommit is a secure, highly scalable, managed source control service that hosts private gitrepositories. CodeCommit eliminates the need for you to operate your own source control system andthere is no hardware to provision and scale or software to install, configure, and operate. You can useCodeCommit to store anything from code to binaries, and it supports the standard functionality of Git,allowing it to work seamlessly with your existing Git-based tools. Your team can also use CodeCommit sonline code tools to browse, edit, and collaborate on projects. AWS CodeCommit has several benefits:Collaboration- AWS CodeCommit is designed for collaborative software development.
7 You can easilycommit, branch, and merge your code enabling you to easily maintain control of your team s also supports pull requests, which provide a mechanism to request code reviews anddiscuss code with You can transfer your files to and from AWS CodeCommit using HTTPS or SSH, as youprefer. Your repositories are also automatically encrypted at rest through AWS Key Management Service(AWS KMS) using customer-specific Control- AWS CodeCommit uses AWS Identity and Access Management (IAM) to control andmonitor who can access your data in addition to how, when, and where they can access it. CodeCommitalso helps you monitor your repositories through AWS CloudTrail and amazon Availability and Durability- AWS CodeCommit stores your repositories in amazon Simple StorageService ( amazon S3) and amazon DynamoDB. Your encrypted data is redundantly stored across multiplefacilities. This architecture increases the availability and durability of your repository and Custom Scripts- You can now receive notifications for events impacting yourrepositories.
8 Notifications will come as amazon Simple Notification Service ( amazon SNS) notification will include a status message as well as a link to the resources whose event generatedthat notification. Additionally, using AWS CodeCommit repository triggers, you can send notificationsand create HTTP webhooks with amazon SNS or invoke AWS Lambda functions in response to therepository events you CodeBuildAWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests,and produces software packages that are ready to deploy. You don t need to provision, manage, and3 Introduction to DevOps on AWS AWS WhitepaperAWS CodeArtifactscale your own build servers. CodeBuild can use either of GitHub, GitHub Enterprise, BitBucket, AWSCodeCommit, or amazon S3 as a source scales continuously and can process multiple builds concurrently. CodeBuild offers variouspre-configured environments for various versions of Microsoft Windows and Linux.
9 Customers can alsobring their customized build environments as Docker containers. CodeBuild also integrates with opensource tools such as Jenkins and can also create reports for unit, functional, or integration tests. These reports provide a visualview of how many tests cases were run and how many passed or failed. The build process can also be runinside an amazon Virtual Private Cloud ( amazon VPC) which can be helpful if your integration services ordatabases are deployed inside a CodeArtifactAWS CodeArtifact is a fully managed artifact repository service that can be used by organizationssecurely store, publish, and share software packages used in their software development can be configured to automatically fetch software packages and dependencies from publicartifact repositories so developers have access to the latest development teams are increasingly relying on open-source packages to perform commontasks in their application package.
10 It has now become critical for the software development teamsto maintain control on a particular version of the open-source software is vulnerability free. WithCodeArtifact, you can set up controls to enforce the works with commonly used package managers and build tools like Maven, Gradle, npm,yarn, twine, and pip, making it easy to integrate into existing development to DevOps on AWS AWS WhitepaperAWS CodeDeployContinuous DeliveryContinuous delivery is a software development practice where code changes are automaticallyprepared for a release to production. A pillar of modern application development, continuous deliveryexpands upon continuous integration by deploying all code changes to a testing environment and/or aproduction environment after the build stage. When properly implemented, developers will always havea deployment-ready build artifact that has passed through a standardized test delivery lets developers automate testing beyond just unit tests so they can verifyapplication updates across multiple dimensions before deploying to customers.