45
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Jonathan Weiss Managing Director Amazon Web Services Germany GmbH AWS OpsWorks, AWS Resource Groups, AWS Systems Manager The Software Development Process at Amazon

The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Jonathan Weiss

Managing Director Amazon Web Services Germany GmbH

AWS OpsWorks, AWS Resource Groups, AWS Systems Manager

The Software Development Process

at Amazon

Page 2: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon is hundreds

of different

businesses

AWS did over 1,430

major feature

releases in 2017

No signs of

slowing down

Page 3: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

The Software Development Lifecycle

developer

s

customer

s

releasetestbuild

plan monitor

delivery pipeline

feedback loop

Page 4: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 5: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 6: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Let’s go back 15 years ago…

Page 7: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 8: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Monolith development lifecycle

developer

s

releasetestbuild

delivery pipelineapp

Page 9: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Service-Oriented

Architecture (SOA)

Single-purpose

Primitive

Connected w/ APIs

Highly decoupled

“Microservices”

Page 10: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 11: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Two-pizza teams

Decentralized

Agility

Autonomy

Accountability

Ownership

“DevOps”

Page 12: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Missing Tools

developer

s

delivery pipelineservices

???

Page 13: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 14: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Two-pizza teams

Decentralized

Agility

Autonomy

Accountability

Ownership

“DevOps”

Self-service

Technology-agnostic

Encourage best practices

Single-purpose services

Page 15: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Deployment service

No downtime

deployments

Health tracking

Versioned artifacts

and rollbacks

Page 16: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 17: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Continuous delivery

Automated release process

Faster & more reliable releases

Adopted by virtually all teams

Pipelines

Page 18: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Microsservice development lifecycle

developer

s

delivery pipelinesservices

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

Page 19: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Thousands of teams

x Microservice architecture

x Continuous delivery

x Multiple environments

= millions of deployments

Page 20: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 21: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Release Pipelines

ProductionStagingBuildSource

Run Build

and Unit

Tests

Deploy to

Staging

Environment

Deploy to

Production

Environment

Pull Source

Code

Page 22: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Release Pipelines

ProductionStagingBuildSource

Run Build

and Unit

Tests

Deploy to

Staging

Environment

Deploy

to One

Box

Pull Source

Code

Deploy

to 1st AZ

Deploy

to 1st AZ

Deploy

to One

Box

Deploy

to 2nd

AZ

Deploy

to 2nd

AZ

Deploy

to 3rd

AZ

Deploy

to 3rd

AZ

Page 23: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 24: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Release Pipelines

ProductionStagingBuildSource

Run Build

and Unit

Tests

Deploy to

Staging

Environment

Deploy

to One

Box

Pull Source

Code

Deploy

to 3rd

AZ

Deploy

to 1st AZ

Deploy

to 2nd

AZ

Deploy

to One

Box

Deploy

to 3rd

AZ

Deploy

to 1st AZ

Deploy

to 2nd

AZ

Page 25: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Release Pipelines

ProductionStagingBuildSource

Run Build

and Unit

Tests

Deploy to

Staging

Environment

Deploy

to One

Box

Pull Source

Code

Deploy

to 3rd

AZ

Deploy

to 1st AZ

Deploy

to 2nd

AZ

Deploy

to One

Box

Deploy

to 3rd

AZ

Deploy

to 1st AZ

Deploy

to 2nd

AZ

Functional

Tests

Load / Perf

Tests

Other

Tests

Page 26: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Release Pipelines

ProductiongammabetaBuildSource

Run Build

and Unit

Tests

Deploy to

Staging

Environment

Deploy

to One

Box

Pull Source

Code

Deploy

to 3rd

AZ

Deploy

to 1st AZ

Deploy

to 2nd

AZ

Deploy

to One

Box

Deploy

to 3rd

AZ

Deploy

to 1st AZ

Deploy

to 2nd

AZ

Integration

Tests

Load / Perf

Tests

Other

Tests

Deploy to

Staging

Environment

Functional

Tests

Other

Tests

Page 27: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 28: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

The Edit-Compile-Test Loop

Page 29: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

The Edit-Compile-Test Loop

ECT Loop

Page 30: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

The Edit-Compile-Test Loop

ECT Loop

Code Review

Page 31: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

The Edit-Compile-Test Loop

ECT Loop

Code Review

Staging

Page 32: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

The Edit-Compile-Test Loop

ECT Loop

Code Review

Staging

Production

Page 33: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Catching Problems in the Development

Lifecycle

ProductionStagingCode

ReviewECT

Ideal Place Great Place Good Place Last Resort

Page 34: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 35: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

The Software Development Lifecycle

developer

s

customer

s

releasetestbuild

plan monitor

delivery pipeline

feedback loop

Page 36: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ops Culture

Ops Meetings

Ops Dashboards

• resource monitoring

• application

monitoring

• canary monitoring

• client-side monitoring

• “order drop rate”

Page 37: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 38: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Data Culture

WBR Meetings

Metrics Decks

• feature adoption

• segment growth

• funnel analysis

• cost structure

Page 39: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 40: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Listen

It's easy to be right if

you just listen to

customers.

1. Ask them want

they want

2. Get feedback on

what you build

3. Course correct

if need to

Page 41: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

Feature vs. Need

Wenger 16999 Swiss Army Knife Gianthttps://www.amazon.com/Wenger-16999-Swiss-Knife-Giant/dp/B001DZTJRQ

Page 42: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

Ten Lessons Learned

“Working Backwards” description

by Werner Vogels, Amazon CTO

www.allthingsdistributed.com/2006/11/working_backwards.html

Page 43: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Ten Lessons Learned

1. Microservices

2. DevOps Teams

3. Self-Service Tools

4. Continuous Delivery

5. Pessimistic

Deployments

6. Automated Testing

7. Optimize ECT Loop

8. Monitor Everything

9. Measure Everything

10. Listen to Customers

Page 44: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Thank you

Page 45: The Software Development Process at Amazonaws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June… · 1. Microservices 2. DevOps Teams 3. Self-Service Tools 4. Continuous Delivery

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Please complete the session

survey in the summit mobile app.

AWS DevDay with Chef in Berlin

on

June 12th - https://bit.ly/2sp8kxo

Two reminders: