SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Development andQA
dilemmas in DevOps
Matteo Emili
twitter.com/MattVSTS || mattvsts.blogspot.com
Who am I?
 Visual Studio and DevelopmentTechnologies MVP (ALM)
 Professional Scrum Master I
 Systems EngineeringAdvisor @ Dell Software
 Taunton Developers Meetup
 London Microsoft DevOps Meetup
 Other communities overseas
CDCycle
Monitor
Operate
Workingsoftware
inproduction
Valuerealization
Are we all ready for it?
Sometimes
things are the
other way
round…
 The first thing to do should be creating a MinimumViable Product,
including the infrastructure
 The Pipeline must work from the very first moment
 Dev andTest environments should be disposable, infrastructure
must be idempotent
 Testing can happen in Production
It is a shocking
change for
some
 “I was frightened by not feeling a safety net”
 “Does it actually work?”
 “The feeling is not good at first”
 “We don’t want to be accountable for all of this”
 “It can’t work!”
 “How do we know what to build?”
 “It is hard to get the grip with these tools”
Prerequisite
The team must buy into DevOps!
Scenario #0
Use your
infrastructure!
 Leverage on Infrastructure As Code
(DSC,Azure RM, Amazon
CloudFormations) to remove
friction when factoring the
infrastructure in
 Spend time on defining what you
need to have, and the provider
(Azure, AWS, local deployment
service) will deploy that for you
 Idempotent and resilient – if there
is something wrong, redeploy
 Less friction here means no barrier
between Dev and Ops, a
fundamental (and time saving)
change!
Scenario #1
Database
schema
change
 You must bring a database schema change in production
 Cloud or mission critical web service
 Transparent for your users, regardless of public-facing or internal
change
 No downtime for migration – it must work!
The typical
approach
 Develop everything in a separate environment
 Countless hours of tests
 Big-bang migration then new feature for all the users
 Big release date, people freak out
 …lots of fingers crossed!
Shhh! Don’t
make noise!
 There is no such approach in DevOps
 Each big change must be split in smaller changes
 They are often invisible to the user
 Silent deployments can happen across multiple sprints
 If something breaks, rollback
 Start using your MVP straight away!
Demo
Infrastructure as Code
Database schema change
Scenario #2
Feature Flags
 Championed by Martin Fowler, Feature Flags are around since at
least 2009
 Pretty much all services nowadays use them
 Flickr,Amazon, Microsoft, Facebook, Google, Netflix …
 They are used to enable or disable certain areas of your
application to your users
“…wait. Does
it mean
Microservices
and all the new
stuff around?”
 No, it doesn’t!
 You can use Feature Flags with all the architectures
 It is a practice, not a product
 It ties in with the previous scenario and makes testing easier
How?
 Practically speaking, it is about a Configuration Database coupled
with Identifiers
 The Configuration Database can be a csv file, XML file, key-value
model, a database (!)
 Identifiers are areas you will easily split your applications into
 They often go well together with Feature/Epics or even User Stories
 Countless OSS libraries
It doesn’t
come for free
 It is expensive (in terms of time, and sometimes refactoring) to
build it up from scratch in an existing application
 Not just enable/disable – logging, kill switch, selective adoption,
rollouts are all things to implement that takes time
 OSS libraries help, as there is a choice for each platform, but there
is still an implementation cost to keep in mind
Demo
Feature Flags with LaunchDarkly
Scenario #3
A/BTesting,
MVT
Testing…is it
about testing?
 Little changes for QA in DevOps, except for automation
 What is really new are practices ofTesting in Production -
extremely common especially withWeb Applications
 You deploy version B of your A application (or a permutation of
possibilities), direct a percentage of the traffic towards it and
compare the adoption results
 Implementing them is extremely easy, getting value out of them is
hard!
A bit of Lean…
 "There is no such thing as a free lunch“ – technology alone is not
going to deliver a successful product
 My take is to adopt the Build-Measure-Learn loop
 Start with a MinimumViable Product and measure its usage with
