67
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Steffen Grunwald, Solutions Architect, AWS 21. Februar 2017 Aufbau von agilen und effizienten IT Organisationen mit DevOps

Aufbau von agilen und effizienten IT Organisationen mit DevOps

Embed Size (px)

Citation preview

Page 1: Aufbau von agilen und effizienten IT Organisationen mit DevOps

©  2016,  Amazon  Web  Services,  Inc.  or  its  Affiliates.  All  rights  reserved.

Steffen  Grunwald,  Solutions  Architect,  AWS

21.  Februar 2017

Aufbau  von  agilen  und  effizienten  IT  Organisationen  mit  DevOps

Page 2: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“Innovation  is  now  recognized  as  the  single  most  important  ingredient in  any  modern  economy.

In  short,  it  is  innovation – more  than  the  application  of  capital  and  labor  –that  makes  the  world  go  round.”

Source:  http://www.economist.com/node/1324709

Page 3: Aufbau von agilen und effizienten IT Organisationen mit DevOps

2/3More  than  two-­thirds  of  IT budgets go  toward  keeping  the  lights  on

77%of  CEOs  believe  security  risk  has  increased  in  the  last  few  years  and  65%  

believe  their  risk  management  capability  is  falling  behind

15yrsThe  average lifespan  of  an  S&P  company  

dropped  from  67  years  in  the  1920s  to  15  years  today

Page 4: Aufbau von agilen und effizienten IT Organisationen mit DevOps

How  This  Affects  You

You’re  left  without  the  necessary  resources  to  pursue  critical  business  

initiatives  required  to  maintain  a  competitive  advantage Your  traditional  IT  model  

lacks  the  agility  you  need  to  keep  pace  with  innovative  startups

Insufficient  security,  compliance  and  availabilitycan  hamper  your  ability  to  compete  and  open  the  door  to  sophisticated,  hard-­to-­

identify  attacks

Page 5: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Responding  requires  a  new  model

Focus on  differentiating  your  company

Innovate at  start-­up  like  speed

Reduce risk

Page 6: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“Instead  of  being  afraid  of  the  challenge  and  failure, be  afraid  of  avoiding  the  challenge and  doing  nothing”

Soichiro Honda,  Founder  of  Honda

Page 7: Aufbau von agilen und effizienten IT Organisationen mit DevOps

2009

48

280

722

82

2011 2013 2015

AWS  Pace  of  Innovation  – new  Features  and  Services

1017

2016

Learn  more:  https://aws.amazon.com/new/

Page 8: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“In  the  past  voice  interfaces  were  seen  as  gimmicks,  or  a  nuisance  for  driving  “hands-­free.”  The  Amazon  Echo  and  Alexa  have  completely  changed  that  perception.  Voice  is  now  seen  as  potentially  the  most  important  interface  to  interact  with  the  digitally  connected  world.”

Werner  VogelsCTO  &  VP,  Amazon.com

Page 9: Aufbau von agilen und effizienten IT Organisationen mit DevOps

But  innovation is  hard…

…how  can  companies  build  an  effectiveinnovation  system  and  an  environment  that will  foster  and  support  human  creativity and  drive technological  

progress?

Page 10: Aufbau von agilen und effizienten IT Organisationen mit DevOps

What the heck!? I don’t recognize this

purchase.

I want to pay my

utility bill

I’m about to travel. Please don’t decline

my card!

I want to transfer

money to savings

I need to pay my

credit card bill

How do I order a Venture Card?

Scott  Totman,  Capital  OneHead  of  Mobile  Technology,  

Payments  &  Innovation

“Capital  One  has  a  state  of  the  art  technology  platform that  allows  us  to  quickly  leverage  emerging  technologies,  like  Alexa.”

Page 11: Aufbau von agilen und effizienten IT Organisationen mit DevOps

f(innovation) =  (culture  *  structure) toolingInnovation  is  the  product  of  culture  and  structure  with  the  power  of  tooling.

Page 12: Aufbau von agilen und effizienten IT Organisationen mit DevOps

f(innovation) =  (culture  *  structure) tooling

Page 13: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Innovation requires culture that  fosters  invention.

Culture is  the principal  componentin  velocity  of  innovation.

Page 14: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Amazon leadership principles

https://www.amazon.jobs/principles

Page 15: Aufbau von agilen und effizienten IT Organisationen mit DevOps

A  company  of  builders…builders  come  to  build.

Page 16: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“We've  had  three  big  ideas  at  Amazon  that  we've  stuck  with  for  18  years,  and  they're  the  reason  we're  successful:  

Jeff  BezosCEO,  Amazon.com

Put  the  customer  first.Invent.And  be  patient.”

Jeff  Bezos,  Amazon  CEO

Page 17: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Focus  on  the  customer and  the  long  term,  perspective  affects  everything.

Page 18: Aufbau von agilen und effizienten IT Organisationen mit DevOps

We  will  continue  to  measure  our  programs and  the  effectiveness  of  our  investments  

