Software release cycles are now measured in days instead of months. Cutting edge companies are continuously delivering high-quality software at a fast pace. In this session, we will cover how you begin your DevOps journey by sharing best practices and tools by the "two pizza" engineering teams at Amazon. We will showcase how you can accelerate developer productivity by implementing continuous integration and delivery workflows. We will also cover an introduction to AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, and AWS CodeDeploy, the services inspired by Amazon's internal devloper tools and DevOps practices.
2. Agenda
What is DevOps & AWS enabled DevOps
Introducing AWS CodeStar
AWS CodeStar and AWS Code Services
Summary
3. What is DevOps?
Union of software development and operations
Migration of Agile continuous development into continuous
integration and continuous delivery
DevOps Model
• No Silos – Puts emphasis on communication, collaboration, and
cohesion between disciplines
• Best practices for change, configuration, and deployment automation
• Deliver apps/services at faster pace
• High speed product updates
Delivery Pipeline
Feedback Loop
COMPANY CUSTOMERS
4. • Integration
tests with
other systems
• Load testing
• UI tests
• Penetration
testing
DevOps Release Processes: Four major phases
Source Build Test Production
• Check-in
source code
such as .java
files.
• Peer review
new code
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Create
container
images
• Deployment
to production
environments
5. DevOps Release processes: Levels
Source Build Test Production
Continuous integration
Continuous delivery
Continuous deployment
6. Amazon CloudWatch
AWS CloudTrail
Monitoring
& Logging
AWS DevOps Portfolio
AWS CodeCommit
AWS CodeDeploy
AWS CodePipeline
Software Development and
Continuous Delivery Toolchain
AWS CloudFormation
AWS OpsWorks
AWS Config
Infrastructure
as Code
AWS CodeBuild
AWS CodeStar
AWS OpsWorks for
Chef Automate
AWS X-Ray
8. Introducing AWS CodeStar
Develop on AWS in minutes: Easily set up your entire
development environment and programming tools for
coding, building, testing, and deploying on AWS
Collaborate securely with your entire: Manage team
access, add team members to projects by role i.e.
owners, contributors
Integrated issue tracking and project management:
Integrates Atlassian JIRA Software to easily manage
issues directly from CodeStar dashboard and monitor
application progress and activity
Supported for popular programming languages: Develop
variety of applications using language of choice including
Java, JavaScript, PHP, Ruby, and Python.
Release code faster: Set up your entire continuous
delivery toolchain in minutes
9. AWS CodeStar – Implement AWS DevOps
Source Build Test Production
Third Party
Tooling
Software Development and Continuous Integration & Delivery Workflow
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
AWS CodeStar
10. Features of AWS CodeStar
ü Project Templates
ü Team Access Management
with AWS IAM
ü Managed Build Service with
AWS Code Build
ü Unified Project Dashboard
using Amazon CloudWatch
monitoring service
ü Issue tracking and project
management tool in
dashboard via integrated
Atlassian JIRA Software
ü AWS CodeCommit for
Secure Hosted Git
Repository
ü Automated App
Deployments with AWS
CodeDeploy and AWS
CloudFormation
ü Integration of AWS
CodePipeline for Automated
Continuous Delivery Pipeline
11. AWS CodeStar – Project Templates
Preconfigured AWS CloudFormation templates for
quick development project creation
• Automatic provisioning of underlying AWS services for
quick app coding and deployment
Over twenty different AWS CodeStar project templates
Support for websites, web services, microservices,
Alexa Skills dev projects (and more)
3 Hosting environments
§ Self-Managed: Amazon EC2 with AWS CodeDeploy
§ Managed: Elastic Beanstalk
§ Serverless: AWS Lambda
Amazon
EC2
AWS
CodeDeploy
AWS Elastic
Beanstalk
AWS
Lambda
12. AWS CodeStar – Project Templates
Programming Languages
Java
JavaScript
Python
Ruby
PHP
CodeStar project templates support popular
programming languages and IDEs
IDE/Code Editors
Visual Studio
Eclipse
AWS CLI
AWS CLI
14. CodeStar – Project Dashboard
Coordinate your day-to-day development activities
Dashboard provides tools to view real time
application activity, monitor builds, and flow of
code through deployment pipeline
Customize project dashboard by adding,
removing, moving tiles
Add customizable team wiki tile for team
resources sharing or other purposes ex. show code
snippets
Use CodeStar project extensions to add tiles and
functionality dashboard
15. AWS CodeStar – Working with Teams
Build project team by granting user access to
CodeStar project
Project Roles
ü Owner: Ability to add & remove team members,
contribute code to project repo, grant or deny team
members remote access
ü Contributor: Ability to add & remove dashboard
resources, contribute code to the project repository
ü Viewer: Ability to view the project dashboard, code,
tiles, and project state
Project team members (users)
ü Can have different CodeStar roles and permissions
ü Can belong to multiple CodeStar projects
16. AWS CodeStar – Continuous Delivery Pipeline
Each CodeStar project creates and configures an
automated Continuous Delivery pipeline
Source Build Test Production
Third Party
Tooling
Software Release Steps:
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
17. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CodeCommit
18. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CodeBuild
19. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
Third Party
Tooling
20. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CodeDeploy
Or
AWS Elastic BeanStalk
Or
AWS Lambda
21. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
EC2 On-Prem
AWS CodeDeploy
22. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
EC2
AWS Elastic Beanstalk
23. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CloudFormation/AWS SAM
AWS Lambda Amazon API Gateway*
24. AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CodePipeline
30. THE TOOLS TO HELP YOU BUILDDevelop with AWS Mobile Hub and AWS Mobile SDKs
AWS Mobile Hub
Guides you through feature
selection and configuration,
automatically provisions the AWS
services required, and generates
working app code.
AWS Mobile SDK
Directly access AWS services,
from your app. Supports iOS,
Android, JavaScript, Xamarin,
React Native, and Unity apps.
31. Federated identities
Your users can sign in through third-party identity
providers, such as Facebook, Twitter, and SAML
providers, and you can control access
to AWS resources from your app.
Your user pools
Easily and securely add sign-up and sign-in
functionality to your mobile and web apps with
a fully managed service that scales to support
100s of millions of users.
AMAZON COGNITO – FULLY MANAGED AUTH AND ACCESS CONTROLAmazon Cognito – Fully managed auth & access control
32. Cloud identity Cloud logic Cloud storage
and messaging
THE ANATOMY OF “SERVERLESS”The anatomy of a serverless mobile app
33. Automated testing Remote access
Gesture, swipe, and interact with
devices in real time, directly from
your web browser
Test your app in parallel against a
large collection of physical devices
in the AWS Cloud
AWS DEVICE FARM SUPPORTS AUTOMATED AND MANUAL TESTINGTest with AWS Device Farm