appropriate metrics
 Build on top of it, discard what doesn’t work
Getting
visibility on
what is
actually
happening
 Is my application performing as expected?
 What about availability?
 Are my users having a good experience?
 Above all, you need better, faster and more direct feedback
Learn from
your users and
improve your
product
 In the Build-Measure-Learn loop the Measure stage is the most
important one
 Metrics will tell if you are going in the right direction, so it is critical
to ‘get it right’
 Extend your product to include what really matters
 Get insights on your users before they react
 Proactively understand potential problems
 You can analyse your data and understand if your application is
behaving as expected
It is different
from logging
 We are not talking about plain application logs
 What user actions are meaningful to your business goals?
 Is the telemetry data answering this question?
 Is there any bottlenecks which is penalising the business?
 You need to have visibility on user events
 Actionable insights are mapped into behaviours (what content is
used, not how)
 E.g.: when a user enters in a certain page/area, log on/off,
Favourites, social stats, errors…
You won’t do
that from
scratch
 It is too expensive to build something from scratch
 You need to use an analytics provider
 The development experience must be cross-platform, unobtrusive
at first and then customisable with an SDK
 Easily add custom telemetry wherever needed
Demo
Learn from your users
So?
 These scenarios are very common when approaching DevOps
 Remember: DevOps is not the silver bullet, teams must buy-in into
the process
 Collaboration is key to success
 Use data to take decisions
 Don’t be afraid!

Weitere ähnliche Inhalte

Was ist angesagt?

Microservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or NightmareMicroservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or NightmareChristophe Marchal
 
Aws, play! couch db scaling soa in the cloud
Aws, play! couch db  scaling soa in the cloudAws, play! couch db  scaling soa in the cloud
Aws, play! couch db scaling soa in the cloudChristophe Marchal
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesShiva Narayanaswamy
 
Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015Christophe Marchal
 
Boris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureBoris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureOutlyer
 
DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture CodeOps Technologies LLP
 
Steve Thair (DevOps Guys) - DevOps for Windows in the Wild
Steve Thair (DevOps Guys) - DevOps for Windows in the WildSteve Thair (DevOps Guys) - DevOps for Windows in the Wild
Steve Thair (DevOps Guys) - DevOps for Windows in the WildOutlyer
 
What manufacturing teaches about DevOps
What manufacturing teaches about DevOpsWhat manufacturing teaches about DevOps
What manufacturing teaches about DevOpsGordon Haff
 
How to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps SolutionsHow to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps SolutionsSoftServe
 
Devops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with PuppetDevops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with PuppetEdureka!
 
Introduction to Puppet Enterprise 2016.4
Introduction to Puppet Enterprise 2016.4Introduction to Puppet Enterprise 2016.4
Introduction to Puppet Enterprise 2016.4Puppet
 
One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops Uri Cohen
 
Controlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWSControlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWSPuppet
 
DevOps at DreamLab
DevOps at DreamLabDevOps at DreamLab
DevOps at DreamLabDreamLab
 
Build, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to endBuild, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to endOtávio Santana
 
What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4Puppet
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsMassTLC
 

Was ist angesagt? (20)

Microservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or NightmareMicroservices Architecture: Nirvana or Nightmare
Microservices Architecture: Nirvana or Nightmare
 
Aws, play! couch db scaling soa in the cloud
Aws, play! couch db  scaling soa in the cloudAws, play! couch db  scaling soa in the cloud
Aws, play! couch db scaling soa in the cloud
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Devops
DevopsDevops
Devops
 
Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015
 
Boris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureBoris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on Azure
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
 
DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture
 
Steve Thair (DevOps Guys) - DevOps for Windows in the Wild
Steve Thair (DevOps Guys) - DevOps for Windows in the WildSteve Thair (DevOps Guys) - DevOps for Windows in the Wild
Steve Thair (DevOps Guys) - DevOps for Windows in the Wild
 
What manufacturing teaches about DevOps
What manufacturing teaches about DevOpsWhat manufacturing teaches about DevOps
What manufacturing teaches about DevOps
 
