47
© 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

DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS Public Sector Summit 2017

Embed Size (px)

Citation preview

© 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

https://secure.flickr.com/photos/mgifford/4525333972

Why are we

here today?

What we'll cover

What is DevOps?

The Amazon DevOps story

AWS Code Services

AWS DevOps Portfolio

Software moves

faster today

Why does DevOps matter?

30x More Frequent

Deployments

200xShorter Lead Times

60xFewer Failures

168xFaster Recovery

What is DevOps?

What is DevOps?

• Cultural philosophies

• Practices

• Tools

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

• Continuous Integration

• Continuous Delivery & Deployment

DevOps Practices

• Infrastructure as Code

• Model your AWS resources using code

DevOps Practices

• Monitoring and Logging

• Track and analyze metrics and logs

• Understand real-time performance of

infrastructure and application

Reliability

Benefits of DevOps

SpeedScale

Rapid DeliveryImproved Collaboration

Security

A look back at

development at

Amazon..

https://secure.flickr.com/photos/pixelthing/15806918992/

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.

In 2009, we

ran a study to

find out where

inefficiencies

might still exist

We were just waiting.

WaitWrite Code WaitBuild

Code WaitDeploy to Test

Deploy to

Prod

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!

Where do you

?

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

AWS Code Services

AWS CodePipeline AWS CodeCommit AWS CodeBuildAWS CodeDeployAWS CodeStar

AWS Code Services

Source Build Test Production

Software Release Steps:

AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CodeCommit

AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CodeBuild

AWS Code Services

Source Build Test Production

Third Party

Tooling

Software Release Steps:

AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CodeDeploy

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

E-MAIL

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