SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
CI/CD as first and last line of
defence
J I M M Y D A H L Q V I S T , S I G M A T E C H N O L O G Y C L O U D
Hello, I’m
JIMMY DAHLQVIST
Head of AWS Technology @ Sigma Technology Cloud
AWS APN Ambassador & Community Builder
@jimmydahlqvist
CONTEXT
@jimmydahlqvist
DevOps Trend
◦ Increased rate of change
◦ Micro services
◦ Automate everything
◦ Continuous integration / delivery
@jimmydahlqvist
What is DevOps?
?
“
DevOps empowers development teams
to own, run, and manage the end-to-
end delivery of an application or piece
of software. It eliminates the confusion
around ownership and drives teams
toward an automated, developer-
managed infrastructure.
“ You build it, you run it!
@jimmydahlqvist
Micro Services
◦ Cloud Native Applications
◦ Breaking up the code
◦ Individual teams
◦ Scale and Release independently
@jimmydahlqvist
Micro Service Interaction
◦ Well-defined API
◦ Strong contracts
◦ Integration points increase
◦ Complexity grows
◦ Event / communication driven
@jimmydahlqvist
API test and Contract Test
◦ Producer driven
◦ Consumer driven
◦ Honor the contract
@jimmydahlqvist
INFRASTRUCTURE
@jimmydahlqvist
Infrastructure as code
◦ Single source of truth
◦ Model cloud infrastructure
◦ Version controlled
◦ Store everything in Git
@jimmydahlqvist
Except Secrets!
Never ever store secrets in
Git!
@jimmydahlqvist
Infrastructure verification
◦ Policy as code
◦ Linting
◦ Unit Testing
@jimmydahlqvist
IT’S AN ASYNCHROUNOUS WORLD
@jimmydahlqvist
Event driven systems
◦ Run code by reacting to events
◦ Several parts of the system can run
at the same time
◦ Match made in heaven for
serverless systems
@jimmydahlqvist
Serverless
◦ No servers to manage
◦ Execute code dynamically
◦ Scales automatically
◦ Pay for what we use
◦ AWS Lambda, Nano Service
@jimmydahlqvist
Continues Integration / Delivery
@jimmydahlqvist
CI/CD
◦ Repeatable reliable process
◦ Automate everything
◦ No human intervention
◦ Build in quality checks
@jimmydahlqvist
Temporary Environments
◦ Verify in the cloud
◦ Integration testing
@jimmydahlqvist
FIRST LINE OF DEFENCE
@jimmydahlqvist
PR-Testing Setup
@jimmydahlqvist
Pull Request Testing
◦ Run pipeline when PR is opened
◦ Find problems early
◦ Main branch always releasable
@jimmydahlqvist
Deploy it to Cloud
◦ Use temporary environments
◦ Full environment every time or use
name spaces / routing.
@jimmydahlqvist
Unit Test
◦ Test service internal functionality
◦ Run fast and in parallel
@jimmydahlqvist
Integration test
◦ Most important
◦ Verify all moving parts together
◦ Run it in the cloud
◦ Run fast or run limited scope
@jimmydahlqvist
API & Contract Test
◦ Honor the contract
◦ Focus on Contract tests
@jimmydahlqvist
Communicate Result
◦ Add test result to Pull-Request
◦ Prevent merge if tests are failing
@jimmydahlqvist
PR-Testing Setup
@jimmydahlqvist
SECOND LINE OF DEFENCE
@jimmydahlqvist
Merged / Nightly Setup
@jimmydahlqvist
Merge Testing
◦ Run pipeline on merged changes
◦ “Integration” test
◦ Validate changes together
◦ Run in dedicated cloud
environment
@jimmydahlqvist
Run fast
◦ Don’t build up a merge queue
◦ Run fast or limited scope
◦ Bundle changes together
@jimmydahlqvist
Nightly Testing
◦ Possibility for extensive testing
◦ Run everything, speed doesn’t
matter
◦ Creates nightly releasable builds
@jimmydahlqvist
Communicate Result
◦ Integrate to communication tool
◦ Post test result every night
@jimmydahlqvist
Integration Test
◦ Run those heavy tests
◦ Don’t forget about asynchronous
integrations
@jimmydahlqvist
Merged / Nightly Setup
@jimmydahlqvist
LET’S GO TO PRODUCTION
@jimmydahlqvist
Release Strategies
◦ Infrastructure
o In-Place
o Immutable
◦ Release process
o All at once
o Blue/Green
o Canary
@jimmydahlqvist
LAST LINE OF DEFENCE
@jimmydahlqvist
Deploy it!
◦ Production Environment
◦ Pick the correct strategy, business
driven.
@jimmydahlqvist
Blue / Green
◦ Provision a new environment, Green
◦ Shift all traffic at once to the Green
environment
◦ Keep Blue environment for fast
rollbacks
@jimmydahlqvist
Blue / Green
@jimmydahlqvist
Blue / Green
@jimmydahlqvist
Canary
◦ Form of Blue / Green deployment
◦ Shift a portion of traffic to the
Green environment
◦ Build confidence
@jimmydahlqvist
Canary
@jimmydahlqvist
Smoke Testing
◦ Subset of unit and integration test
◦ Use real data!
@jimmydahlqvist
Monitor
◦ Monitor extensively after a deploy
◦ Use metrics to detect failed
deployments and problems
@jimmydahlqvist
Communicate & Rollback
◦ Both deploy started and smoke test
result
◦ If automatic rollback is started
@jimmydahlqvist
Roll it back
◦ Implement a rollback strategy
◦ Blue / Green makes it easy
@jimmydahlqvist
Go to prod
@jimmydahlqvist
@jimmydahlqvist
ONE MORE THING
@jimmydahlqvist
Chaos Engineering
What do you mean with you want to
break things in production?
“
Chaos Engineering is the discipline of
experimenting on a system in order to
build confidence in the system’s
capability to withstand turbulent
conditions in production.
@jimmydahlqvist
Chaos Engineering
◦ Not about breaking things
◦ Controlled experiments to inject
failures
◦ Find weaknesses in a system
@jimmydahlqvist
Testing in production
◦ Sounds risky?
◦ Data is different
◦ Abort if customers are affected
@jimmydahlqvist
Observability
◦ Understand status of a complex
system based on the system’s
outputs
◦ Business driven KPIs
Thank You!!
@jimmydahlqvist
https://www.linkedin.com/in/dahlqvistjimmy/
https://jimmydqv.com | https://dev.to/jimmydqv

