SlideShare a Scribd company logo
1 of 59
Download to read offline
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

More Related Content

What's hot

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
 

What's hot (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
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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.
 

Recently uploaded

SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 

Recently uploaded (20)

SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 

CI/CD as first and last line of defence

Editor's Notes

  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.