Continuous Deployment:
Challenges, Solutions, and
Lessons Learned
Oleksandr Snihovyi | 2020
`
Who am I?
Cloud/DevOps Architect at DataArt
I help clients to migrate to public clouds
and to use them properly.
A GCP fan, a certified architect with
AWS and GCP
• What is CD? Whom does it fit?
• Areas
• Human-related & Process
• Tools & Testing
• Infrastructure & Architecture
• Questions 
Agenda
CD Pipeline
• Each commit goes straight to production through full CI and deployment lifecycles
• Extensive automation
• The only way to deliver changes
• Team has to follow rules
What is CD?
• Faster releases are not required
• We deployed via script manually for the past 5 years
• What if Jenkins, Teamcity etc. fails?
• Big team, so it seems it will be hard to track
• How to synchronize deployments?
• Team does not feel responsible for the process
CD challenges from people
• Automation is not a part of Definition of Done
• Everyone try to avoid failures
• Bureaucracy
• Non-executable testing models
How do processes affect CD?
• Tooling zoo
• Management costs
• Comfortable monitoring is a MUST
Tools impact on CD
• Flaky tests
• Manual regression
• Not enough tests
• HA and DR tests
Tests in CD world
• Cost of development
• Infrastructure vs Configuration
• IaaC hell
• Lack of reproducibility
• Infrastructure changes potentially could brake everything
• Lack of backups & no ability to test them
• Costly automation around reverts
Infrastructure in CD?
• Monolith vs Microservices
• Non-revertible DB changes
• Backward compatibility of APIs
• Non isolated changes
• External integrations
Why should architecture be ready for CD?
• It pays off if everyone follow the process
• TEAM is responsible for the product running in production
• Don’t forget to simulate failures and test backups
• You have to define SLIs/KPIs and monitor them properly
• Deliver in the smallest chunks possible
• Automate everything. Business value is a proven thing
So, how to live with all of this?
Alexander Snegovoy
Cloud/DevOps Architect at DataArt
FB: https://www.facebook.com/alexandersnegovoy
LI: https://www.linkedin.com/in/oleksandr-snihovyi/
Thank you. Any questions?

ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lessons Learned» GO DevOps

  • 1.
    Continuous Deployment: Challenges, Solutions,and Lessons Learned Oleksandr Snihovyi | 2020 `
  • 2.
    Who am I? Cloud/DevOpsArchitect at DataArt I help clients to migrate to public clouds and to use them properly. A GCP fan, a certified architect with AWS and GCP
  • 3.
    • What isCD? Whom does it fit? • Areas • Human-related & Process • Tools & Testing • Infrastructure & Architecture • Questions  Agenda
  • 4.
  • 5.
    • Each commitgoes straight to production through full CI and deployment lifecycles • Extensive automation • The only way to deliver changes • Team has to follow rules What is CD?
  • 7.
    • Faster releasesare not required • We deployed via script manually for the past 5 years • What if Jenkins, Teamcity etc. fails? • Big team, so it seems it will be hard to track • How to synchronize deployments? • Team does not feel responsible for the process CD challenges from people
  • 8.
    • Automation isnot a part of Definition of Done • Everyone try to avoid failures • Bureaucracy • Non-executable testing models How do processes affect CD?
  • 10.
    • Tooling zoo •Management costs • Comfortable monitoring is a MUST Tools impact on CD
  • 11.
    • Flaky tests •Manual regression • Not enough tests • HA and DR tests Tests in CD world
  • 13.
    • Cost ofdevelopment • Infrastructure vs Configuration • IaaC hell • Lack of reproducibility • Infrastructure changes potentially could brake everything • Lack of backups & no ability to test them • Costly automation around reverts Infrastructure in CD?
  • 14.
    • Monolith vsMicroservices • Non-revertible DB changes • Backward compatibility of APIs • Non isolated changes • External integrations Why should architecture be ready for CD?
  • 15.
    • It paysoff if everyone follow the process • TEAM is responsible for the product running in production • Don’t forget to simulate failures and test backups • You have to define SLIs/KPIs and monitor them properly • Deliver in the smallest chunks possible • Automate everything. Business value is a proven thing So, how to live with all of this?
  • 16.
    Alexander Snegovoy Cloud/DevOps Architectat DataArt FB: https://www.facebook.com/alexandersnegovoy LI: https://www.linkedin.com/in/oleksandr-snihovyi/ Thank you. Any questions?