Contenu connexe

Tendances

Increasing Access Through Service Workers
Increasing Access Through Service WorkersIncreasing Access Through Service Workers
Increasing Access Through Service WorkersNecoline Hubner
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsAndreas Grabner
 
Releasing the monolith on a daily basis - CodeMash
Releasing the monolith on a daily basis - CodeMashReleasing the monolith on a daily basis - CodeMash
Releasing the monolith on a daily basis - CodeMashVincent Kok
 
Why Measuring Page Load Is The Wrong Metric
Why Measuring Page Load Is The Wrong MetricWhy Measuring Page Load Is The Wrong Metric
Why Measuring Page Load Is The Wrong MetricNew Relic
 
Thinking after that disaster in cloud
Thinking after that disaster in cloudThinking after that disaster in cloud
Thinking after that disaster in cloudAmazon Web Services
 
Getting started w ct lite load_testing 03.04.14
Getting started w ct lite load_testing 03.04.14Getting started w ct lite load_testing 03.04.14
Getting started w ct lite load_testing 03.04.14SOASTA
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Mike Villiger
 
Migrating to Microservices
Migrating to MicroservicesMigrating to Microservices
Migrating to MicroservicesBizTalk360
 
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD MeetupKeptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD MeetupJürgen Etzlstorfer
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsLuca Minudel
 
Fine-Tuning of Agile Development
Fine-Tuning of Agile DevelopmentFine-Tuning of Agile Development
Fine-Tuning of Agile DevelopmentThoughtworks
 
Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?Jennifer Finney
 
12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...VMware Tanzu
 
Microservices 5 Things I Wish I'd Known - JFall 2017
Microservices 5 Things I Wish I'd Known - JFall 2017Microservices 5 Things I Wish I'd Known - JFall 2017
Microservices 5 Things I Wish I'd Known - JFall 2017Vincent Kok
 
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...Modern Operations at Scale within Viasat – How to Structure Teams and Build A...
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...Atlassian
 