analytically…

Page 19: Aufbau von agilen und effizienten IT Organisationen mit DevOps

We  will  make  bold  rather  than  timid  investment  decisions  …and  we  will  have  learned  another  

valuable  lesson  in  either  case.…

Page 20: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“Invention  requires  two  things:  the  ability  to  try  a  lot  of  experiments,  and  not  having  to  live  with  the  collateral  damage  of  failed  experiments”

Andy  Jassy,  CEO,  Amazon  Web  Services

Page 21: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Share and give  back to  innovation.

Page 22: Aufbau von agilen und effizienten IT Organisationen mit DevOps

This  is  My  Architecture  Video  Series

Page 23: Aufbau von agilen und effizienten IT Organisationen mit DevOps
Page 24: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Make  time for  learning.

Page 25: Aufbau von agilen und effizienten IT Organisationen mit DevOps

f(innovation) =  (culture *  structure) tooling

Page 26: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Good  intentions are  never  enough,  you  must  build  structure  and  create  innovation  fostering  habits.

Page 27: Aufbau von agilen und effizienten IT Organisationen mit DevOps

The  Amazon  decision  making  process  is data  driven and  relies  heavily  on  narratives.

Page 28: Aufbau von agilen und effizienten IT Organisationen mit DevOps

We  always  work  backwards  from  thecustomer.

Page 29: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Each  new  idea  starts  with  a  write-­up  of  a  press  release /  FAQ.

This  helps  capture  the  customer  perspective  of  the  problem  we  are  

trying  to  solve.

Page 30: Aufbau von agilen und effizienten IT Organisationen mit DevOps

But  how  do  we  remove  the  bottlenecks?

Page 31: Aufbau von agilen und effizienten IT Organisationen mit DevOps

A  world  of  conflicting  priorities

DevelopersPaid  to  change  things

SecurityPaid  to  prevent  risk

OperationsPaid  to  ensure  stability

Page 32: Aufbau von agilen und effizienten IT Organisationen mit DevOps

…and  of  bottlenecks

Development Testing Security Operations

Page 33: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Avoid  future  firefighting  by  including  others  early and  by  investing  time  to  

paying  back  technical  debt.

Page 34: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Dev[Sec]OpsDevOps  is  the  combination  of  cultural  philosophies,  practices,  and tools that  increases  an  organization’s  ability  to  deliver  applications  and  services  at  high  velocity:  evolving  and  improving  products  at  a  faster  pace  than  organizations  using  traditional  software  development  and  infrastructure  management  processes.  This  speed  enables  organizations  to  better  serve  their  customers  and  compete  more  effectively  in  the  market.

Page 35: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“When  a  feature  or  enhancement  is  ready,  we  push  it  out  and  make  it  instantly  available  to  all.”  – Jeff  Bezos

Speed  of  iteration  beats  quality  of  iterationEncourage  single-­threaded  focusEnables  self-­directed  teamsFosters  ownership  &  autonomy

Move  Fast  and Be  Nimble

Page 36: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“If  the  development  team  is  frequently  called  in  the  middle  of  the  night,  automation  is  the  likely  outcome.  If  operations  is  frequently  called,  the  usual  reaction  is  to  grow  the  operations  team.”

James  Hamilton,  Distinguished  Engineer,  Amazon  Web  Services

Page 37: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Amazon.comused  to  be  a  monolith…

Page 38: Aufbau von agilen und effizienten IT Organisationen mit DevOps

2001

Development  transformation  at  Amazon:  2001-­2009

20092006

Page 39: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Monolithic  vs.  SOA  vs.  Microservices

SOACoarse-­grained

MicroservicesFine-­grained

MonolithicSingle  Unit

Page 40: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Small,  but  not  too  small

Can  be  rewritten  in  2  weeks

Owned  by  a  small  two  pizza  team?

Balance  small  and  independent  with  complex  interactions

Page 41: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Composable,  Scalable,  Polyglot,  but  not  too  much

Building  Microservices  – Sam  Newman

Different  teams/techIndependent  lifecycleIndependent  databaseFine  grained  primitivesScope  and  Ownership  (Quality)StandardiseFungible

My  Enterprise  Social  Media  Service

Page 42: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Amazon  Retail  Platform  (2009)

Chaos?

Page 43: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Amazon  Retail  Platform  (2009)

OrganisedChaos.

Page 44: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Use  broad  controls  that  don’t  stifle  agility.

Page 45: Aufbau von agilen und effizienten IT Organisationen mit DevOps

While  all  teams  are  autonomous,  they  are  defined  and  driven  by  the  cultural  DNA  (Leadership  Principals) at  every  step.

Page 46: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Challenges  of  Microservices

Complexity  in  Code  Base

Complexity  inInteractions

Page 47: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Fallacies  of  distributed  computing

• The network is  reliable.• Latency is  zero.• Bandwidth is  infinite.• The  network  is secure.• Topology doesn't  change.• There  is  one administrator.• Transport  cost  is  zero.• The  network  is  homogeneous.

