SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Paving The Road To
Production
Why you need an internal tools team
Matt Reynolds
@mattreyuk
Hi my name is Matt Reynolds I’m a senior engineer in the data and infrastructure
group at Ibotta a rewarded shopping app built here in Denver. My talk today is about
how building tools can help make your life - dev or ops a little easier.
Observe
Orient
Decide
Act
First - the problem. Like the fighter pilots this theory was originally developed for,
companies are trying to get round this loop faster and faster and learn from the
changes they introduce to their customer base before their competitors can match.
Autonomous Teams
To go faster, they’re also introducing more independent teams with more autonomy to
produce their systems - breaking the old release trains and deploying independently
at a pace that works for the individual team
What About Ops?
The traditional Ops group at the end of the release path was already in trouble but
now Product Managers are driving functional requirements in all these teams, there
are rarely enough ops to embed in each dev team to inform on non-functional
requirements.
What Can We Do?
To overcome this, we need to help developers become more self sufficient - ensure
that as much as possible, operational concerns are built in from the ground up by
working with development to pave a road to production with tools.
How do I Start a
Project?
There are opportunities to provide tooling throughout the lifecycle of a service starting
with service template generators to get you going faster and help standardize
approaches. Yeoman is a great generator tool - there’s even a yeoman generator
generator
How do I Provision
Resources?
Using something like terraform template modules is a great starting point to build on
in helping devs provision their own resources but you’ll also want to build guardrails
using alerts for cost overrun and security issues so you can “trust but verify”
How do I Make it
Easier to Support?
Building standard configuration and libraries for your supported languages gives
developers an easier way to include things like request tracing, structured logging and
monitoring, configuration and secrets management
How do I run it in
Dev/Stage/Prod?
Docker can make it much easier for devs to test locally, using compose for
coordinating several containers. Then mocking, stubbing, contract testing together
with controlled testing in production can reduce the need for large staging
environments and the overhead they entail
How do I Manage it in
Production?
Based on the conventions we’ve established with earlier tools we can now automate
things like connecting to log aggregators, building standard dashboards and alerts
and a common way to deploy or roll back changes. Making “you build it, you own it”
more of a reality
Benefits:
Standardization,
Speed
Building these tools helps us to standardize our approach - it encourages common
patterns and allows people to more easily move between teams and projects, reduces
the need for specialist knowledge per team and the time required for common
operations.
Benefits:
Flow,
New Capabilities
This should reduce bottlenecks waiting for access to those specialists and allow them
to do more impactful work (like writing even more tools!) or maybe working on
reducing infrastructure spend, chaos testing for resilience etc
Starting Top Down
If there’s a big new initiative (and let’s face it, there usually is) - you may be able to
drive a top-down change by advocating how internal tools can help the company
achieve that goal - just remember to build a case on the business benefit, not the
technology details
Starting Bottom Up

 but you also need to build from the bottom up - often you’ll want some concrete
example you can point to to strengthen your case so find a pain point - especially one
between teams and build a tool to help reduce that friction
Write the Right Thing
You want to build things that will actually get used - so find early adopters prepared
for some pain, get them trying early rough versions, iterate on their feedback before
you open up to wider audience. Be sure to focus on the main use cases - the old
80/20 rule.
Listen to Your
Customers
Along with that, you need to really listen to the users of your tools, empathize and
understand their pain points - be open to their feedback - it won’t always be nice to
hear but try and find the underlying issue that’s causing the frustration so you can do
something about it
Keep it Going
Congratulations! You’ve created a bunch of tools, now how do you keep them
relevant and up to date? Try adopting an internal open source approach, accept PRs
on tools from users and then help them to take ownership when they’re mature
Support
Make use of your early adopters as evangelists, they can publicize and help with low
level support questions. Documentation is also really important as it helps provide a
consistent message.How-tos and troubleshooting guides can help with self service
but you still need an open support channel.
Expand to Other
Areas
internal tools doesn’t just have to be about dev and ops - you can expand the
principle to other groups in the organization such as data engineering, analytics and
business support teams - maybe even integrate with IT for easier on-boarding etc
Conclusions
Hopefully you’ve seen that by developing your own tools, you can help alleviate
pressure on operations specialists, empower developers to own more of the process
and improve the operational readiness of your services

Weitere Àhnliche Inhalte

Was ist angesagt?

Testing – Why We Do It Badly2
Testing – Why We Do It Badly2Testing – Why We Do It Badly2
Testing – Why We Do It Badly2
adevney
 
Best of scrum and lean startup for product development
Best of scrum and lean startup for product developmentBest of scrum and lean startup for product development
Best of scrum and lean startup for product development
India Scrum Enthusiasts Community
 
Agile Injection, Varberg
Agile Injection, VarbergAgile Injection, Varberg
Agile Injection, Varberg
Fredrik Wendt
 

Was ist angesagt? (18)

Dev Ops @ Envato
Dev Ops @ EnvatoDev Ops @ Envato
Dev Ops @ Envato
 