Infrastructure under the magnifying glass
Infrastructure under the magnifying glassInfrastructure under the magnifying glass
Infrastructure under the magnifying glasskreuzwerker GmbH
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesJudy Breedlove
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnAndreas Grabner
 

Tendances (20)

Increasing Access Through Service Workers
Increasing Access Through Service WorkersIncreasing Access Through Service Workers
Increasing Access Through Service Workers
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
Releasing the monolith on a daily basis - CodeMash
Releasing the monolith on a daily basis - CodeMashReleasing the monolith on a daily basis - CodeMash
Releasing the monolith on a daily basis - CodeMash
 
TIAD : Full stack automation
TIAD : Full stack automationTIAD : Full stack automation
TIAD : Full stack automation
 
Why Measuring Page Load Is The Wrong Metric
Why Measuring Page Load Is The Wrong MetricWhy Measuring Page Load Is The Wrong Metric
Why Measuring Page Load Is The Wrong Metric
 
Thinking after that disaster in cloud
Thinking after that disaster in cloudThinking after that disaster in cloud
Thinking after that disaster in cloud
 
Getting started w ct lite load_testing 03.04.14
Getting started w ct lite load_testing 03.04.14Getting started w ct lite load_testing 03.04.14
Getting started w ct lite load_testing 03.04.14
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
 
Migrating to Microservices
Migrating to MicroservicesMigrating to Microservices
Migrating to Microservices
 
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD MeetupKeptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 
Fine-Tuning of Agile Development
Fine-Tuning of Agile DevelopmentFine-Tuning of Agile Development
Fine-Tuning of Agile Development
 
Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?
 
12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps - What EXACTLY Does that Mean for Spring Deve...
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Microservices 5 Things I Wish I'd Known - JFall 2017
Microservices 5 Things I Wish I'd Known - JFall 2017Microservices 5 Things I Wish I'd Known - JFall 2017
Microservices 5 Things I Wish I'd Known - JFall 2017
 
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...Modern Operations at Scale within Viasat – How to Structure Teams and Build A...
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...
 
Infrastructure under the magnifying glass
Infrastructure under the magnifying glassInfrastructure under the magnifying glass
Infrastructure under the magnifying glass
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob Davies
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 

Similaire à CI/CD As first and last line of defence

Introduction to testing in Cloud / AWS
Introduction to testing in Cloud / AWSIntroduction to testing in Cloud / AWS
Introduction to testing in Cloud / AWSJimmy Dahlqvist
 
Autoscaled Github Runners using StepFunctions
Autoscaled Github Runners using StepFunctionsAutoscaled Github Runners using StepFunctions
Autoscaled Github Runners using StepFunctionsJimmy Dahlqvist
 
The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...Mek Srunyu Stittri
 
10 Do’s for DevOps!
 10 Do’s for DevOps!  10 Do’s for DevOps!
10 Do’s for DevOps! DevOps.com
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...Haggai Philip Zagury
 
Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)Cloudflare
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesGet Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesDeborah Schalm
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures DevOps.com
 
Cloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesCloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesMartin Hinshelwood
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSAmazon Web Services
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toilAmbassador Labs
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...Daniel Bryant
 
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...DevOps Enterprise Summit
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesLars Rosenquist
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesLars Rosenquist
 
Last Conference 2017: Big Data in a Production Environment: Lessons Learnt
Last Conference 2017: Big Data in a Production Environment: Lessons LearntLast Conference 2017: Big Data in a Production Environment: Lessons Learnt
Last Conference 2017: Big Data in a Production Environment: Lessons LearntMark Grebler
 
Value of Enterprise DevOps
Value of Enterprise DevOpsValue of Enterprise DevOps
Value of Enterprise DevOpsMike Kavis
 
Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%TechWell
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...Daniel Bryant
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoVMware Tanzu
 

Similaire à CI/CD As first and last line of defence (20)

Introduction to testing in Cloud / AWS
Introduction to testing in Cloud / AWSIntroduction to testing in Cloud / AWS
Introduction to testing in Cloud / AWS
 