MonitoringAuto  ScalingBulkheadsCircuit  breaker…

Page 48: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“What  we  need  is  a  new  approach  where  continuous  partial  failure is  the  normal  

state  of  affairs.”

Michael  Nygard

Page 49: Aufbau von agilen und effizienten IT Organisationen mit DevOps

A  measure  of  innovation  agility

How  many  deployments am  I  performing?

How  many  are  done  out  of  hours?

How  many  suffer  emergency  roll  backs?

“Too  many  to  count’”“We  have  a  quarterly  release  cycle”

“We  minimize  customer  impact” “Time  is  irrelevant”

“We  frequently  catch  problems  too  late  and  need  to  rollback  from  pre-­release  backups”

“We  roll  forwards  not  back”

Page 50: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Strive  for  continuous  deployment.Use  metrics  and  tooling to gain  trust.

Page 51: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Continuous  Delivery  Benefits

Improve  developer  productivity

Find  and  address  bugs  quickly

Deliver  updates  fasterAutomate  the  software  release  process

Page 52: Aufbau von agilen und effizienten IT Organisationen mit DevOps

f(innovation) =  (culture *  structure) tooling

Page 53: Aufbau von agilen und effizienten IT Organisationen mit DevOps

“We  own  the  customer  tool”

“We  own  the  eCommerce API”

“We  own  the  shimblobelterproduct”

“We  own  the  platform”

• Tooling• Deployment• Metrics

Page 54: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Tooling  should  be  decentralised,  encouraging  self  service.

Page 55: Aufbau von agilen und effizienten IT Organisationen mit DevOps

It  should  promote  best  practices  WITHOUT  being  restrictive.

Page 56: Aufbau von agilen und effizienten IT Organisationen mit DevOps

It  should  be  technology  agnostic.

Page 57: Aufbau von agilen und effizienten IT Organisationen mit DevOps

#1:  It  should  be  the  path  of  least  resistance.

Page 58: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Continuous  Delivery

From  check-­in  to  production

CI/CD  +  Release  Automation

>90%  of  Amazon  teams

Pipelines

Page 59: Aufbau von agilen und effizienten IT Organisationen mit DevOps

12  years  young

Rolling  Deployments  (zero  downtime)

Health  Checking

Versioned  Artifacts  &  Rollbacks

Page 60: Aufbau von agilen und effizienten IT Organisationen mit DevOps

=  50  million  deployments a  year

Thousands  of  teams  +Microservices  architectures  +Multiple  environments  +Continuous  delivery?

Page 61: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Deployment  !=  Epic  Feature  Release

Technical  debt  repayments  (refactoring  etc.).Security  patching.Dependency  upgrades.Security,  performance,  reliability,  availability,  cost  improvements.Adapting  to  external  changes  (little  and  large)  with  no  notice.Fixing  defects  – meh.Changing  schema  – agh.

Page 62: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Great.  How  does  that  help  me?

Page 63: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Deployment,  Administration  &  Monitoring

MonitorProvisionDeployTestBuildCode

Elastic  Beanstalk

ServerlessCloudWatchCloud

FormationCodeDeploy

CodeCommit

CodePipeline

CodeBuild

Page 64: Aufbau von agilen und effizienten IT Organisationen mit DevOps

AWS  CodePipeline automatically  triggers  on  new  commits  into  version  control  (AWS  CodeCommit,  GitHub,  custom…)

AWS  CodeBuild follows  a  buildspec.yml file  that  defines  how  your  application  should  be  built.  Common  defaults  for  most  languages  &  dependency  repositories.  Flexibility  to  extend  with  custom  Docker  images.

Testing can  be  integrated  with  third  party  SaaS  offerings,  Jenkins,  or  a  custom  integration.  Manual  approvals  are  optional.

Deployment options  available  with  AWS  CodeDeploy,  AWS  CloudFormation,  AWS  Elastic  Beanstalk,  or  custom  integrations.

Page 65: Aufbau von agilen und effizienten IT Organisationen mit DevOps

f(innovation) =  (culture  *  structure) tooling

Page 66: Aufbau von agilen und effizienten IT Organisationen mit DevOps

Additional  Resources

https://www.amazon.co.uk/Phoenix-­Project-­DevOps-­Helping-­Business-­ebook/dp/B00AZRBLHO

https://www.amazon.co.uk/DevOps-­Handbook-­World-­Class-­Reliability-­Organizations-­ebook/dp/B01M9ASFQ3

https://www.amazon.co.uk/Building-­Microservices-­Designing-­Fine-­Grained-­Systems-­ebook/dp/B00T3N7XB4

Page 67: Aufbau von agilen und effizienten IT Organisationen mit DevOps

©  2016,  Amazon  Web  Services,  Inc.  or  its  Affiliates.  All  rights  reserved.

Steffen  Grunwald,  Solutions  Architect

[email protected],  @steffeng

Thank  You.