Linking characteristics to IT industry
Linking characteristics to IT industryLinking characteristics to IT industry
Linking characteristics to IT industry
 
Modern agile overview
Modern agile overviewModern agile overview
Modern agile overview
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
 
Legacy Content: Applying your new content strategy to old information
Legacy Content: Applying your new content strategy to old informationLegacy Content: Applying your new content strategy to old information
Legacy Content: Applying your new content strategy to old information
 
The Impact of Culture on Distributed Agile - DiscussAgile - May 07 2016
The Impact of Culture on Distributed Agile - DiscussAgile - May 07 2016The Impact of Culture on Distributed Agile - DiscussAgile - May 07 2016
The Impact of Culture on Distributed Agile - DiscussAgile - May 07 2016
 
Testing – Why We Do It Badly2
Testing – Why We Do It Badly2Testing – Why We Do It Badly2
Testing – Why We Do It Badly2
 
Best of scrum and lean startup for product development
Best of scrum and lean startup for product developmentBest of scrum and lean startup for product development
Best of scrum and lean startup for product development
 
Goody bag ghc design thinking tools
Goody bag ghc design thinking toolsGoody bag ghc design thinking tools
Goody bag ghc design thinking tools
 
Hands On Test Customer Presentation
Hands On Test Customer PresentationHands On Test Customer Presentation
Hands On Test Customer Presentation
 
Building a CAD Proving Ground – Robert Green, Robert Green Consulting Group
Building a CAD Proving Ground – Robert Green, Robert Green Consulting GroupBuilding a CAD Proving Ground – Robert Green, Robert Green Consulting Group
Building a CAD Proving Ground – Robert Green, Robert Green Consulting Group
 
Agile Injection, Varberg
Agile Injection, VarbergAgile Injection, Varberg
Agile Injection, Varberg
 
Different ways to pay for product development presentation
 Different ways to pay for product development presentation Different ways to pay for product development presentation
Different ways to pay for product development presentation
 
Different ways to pay for product development presentation
 Different ways to pay for product development presentation Different ways to pay for product development presentation
Different ways to pay for product development presentation
 
Kevin Graves SCQAA-SF Scrum Presentation
Kevin Graves SCQAA-SF Scrum PresentationKevin Graves SCQAA-SF Scrum Presentation
Kevin Graves SCQAA-SF Scrum Presentation
 
Technical Challenges In Offshore Software Development
Technical Challenges In Offshore Software Development Technical Challenges In Offshore Software Development
Technical Challenges In Offshore Software Development
 
Building software that matters (Agilia 2014)
Building software that matters (Agilia 2014)Building software that matters (Agilia 2014)
Building software that matters (Agilia 2014)
 
What Happens After The Prototype
What Happens After The Prototype What Happens After The Prototype
What Happens After The Prototype
 

Ähnlich wie Paving the road to production

Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design Decisions
Rikki Wright
 
How to grow and manage Drupal organisations
How to grow and manage Drupal organisationsHow to grow and manage Drupal organisations
How to grow and manage Drupal organisations
Exove
 
Os Nolen Gebhart
Os Nolen GebhartOs Nolen Gebhart
Os Nolen Gebhart
oscon2007
 

Ähnlich wie Paving the road to production (20)

The Top Process Management Software That Will Make Your 2023 Great
The Top Process Management Software That Will Make Your 2023 GreatThe Top Process Management Software That Will Make Your 2023 Great
The Top Process Management Software That Will Make Your 2023 Great
 
Scaling Software Delivery.pdf
Scaling Software Delivery.pdfScaling Software Delivery.pdf
Scaling Software Delivery.pdf
 
Growing Drupal Organisations
Growing Drupal OrganisationsGrowing Drupal Organisations
Growing Drupal Organisations
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Open Source Content Management Systems for Small and Medium Businesses, Chari...
Open Source Content Management Systems for Small and Medium Businesses, Chari...Open Source Content Management Systems for Small and Medium Businesses, Chari...
Open Source Content Management Systems for Small and Medium Businesses, Chari...
 
An Approach to Devops
An Approach to DevopsAn Approach to Devops
An Approach to Devops
 
Make Continuous Delivery work for middle management
Make Continuous Delivery work for middle managementMake Continuous Delivery work for middle management
Make Continuous Delivery work for middle management
 
Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design Decisions
 
How to grow and manage Drupal organisations
How to grow and manage Drupal organisationsHow to grow and manage Drupal organisations
How to grow and manage Drupal organisations
 
Trying to implement enterprise collaboration
Trying to implement enterprise collaborationTrying to implement enterprise collaboration
Trying to implement enterprise collaboration
 
Principles of Technology Leadership
Principles of Technology LeadershipPrinciples of Technology Leadership
Principles of Technology Leadership
 
Devops
DevopsDevops
Devops
 
Top Web Development Challenges & How To Tackle Them?
Top Web Development Challenges & How To Tackle Them?Top Web Development Challenges & How To Tackle Them?
Top Web Development Challenges & How To Tackle Them?
 