How to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps SolutionsHow to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps Solutions
 
Devops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with PuppetDevops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with Puppet
 
Introduction to Puppet Enterprise 2016.4
Introduction to Puppet Enterprise 2016.4Introduction to Puppet Enterprise 2016.4
Introduction to Puppet Enterprise 2016.4
 
One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops
 
Controlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWSControlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWS
 
DevOps at DreamLab
DevOps at DreamLabDevOps at DreamLab
DevOps at DreamLab
 
Build, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to endBuild, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to end
 
What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps tools
 

Andere mochten auch

WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...WinOps Conf
 
Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...
Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...
Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...WinOps Conf
 
Rik Hepworth - ARM Yourself for Effective Azure Provisioning
Rik Hepworth - ARM Yourself for Effective Azure ProvisioningRik Hepworth - ARM Yourself for Effective Azure Provisioning
Rik Hepworth - ARM Yourself for Effective Azure ProvisioningWinOps Conf
 
Ian Margetts - ASOS’ Journey to Continuous Deployment
Ian Margetts - ASOS’ Journey to Continuous DeploymentIan Margetts - ASOS’ Journey to Continuous Deployment
Ian Margetts - ASOS’ Journey to Continuous DeploymentWinOps Conf
 
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...WinOps Conf
 
Ed Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in AzureEd Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in AzureWinOps Conf
 
Connon MacRae - Evolution of Ticketmaster's journey to DevOps
Connon MacRae - Evolution of Ticketmaster's journey to DevOpsConnon MacRae - Evolution of Ticketmaster's journey to DevOps
Connon MacRae - Evolution of Ticketmaster's journey to DevOpsWinOps Conf
 
Neil Peterson - Azure CLI Deep Dive
Neil Peterson - Azure CLI Deep DiveNeil Peterson - Azure CLI Deep Dive
Neil Peterson - Azure CLI Deep DiveWinOps Conf
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf
 
New Relic - Digital Intelligence - Meetup #12
New Relic - Digital Intelligence - Meetup #12New Relic - Digital Intelligence - Meetup #12
New Relic - Digital Intelligence - Meetup #12WinOps Conf
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
 
WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...
WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...
WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...WinOps Conf
 
Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...
Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...
Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...WinOps Conf
 
Flynn Bundy - 60 micro-services in 6 months
Flynn Bundy - 60 micro-services in 6 months Flynn Bundy - 60 micro-services in 6 months
Flynn Bundy - 60 micro-services in 6 months WinOps Conf
 
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp TerraformAlex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp TerraformWinOps Conf
 

Andere mochten auch (15)

WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
 
Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...
Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...
Trond Hindenes - 18 months of learning: Notes from implementing Ansible in a ...
 
Rik Hepworth - ARM Yourself for Effective Azure Provisioning
Rik Hepworth - ARM Yourself for Effective Azure ProvisioningRik Hepworth - ARM Yourself for Effective Azure Provisioning
Rik Hepworth - ARM Yourself for Effective Azure Provisioning
 
Ian Margetts - ASOS’ Journey to Continuous Deployment
Ian Margetts - ASOS’ Journey to Continuous DeploymentIan Margetts - ASOS’ Journey to Continuous Deployment
Ian Margetts - ASOS’ Journey to Continuous Deployment
 
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
 
Ed Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in AzureEd Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in Azure
 
Connon MacRae - Evolution of Ticketmaster's journey to DevOps
Connon MacRae - Evolution of Ticketmaster's journey to DevOpsConnon MacRae - Evolution of Ticketmaster's journey to DevOps
Connon MacRae - Evolution of Ticketmaster's journey to DevOps
 
Neil Peterson - Azure CLI Deep Dive
Neil Peterson - Azure CLI Deep DiveNeil Peterson - Azure CLI Deep Dive
Neil Peterson - Azure CLI Deep Dive
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
 