Autoscaled Github Runners using StepFunctions
Autoscaled Github Runners using StepFunctionsAutoscaled Github Runners using StepFunctions
Autoscaled Github Runners using StepFunctions
 
The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...
 
10 Do’s for DevOps!
 10 Do’s for DevOps!  10 Do’s for DevOps!
10 Do’s for DevOps!
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesGet Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
 
Cloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesCloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team Services
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWS
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Last Conference 2017: Big Data in a Production Environment: Lessons Learnt
Last Conference 2017: Big Data in a Production Environment: Lessons LearntLast Conference 2017: Big Data in a Production Environment: Lessons Learnt
Last Conference 2017: Big Data in a Production Environment: Lessons Learnt
 
Value of Enterprise DevOps
Value of Enterprise DevOpsValue of Enterprise DevOps
Value of Enterprise DevOps
 
Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 

Plus de Jimmy Dahlqvist

Building a serverless AI powered translation service
Building a serverless AI powered translation serviceBuilding a serverless AI powered translation service
Building a serverless AI powered translation serviceJimmy Dahlqvist
 
Serverless cloud architecture patterns
Serverless cloud architecture patternsServerless cloud architecture patterns
Serverless cloud architecture patternsJimmy Dahlqvist
 
AI Powered event-driven translation bot
AI Powered event-driven translation botAI Powered event-driven translation bot
AI Powered event-driven translation botJimmy Dahlqvist
 
Serverless and event-driven in a world of IoT
Serverless and event-driven in a world of IoTServerless and event-driven in a world of IoT
Serverless and event-driven in a world of IoTJimmy Dahlqvist
 
Event-driven and serverless in the world of IoT
Event-driven and serverless in the world of IoTEvent-driven and serverless in the world of IoT
Event-driven and serverless in the world of IoTJimmy Dahlqvist
 
IoT Enabled Smoker for Great BBQ
IoT Enabled Smoker for Great BBQIoT Enabled Smoker for Great BBQ
IoT Enabled Smoker for Great BBQJimmy Dahlqvist
 
Building a serverless event driven Slack Bot
Building a serverless event driven Slack BotBuilding a serverless event driven Slack Bot
Building a serverless event driven Slack BotJimmy Dahlqvist
 
IoT Enabled smoker for Great BBQ
IoT Enabled smoker for Great BBQIoT Enabled smoker for Great BBQ
IoT Enabled smoker for Great BBQJimmy Dahlqvist
 
IoT enable smoker for great BBQ
IoT enable smoker  for great BBQIoT enable smoker  for great BBQ
IoT enable smoker for great BBQJimmy Dahlqvist
 
EventBridge Patterns and real world use case
EventBridge Patterns and real world use caseEventBridge Patterns and real world use case
EventBridge Patterns and real world use caseJimmy Dahlqvist
 
re:Invent Recap Breakfast
re:Invent Recap Breakfastre:Invent Recap Breakfast
re:Invent Recap BreakfastJimmy Dahlqvist
 
CHAOS ENGINEERING – OR LET'S SHAKE THE TREE
CHAOS ENGINEERING – OR LET'S SHAKE THE TREECHAOS ENGINEERING – OR LET'S SHAKE THE TREE
CHAOS ENGINEERING – OR LET'S SHAKE THE TREEJimmy Dahlqvist
 
Road to an asynchronous device registration API
Road to an asynchronous device registration APIRoad to an asynchronous device registration API
Road to an asynchronous device registration APIJimmy Dahlqvist
 
GitOps in action, powered by Alexa.
GitOps in action, powered by Alexa.GitOps in action, powered by Alexa.
GitOps in action, powered by Alexa.Jimmy Dahlqvist
 

Plus de Jimmy Dahlqvist (14)

Building a serverless AI powered translation service
Building a serverless AI powered translation serviceBuilding a serverless AI powered translation service
Building a serverless AI powered translation service
 
Serverless cloud architecture patterns
Serverless cloud architecture patternsServerless cloud architecture patterns
Serverless cloud architecture patterns
 
AI Powered event-driven translation bot
AI Powered event-driven translation botAI Powered event-driven translation bot
AI Powered event-driven translation bot
 
