Devops on AWS
- 4. DevOps Overview
DevOps is :
Culture philosophies + Practices + Tools
Help Organizations to deliver apps and services in high velocity
Faster Product Improvements
- 8. DevOps Benefits
A Continuous Delivery
Model with this
characteristics
Speed
Rapid Delivery
Reliability
Scale
Improved Collaboration
Security
- 11. Why AWS for DevOps?
AWS provides a set of flexible services designed to enable companies to more rapidly and
reliably build and deliver products using AWS and DevOps practices. These services
simplify provisioning and managing infrastructure, deploying application code, automating
software release processes, and monitoring your application and infrastructure
performance.
• Get Started Faster
• Fully Managed Services
• Built for Scale
• Programmable
• Pay-As-You-Go
• Secure
• Automation
- 14. CI > Continuous Integration
Code Build Test
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.
• Use Code Repos
• Test and Commit Frequently
• Automate AWS CodeCommit to trigger build phase
- 15. CD > Continuous Delivery
Provision Deploy Monitor
Code changes are automatically prepared for a release to production.
deploying all code changes to a testing environment and/or a production environment after the build stage.
developers will always have a deployment-ready build artifact that has passed through a standardized test process.
- 16. CD > Continuous Delivery
Automate build and test
Push code to non production environment
Deploy it to production (automatic or with manual approval)
- 22. AWS CLI
• AWS Command Line Interface (CLI) is a unified tool to manage AWS Services
• Control multiple AWS services and automate them through script
• We can use it in :
o Linux Shell like common shell programs on linux,unix and macOS
o Windows Command Line like PowerShell
o Remotely like PuTTy/SSH
- 25. AWS CLI Command Samples
aws s3 ls
aws s3 mb s3://bucket-name
aws s3 rb s3://bucket-name
aws s3 cp file.txt s3://my-bucket/
aws iam create-group --group-name MyIamGroup
aws iam create-user --user-name MyUser
- 36. Cost Considerations
How many instances do you need to replace?
How many times per day are you deploying changes?
Cost of Blue/Green is fairly low
Cost of Red/Black and immutable are expensive
Cost can be minimized if you will use In-Place upgrade
- 39. AWS Cloud9 is a cloud-based integrated development environment (IDE) that
lets you write, run, and debug your code with just a browser.
It includes a code editor, debugger, and terminal
AWS Cloud9
• CODE WITH JUST A BROWSER
• Collaborative Editing and Chat
• BUILD SERVERLESS APPLICATIONS WITH EASE
• DIRECT TERMINAL ACCESS TO AWS
• START NEW PROJECTS QUICKLY
• Continuous Delivery Toolchain
• File Revision History
• Supports over 40 programming languages, including Node.js (JavaScript),
Python, PHP, Ruby, Go, and C++
• recent versions of Google Chrome, Safari, Firefox, and Microsoft Edge
There is no additional charge for AWS Cloud9. you pay only for the compute and storage resources (i.e., an EC2
instance, an EBS volume) that are used to run and store your code
- 40. is a highly scalable, managed source control service that hosts
private Git repositories.
AWS CodeCommit
• No Repo size limit (up to 1,000 repositories)
• Supports pull requests (no limits upon request)
• Repos are automatically encrypted through AWS KMS
• Data redundancy across Availability Zones
• Data at rest Encryption
• Fully Integrated with IAM (Identity & Access Management)
• Notifications and Custom Scripts
- 41. AWS CodeBuild
• Build and test your code
• Preconfigured build environments
• Customize build environments
• Continuous integration and delivery workflows
• Security and permissions
• Monitoring
• Configurable settings
Is a service that compiles source code, runs tests, and produces software packages
that are ready to deploy. With CodeBuild, you don’t need to provision,
manage, and scale your own build servers
- 42. AWS CodeDeploy is a service that automates application deployments to
a variety of compute services including Amazon EC2, AWS Fargate,
AWS Lambda, and on-premises instances.
AWS CodeDeploy
• Support Multiple strategies such as in-plac,blue/green..
• Reduces Deployment Time
• Automate Application Deployment between (dev,test,production)
Environments
• Support File Handling to deal with conflict of existing files
• Option to Stop/Rollback if any error
• Restrict and Control Access to Deployment via IAM
• Integrate with monitoring tools like Amazon Cloudwatch for health
check
• Supports local testing and debugging
• Tool chain integration
- 43. is a Continuous Delivery service that helps you automate your release pipelines
for fast and reliable application and infrastructure updates. CodePipeline automates
the build, test, and deploy phases of your release process every time there is a
code change, based on the release model you define
AWS CodePipeline
• Workflow modeling
• AWS integrations
• Pre-built plugins
• Custom plugins
• Declarative templates
• Access control
- 44. Quickly develop, build, and deploy
applications on AWS.
Provides a unified user interface, enabling
you to easily manage your software
development activities in one place.
With AWS CodeStar, you can set up your
entire continuous delivery toolchain in
minutes, allowing you to start releasing
code faster.
AWS CodeStar makes it easy for your
whole team to work together securely,
allowing you to easily manage access and
add owners, contributors, and viewers to
your projects.
AWS CodeStar
• Project templates
• Team access management
• Hosted Git repository
• Fully managed build service
• Automated continuous delivery pipeline
• Automated deployments
• IDE integrations
• Central project dashboard
Editor's Notes
- You can safely remove this slide. This slide design was provided by SlideModel.com – You can download more templates, shapes and elements for PowerPoint from http://slidemodel.com