New Relic - Digital Intelligence - Meetup #12
New Relic - Digital Intelligence - Meetup #12New Relic - Digital Intelligence - Meetup #12
New Relic - Digital Intelligence - Meetup #12
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...
WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...
WinOps Conf 2016 - Peter Mounce - DoS yourself in production every night to p...
 
Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...
Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...
Kathleen Wilson - Evolve Cloud Operations and Enable Agile with Modern Servic...
 
Flynn Bundy - 60 micro-services in 6 months
Flynn Bundy - 60 micro-services in 6 months Flynn Bundy - 60 micro-services in 6 months
Flynn Bundy - 60 micro-services in 6 months
 
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp TerraformAlex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
 

Ähnlich wie WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps

Development and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsDevelopment and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsMatteo Emili
 
SAD07 - Project Management
SAD07 - Project ManagementSAD07 - Project Management
SAD07 - Project ManagementMichael Heron
 
Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfKAJAL MANDAL
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Jwooldridge
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)VMware Tanzu
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesAgile Trends
 
Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsSteve Pember
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPeter Marshall
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Peter Marshall
 
Defect Correction Is The Remediation Of A Software Condition
Defect Correction Is The Remediation Of A Software ConditionDefect Correction Is The Remediation Of A Software Condition
Defect Correction Is The Remediation Of A Software ConditionKristi Anderson
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsLinards Liep
 
The Ultimate DevOps Playbook
The Ultimate DevOps PlaybookThe Ultimate DevOps Playbook
The Ultimate DevOps PlaybookJalpesh Patel
 
The Ultimate DevOps Playbook
The Ultimate DevOps PlaybookThe Ultimate DevOps Playbook
The Ultimate DevOps PlaybookEggplant
 
The Journey of Test Automation
The Journey of Test AutomationThe Journey of Test Automation
The Journey of Test Automationopkey
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)Nitin Bhide
 
Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2VMware Tanzu
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to ProductionKarthik Gaekwad
 

Ähnlich wie WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps (20)

Development and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsDevelopment and QA dilemmas in DevOps
Development and QA dilemmas in DevOps
 
SAD07 - Project Management
SAD07 - Project ManagementSAD07 - Project Management
SAD07 - Project Management
 
Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdf
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
 
Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and Grails
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Defect Correction Is The Remediation Of A Software Condition
Defect Correction Is The Remediation Of A Software ConditionDefect Correction Is The Remediation Of A Software Condition
Defect Correction Is The Remediation Of A Software Condition
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
 
The Ultimate DevOps Playbook
The Ultimate DevOps PlaybookThe Ultimate DevOps Playbook
The Ultimate DevOps Playbook
 
The Ultimate DevOps Playbook
The Ultimate DevOps PlaybookThe Ultimate DevOps Playbook
The Ultimate DevOps Playbook
 
The Journey of Test Automation
The Journey of Test AutomationThe Journey of Test Automation
The Journey of Test Automation
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 