Serverless and event-driven in a world of IoT
Serverless and event-driven in a world of IoTServerless and event-driven in a world of IoT
Serverless and event-driven in a world of IoT
 
Event-driven and serverless in the world of IoT
Event-driven and serverless in the world of IoTEvent-driven and serverless in the world of IoT
Event-driven and serverless in the world of IoT
 
IoT Enabled Smoker for Great BBQ
IoT Enabled Smoker for Great BBQIoT Enabled Smoker for Great BBQ
IoT Enabled Smoker for Great BBQ
 
Building a serverless event driven Slack Bot
Building a serverless event driven Slack BotBuilding a serverless event driven Slack Bot
Building a serverless event driven Slack Bot
 
IoT Enabled smoker for Great BBQ
IoT Enabled smoker for Great BBQIoT Enabled smoker for Great BBQ
IoT Enabled smoker for Great BBQ
 
IoT enable smoker for great BBQ
IoT enable smoker  for great BBQIoT enable smoker  for great BBQ
IoT enable smoker for great BBQ
 
EventBridge Patterns and real world use case
EventBridge Patterns and real world use caseEventBridge Patterns and real world use case
EventBridge Patterns and real world use case
 
re:Invent Recap Breakfast
re:Invent Recap Breakfastre:Invent Recap Breakfast
re:Invent Recap Breakfast
 
CHAOS ENGINEERING – OR LET'S SHAKE THE TREE
CHAOS ENGINEERING – OR LET'S SHAKE THE TREECHAOS ENGINEERING – OR LET'S SHAKE THE TREE
CHAOS ENGINEERING – OR LET'S SHAKE THE TREE
 
Road to an asynchronous device registration API
Road to an asynchronous device registration APIRoad to an asynchronous device registration API
Road to an asynchronous device registration API
 
GitOps in action, powered by Alexa.
GitOps in action, powered by Alexa.GitOps in action, powered by Alexa.
GitOps in action, powered by Alexa.
 

Dernier

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 