What is Lean UX?
What is Lean UX?What is Lean UX?
What is Lean UX?
 
Green light AMIA 2018
Green light AMIA 2018Green light AMIA 2018
Green light AMIA 2018
 
Full-Stack Agile - What is DevOps?
Full-Stack Agile - What is DevOps?Full-Stack Agile - What is DevOps?
Full-Stack Agile - What is DevOps?
 
DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & Profitable
 
Os Nolen Gebhart
Os Nolen GebhartOs Nolen Gebhart
Os Nolen Gebhart
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate Founder
 

KĂŒrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

KĂŒrzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Paving the road to production

  • 1. Paving The Road To Production Why you need an internal tools team Matt Reynolds @mattreyuk Hi my name is Matt Reynolds I’m a senior engineer in the data and infrastructure group at Ibotta a rewarded shopping app built here in Denver. My talk today is about how building tools can help make your life - dev or ops a little easier.
  • 2. Observe Orient Decide Act First - the problem. Like the fighter pilots this theory was originally developed for, companies are trying to get round this loop faster and faster and learn from the changes they introduce to their customer base before their competitors can match.
  • 3. Autonomous Teams To go faster, they’re also introducing more independent teams with more autonomy to produce their systems - breaking the old release trains and deploying independently at a pace that works for the individual team
  • 4. What About Ops? The traditional Ops group at the end of the release path was already in trouble but now Product Managers are driving functional requirements in all these teams, there are rarely enough ops to embed in each dev team to inform on non-functional requirements.
  • 5. What Can We Do? To overcome this, we need to help developers become more self sufficient - ensure that as much as possible, operational concerns are built in from the ground up by working with development to pave a road to production with tools.
  • 6. How do I Start a Project? There are opportunities to provide tooling throughout the lifecycle of a service starting with service template generators to get you going faster and help standardize approaches. Yeoman is a great generator tool - there’s even a yeoman generator generator
  • 7. How do I Provision Resources? Using something like terraform template modules is a great starting point to build on in helping devs provision their own resources but you’ll also want to build guardrails using alerts for cost overrun and security issues so you can “trust but verify”
  • 8. How do I Make it Easier to Support? Building standard configuration and libraries for your supported languages gives developers an easier way to include things like request tracing, structured logging and monitoring, configuration and secrets management
  • 9. How do I run it in Dev/Stage/Prod? Docker can make it much easier for devs to test locally, using compose for coordinating several containers. Then mocking, stubbing, contract testing together with controlled testing in production can reduce the need for large staging environments and the overhead they entail
  • 10. How do I Manage it in Production? Based on the conventions we’ve established with earlier tools we can now automate things like connecting to log aggregators, building standard dashboards and alerts and a common way to deploy or roll back changes. Making “you build it, you own it” more of a reality
  • 11. Benefits: Standardization, Speed Building these tools helps us to standardize our approach - it encourages common patterns and allows people to more easily move between teams and projects, reduces the need for specialist knowledge per team and the time required for common operations.
  • 12. Benefits: Flow, New Capabilities This should reduce bottlenecks waiting for access to those specialists and allow them to do more impactful work (like writing even more tools!) or maybe working on reducing infrastructure spend, chaos testing for resilience etc
  • 13. Starting Top Down If there’s a big new initiative (and let’s face it, there usually is) - you may be able to drive a top-down change by advocating how internal tools can help the company achieve that goal - just remember to build a case on the business benefit, not the technology details
  • 14. Starting Bottom Up 
 but you also need to build from the bottom up - often you’ll want some concrete example you can point to to strengthen your case so find a pain point - especially one between teams and build a tool to help reduce that friction
  • 15. Write the Right Thing You want to build things that will actually get used - so find early adopters prepared for some pain, get them trying early rough versions, iterate on their feedback before you open up to wider audience. Be sure to focus on the main use cases - the old 80/20 rule.
  • 16. Listen to Your Customers Along with that, you need to really listen to the users of your tools, empathize and understand their pain points - be open to their feedback - it won’t always be nice to hear but try and find the underlying issue that’s causing the frustration so you can do something about it
  • 17. Keep it Going Congratulations! You’ve created a bunch of tools, now how do you keep them relevant and up to date? Try adopting an internal open source approach, accept PRs on tools from users and then help them to take ownership when they’re mature
  • 18. Support Make use of your early adopters as evangelists, they can publicize and help with low level support questions. Documentation is also really important as it helps provide a consistent message.How-tos and troubleshooting guides can help with self service but you still need an open support channel.
  • 19. Expand to Other Areas internal tools doesn’t just have to be about dev and ops - you can expand the principle to other groups in the organization such as data engineering, analytics and business support teams - maybe even integrate with IT for easier on-boarding etc
  • 20. Conclusions Hopefully you’ve seen that by developing your own tools, you can help alleviate pressure on operations specialists, empower developers to own more of the process and improve the operational readiness of your services