Kürzlich hochgeladen

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps

  • 1. Development andQA dilemmas in DevOps Matteo Emili twitter.com/MattVSTS || mattvsts.blogspot.com
  • 2. Who am I?  Visual Studio and DevelopmentTechnologies MVP (ALM)  Professional Scrum Master I  Systems EngineeringAdvisor @ Dell Software  Taunton Developers Meetup  London Microsoft DevOps Meetup  Other communities overseas
  • 4. Are we all ready for it?
  • 5. Sometimes things are the other way round…  The first thing to do should be creating a MinimumViable Product, including the infrastructure  The Pipeline must work from the very first moment  Dev andTest environments should be disposable, infrastructure must be idempotent  Testing can happen in Production
  • 6. It is a shocking change for some  “I was frightened by not feeling a safety net”  “Does it actually work?”  “The feeling is not good at first”  “We don’t want to be accountable for all of this”  “It can’t work!”  “How do we know what to build?”  “It is hard to get the grip with these tools”
  • 7. Prerequisite The team must buy into DevOps!
  • 8. Scenario #0 Use your infrastructure!  Leverage on Infrastructure As Code (DSC,Azure RM, Amazon CloudFormations) to remove friction when factoring the infrastructure in  Spend time on defining what you need to have, and the provider (Azure, AWS, local deployment service) will deploy that for you  Idempotent and resilient – if there is something wrong, redeploy  Less friction here means no barrier between Dev and Ops, a fundamental (and time saving) change!
  • 9. Scenario #1 Database schema change  You must bring a database schema change in production  Cloud or mission critical web service  Transparent for your users, regardless of public-facing or internal change  No downtime for migration – it must work!
  • 10.
  • 11. The typical approach  Develop everything in a separate environment  Countless hours of tests  Big-bang migration then new feature for all the users  Big release date, people freak out  …lots of fingers crossed!
  • 12. Shhh! Don’t make noise!  There is no such approach in DevOps  Each big change must be split in smaller changes  They are often invisible to the user  Silent deployments can happen across multiple sprints  If something breaks, rollback  Start using your MVP straight away!
  • 14. Scenario #2 Feature Flags  Championed by Martin Fowler, Feature Flags are around since at least 2009  Pretty much all services nowadays use them  Flickr,Amazon, Microsoft, Facebook, Google, Netflix …  They are used to enable or disable certain areas of your application to your users
  • 15. “…wait. Does it mean Microservices and all the new stuff around?”  No, it doesn’t!  You can use Feature Flags with all the architectures  It is a practice, not a product  It ties in with the previous scenario and makes testing easier
  • 16. How?  Practically speaking, it is about a Configuration Database coupled with Identifiers  The Configuration Database can be a csv file, XML file, key-value model, a database (!)  Identifiers are areas you will easily split your applications into  They often go well together with Feature/Epics or even User Stories  Countless OSS libraries
  • 17. It doesn’t come for free  It is expensive (in terms of time, and sometimes refactoring) to build it up from scratch in an existing application  Not just enable/disable – logging, kill switch, selective adoption, rollouts are all things to implement that takes time  OSS libraries help, as there is a choice for each platform, but there is still an implementation cost to keep in mind
  • 18. Demo Feature Flags with LaunchDarkly
  • 19. Scenario #3 A/BTesting, MVT Testing…is it about testing?  Little changes for QA in DevOps, except for automation  What is really new are practices ofTesting in Production - extremely common especially withWeb Applications  You deploy version B of your A application (or a permutation of possibilities), direct a percentage of the traffic towards it and compare the adoption results  Implementing them is extremely easy, getting value out of them is hard!
  • 20. A bit of Lean…  "There is no such thing as a free lunch“ – technology alone is not going to deliver a successful product  My take is to adopt the Build-Measure-Learn loop  Start with a MinimumViable Product and measure its usage with appropriate metrics  Build on top of it, discard what doesn’t work
  • 21. Getting visibility on what is actually happening  Is my application performing as expected?  What about availability?  Are my users having a good experience?  Above all, you need better, faster and more direct feedback
  • 22. Learn from your users and improve your product  In the Build-Measure-Learn loop the Measure stage is the most important one  Metrics will tell if you are going in the right direction, so it is critical to ‘get it right’  Extend your product to include what really matters  Get insights on your users before they react  Proactively understand potential problems  You can analyse your data and understand if your application is behaving as expected
  • 23. It is different from logging  We are not talking about plain application logs  What user actions are meaningful to your business goals?  Is the telemetry data answering this question?  Is there any bottlenecks which is penalising the business?  You need to have visibility on user events  Actionable insights are mapped into behaviours (what content is used, not how)  E.g.: when a user enters in a certain page/area, log on/off, Favourites, social stats, errors…
  • 24. You won’t do that from scratch  It is too expensive to build something from scratch  You need to use an analytics provider  The development experience must be cross-platform, unobtrusive at first and then customisable with an SDK  Easily add custom telemetry wherever needed
  • 26. So?  These scenarios are very common when approaching DevOps  Remember: DevOps is not the silver bullet, teams must buy-in into the process  Collaboration is key to success  Use data to take decisions  Don’t be afraid!