Dernier (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

CI/CD As first and last line of defence

Notes de l'éditeur

  1. BREAK IT DOWN! AUTONOMOUS TEAMS TEAM MANAGES INFRA AUTOMATION
  2. BASICALLY!!!
  3. MICROS SERVICE BOTH ARCHITECTURE AND ORGANIZATIONAL!! HUGE PART IN CLOUD NATIVE BREAK UP SERVICES / BREAK UP TEAMS => 2 PIZZA INDIVIDUAL TEAMS
  4. API != REST CONTRACTS => TEAMS NEEED TO TALK!! INCREASED COMPLEXITY! NOT ALL GOOD!! EVENT AND COMMUNICATION DRIVEN NANO SERVICE => AWS LAMBDA
  5. WHAT IS THAT NOT THE SAME? PRODUCER => API CONSUMER => CONTRACT HONOR CONTRACT
  6. DEVOPS SAID WE DEPLOYED INFRA……
  7. WE NEED TO HANDLE IT AS CODE! MODELS OUR INFRA => REQUIRED FOR AUTOMATION VERSION CONTROLLED AND AUDIT TRAIL EVERYTHING IN GIT PLEASE….. MANUAL => DIFFERENT ENVIRONMENTS NEEDED FOR AUTOMATION
  8. NOOOOOO NOT SECRETS! MANY AWS BREACHES ARE DUE TO CHECKED IN CREDENTIALS!
  9. VERIFY OUR INFRA SETUP! HOW ELSE DO WE KNOE? POLICY AS CODE TO VERIFY EG PORT 22 LINITING TO VERIFY TEMPLATE IS VALID CREATE TOOLS TO RUN UNIT TEST FOR INFRA!
  10. ENTER THE WORLD OF ASYCN EVENT DRIVEN! CHALLANGING FROM A TEST PERSPECTIVE => HOW WE DO IT!! OBSERVE OUTPUTS!
  11. TRIGGER CODE BASED ON EVENT AND NOT COMMUNICATION MANY PARTS CAN RUN AT THE SAME TIME! MATCH MADE IN HEAVEN FOR SERVERLESS => HUGE TREND!
  12. YES YES THERE ARE SERVERS! BUT NOT THAT WE MANAGE RUN CODE DYNAMICALLY SCALE AUTOMATICALLY => PERFECT FOR EVENT DRIVEN LAMBDA => BREAK DONW TO NANO SERVICE FOCUS ON BUSINESS VALUE => WHY I LOVE SERVERLESS FAST POC
  13. THAT WAS SOME CONTEXT INTO THE WORLD OF CLOUD!! NOW LET US DEPLOY OUR CHANGES TO PROD USE CI/CD
  14. REPEATABLE PROCESS AUTOMATE! NO MANUAL KLICKING AROUNGD BUILD IN QUALITY AND TESTING
  15. I USE A LOT VERIFY IT IN THE CLOD => NO MOCKING INTEGRATION TESTING!!! THIS IS KEY!
  16. NOW WE ARE READY TO MOVE OUR CHANGE TO PROD FIRT LINE!
  17. VISUALIZE IT!
  18. PR TESTING!! FIND PROBLEMS EARLY MAIN BRANCH
  19. TEST IT IN THE CLOUD => USE TEMPORARY ENV YES! TEMP ENVIRONMENTS CAN TAKE TIME TO SPIN UP! THERE IS NO SILVER BULLET
  20. UNIT TEST TO VERIFY THE INTERNALS OF THE SERVICE RUN FAST AND IN PARALLEL FEEDBACK MUST BE FAST
  21. RUN INTEGRATION TESTS => MY EXPERIENCE => THIS FINDS MORE PROBLEMS THAN UNIT TESTING VERIFY ALL MOVING PARTS TOGETHER IN THE CLOUD! DON’T MOCK! RUN FAST OR PICK A LIMITED SCOPE
  22. FOCUS ON CONTRACT TEST! SPEED SO WE MIGHT NOT BE ABLE TO RUN ALL
  23. COMMUNICATE THE RESULT! NO POINT IN TESTING IF WE DON’T BLOCK MERGE
  24. VISUALIZE IT!
  25. SECOND LINE!!
  26. VISUALIZE IT!
  27. RUN TESTS ON MERGE TEST CHANGES TOGETHER => OTHER SERVICES RUN IN DEDICATED CLOUD ENVIRONMENT
  28. BE FAST!! WE DON’T WANT TO BUILD UP A “MERGE QUEUE” OR BUNDLE CHANGES => DON’T RUN FOR EVERY MERGE
  29. RUN FULL SUITES EVERY NIGHT! RUN EVERYTHING, SPEED IS NOT AN FACTOR CREATE NIGHTLY RELEASEABLE BUILDS
  30. INTEGRATE WITH SLACK / TEAMS POST RESULT EVERY NIGHT!
  31. RUN ALL THE HEAVY TESTS => LONG RUNNING! DON’T FORGET ABOUT ASYNC INTEGRATIONS!
  32. VISUALIZE IT!
  33. TIME TO GO TO PROD!!
  34. AREA THAT TEST MUST START TO TAKE RESPONSIBILITY IN!!!
  35. THE LAST LINE!!!
  36. DEPLOY TO PROD PICK CORRECT STRATEGY MY TWO FAVORITES
  37. BG
  38. In this mode we can run smoke tests to Green!
  39. In this mode we can run smoke tests to Green!
  40. CANARY!
  41. In this mode we can run smoke tests to Green!
  42. SMOKE TEST THE RELEASE RUN SUBSET! USE REAL DATA! BE CAREFUL!
  43. START EXTENSIVE MONITORING! KEY METRICS! BUSINESS DRIVEN KPI!
  44. COMMUNICATE DEPLOY START => SO TEAM KNOWS!
  45. ROLLBACK TRIGGERED BY TESTS OR METRICS! TESTS MUST BE ROCK SOLID! BG MAKE ROLLBACK EASY!
  46. VISUALIZE!
  47. THERE IS ONE MORE THING! THESE ARE AREAS WHERE I LIKE TO SEE TEST TAKE MORE OWNERSHIP!
  48. PEOPLE THAT SAY QA ARE THE SAME ARE LYING! DATA IS DIFFERENT DATABASE 100X AS LARGE => SLOW QUERY!
  49. Netflix key KPI SPS (Streams start Per Second)
  50. Thank you! You can follow me on twitter or connect on linked in.