devops on aws: accelerating software delivery with aws developer tools | aws public sector summit...
TRANSCRIPT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Jim Caggy
Manager, Solutions Architecture
June 13, 2017
DevOps on AWS: Accelerating
Software Delivery with AWS
Developer Tools
Why does DevOps matter?
30x More Frequent
Deployments
200xShorter Lead Times
60xFewer Failures
168xFaster Recovery
DevOps Culture
• Dev & Ops coming together
• No more “silos”
• Shared responsibility
• Ownership
• Visibility and communication
DevOps Practices
• Microservices architecture
• Moving away from large “monolithic”
architectures to smaller decoupled services
DevOps Practices
• Monitoring and Logging
• Track and analyze metrics and logs
• Understand real-time performance of
infrastructure and application
2001
Development transformation at Amazon: 2001-2009
2009
monolithic architecture +
hierarchical organization
Decoupled services +
2 pizza teams
Things went much
better under this
model and teams
were releasing faster
than ever, but we felt
that we could still
improve.
We were just waiting.
WaitWrite Code WaitBuild
Code WaitDeploy to Test
Deploy to
Prod
Mins Days Mins Days Mins Days Mins
We were just waiting.
WaitWrite Code WaitBuild
Code WaitDeploy to Test
Deploy to
Prod
Weeks
Mins Days Mins Days Mins Days Mins
We were just waiting.
WaitWrite Code WaitBuild
Code WaitDeploy to Test
Deploy to
Prod
Weeks
Mins Days Mins Days Mins Days Mins
We built tools to
automate our software
release process
https://secure.flickr.com/photos/lindseygee/5894617854/
Automated actions and transitions; from check-in to production
Development benefits:
• Faster
• Safer
• Simplification & standardization
• Visualization of the process
Pipelines
This has continued to work out really well:
In 2014:
• Thousands of service teams across Amazon
• Building microservices
• Practicing continuous delivery
• Many environments (staging, beta, production)
50 million deploys
This has continued to work out really well:
Every year at Amazon, we perform a survey of all our
software developers. The 2014 results found only one
development tool/service could be correlated statistically
with happier developers:
Our pipelines service!
continuous delivery == happier developers!
Introducing: AWS CodeStar
Quickly develop, build, and deploy applications on AWS
Start developing on AWS in minutes
Work across your team, securely
Manage software delivery easily
Choose from a variety of project templates
Source Build Test Production
Third Party
Tooling
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
AWS Code ServicesSoftware Release Steps:
AWS Code Services
Source Build Test Production
Third Party
Tooling
Software Release Steps:
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
AWS CodeStar
AWS DevOps Portfolio
AWS CodeCommit
AWS CodeDeploy
AWS CodePipeline
Software Development and
Continuous Delivery Toolchain
AWS CloudFormation
AWS OpsWorks
AWS Config
Infrastructure
as Code
Amazon CloudWatch
AWS CloudTrail
Monitoring
& Logging
AWS Elastic Beanstalk
Platform
as a Service
AWS CodeBuild
AWS CodeStar
More info
Get started with AWS CodeStar at:
https://console.aws.amazon.com/codestar
Learn more at:
https://aws.amazon.com/codestar
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Michele Causey, IRS, Director of UXD
Carleton Jillson, MITRE, Principal Engineer
June 13, 2017
Improving the Taxpayer Experience
Using DevOps
OLD APPROACH
To create great experiences for taxpayers online,
IRS needed a different way of working …
Linear product development life cycle
Static UI designs
No live testing with taxpayers
One-on-one stakeholder reviews via laptop
Technology constraints
Hard to adapt to evolving view of user needs
No way to test and verify design alternatives
Risk of missed taxpayer needs and expectations
Limited stakeholder feedback; single location
Limited team collaboration
IMPACT OF OLD
APPROACH
… that enabled a more user-focused and
collaborative approach.
Collaborative Prototyping With IRS Labs
PROTOTYPING
Any team member can
‘spin up’ a container to
host a web application in
minutes and post a front
end prototype to a live
URL.
USER EXPERIENCE
IRS can quickly and
easily gather feedback
from stakeholders and
taxpayers.
COLLABORATION
Teams can easily and
quickly collaborate on
prototypes within their
team and with
stakeholders.
Success Stories
Accelerated time to
market for a new
service concept
through agile
collaboration among
IRS business, IT and
online orgs, and
contractors at remote
and on-site locations.
E-AUTHENTICATION
Created over 60
interface prototypes
and conducted six
remote and in-person
usability tests with 30
taxpayers over a 4-
week period.
DIRECT PAY
Improved a service
that saw double-digit
usage increases by
refining the UI with
stakeholders using
responsive, interactive
front end prototypes.
ACCOUNT
…requirements
shared by
Product
Manager and
conduct user
research.
…concept or
prototype using
HTML or off-the-
shelf tools (e.g.,
Axure).
…concept or
prototype with
product team by
uploading it to IRS
Labs and
deploying a live
version.
…concept or
prototype with
potential users in
the field wherever
web access is
available.
…high-quality
product using
feedback obtained
through taxpayer
research.
Analyze … Design … Share … Test … Produce…
Optimize product features, navigation, and designs through
user research. Share concepts and prototypes with
stakeholders and study participants using IRS Labs.
Our GoalDesigns products using
input from stakeholders
and taxpayer research
User Journey: User Experience Designer Role
…requirements,
mockups, design
patterns and code
stubs from IRS
Labs.
…and version
control working
prototype based on
requirements and
designs discussed
with Team.
…seamlessly with
stakeholders and
contractors by
sharing project
artifacts and
iterative product
builds through IRS
Labs.
…and version
control code from
a contractor or
IRS site through
GitLab within IRS
Labs.
…and un-deploy
code in IRS Labs to
show features during
weekly sprints. Test
products on browsers
taxpayers’ common
devices.
Access … Build … Collaborate … Manage … Deploy…
Build and deploy an application with a joint government and
contractor team. Manage, test, and review iterations from
government or contractor facilities using IRS Labs.
Our GoalDevelops and deploys
software releases
User Journey: Software Developer Role
IRS Labs at a Glance
STORAGE
Amazon RDS, Amazon S3, MongoDB
HOSTING
Amazon EC2, Amazon Route 53
Amazon SES
AUTOMATED CODE DEPLOYMENT
Docker, Amazon ECS
VERSION CONTROL
GITLAB, Zip Upload
USER MANAGEMENT & AUTHENTICATION
LDAP
STANDARDS-BASED INTERFACES
RESTful Architecture APIs
MODERN WEB TECHNOLOGIES
nginx, Node.js, Angular, CSS
IRS Labs Architecture
Proxy
NGINXInternet
Userlab
Persona
IRS Labs Team Site
Authentication
Redis
Auth Gateway
Host
Troubadour
Prototype
Prototypes (AWS ECS)
GitLab
Amazon S3,
SES, Route 53
MongoDBLDAP
Amazon RDSRelational Database
StevedoreDocker Image Builder
Amazon ECRDocker Image Store
MatadorContainer deployment Mgmt
Services
Legend
AWS Service
Other App/Service