Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Charity Hound - Serverless, NoOps, The Tooth Fairy

2,189 views

Published on

Presented at ServerlessConf NYC2016.

A common misconception is that "serverless" development means you no longer have to think or care about operations. This could hardly be more false. You are trading one set of problems -- building and running backend services -- for another set, where you are dealing with a sprawling mess of APIs, black boxes and opaque complex systems into which you have limited visibility and even less ability to fix things, along with cotenancy issues and usage caps. The glorious future comes with tradeoffs, and this means application developers need to get better at ops.

Published in: Internet

Charity Hound - Serverless, NoOps, The Tooth Fairy

  1. 1. Charity Majors @mipsytipsy Serverlessness, NoOps, the Tooth Fairy (and other useful myths)
  2. 2. Charity Majors @mipsytipsy Serverlessness, NoOps, the Tooth Fairy (and other useful myths)
  3. 3. “In the Glorious Future, we will be Serverless, and there will be NoOps.” http://thenewstack.io/serverless-computing-growing-quickly/ ~thought leaders skip #1 and #2, just #1
  4. 4. Haha
  5. 5. @mipsytipsy engineer, cofounder, CTO “Doing serverless before it was cool”
  6. 6. Operations in a Serverless World: what does it mean, why should you care, when should you serverless?
  7. 7. Hosted over a million mobile apps For hundreds of thousands of developers Most of whom were shit at ops
  8. 8. Services are not magical pixie dust.
  9. 9. Services are not magical pixie dust. In the Glorious Serverless Future, more responsibility for operational quality needs to come from application developers.
  10. 10. I’m a software engineer! I will use hosted services and pay them to do all of my thinking and caring about operations!!
  11. 11. Is my app down? Why are my users complaining? Everything was working fine yesterday and I didn’t change anything why is my latency high? what is query what is index
  12. 12. What is operations? Operations is the constellation of your org’s technical skills, practices, and cultural values around designing, building and maintaining systems, shipping software, and solving problems with technology.
  13. 13. “NoOps”
  14. 14. Core competencies of operations engineering 1. Scalability 2. Resiliency 3. Availability 4. Maintainability 5. Simplicity in complex systems 6. Instrumentation and visibility 7. Graceful degradation did i mention the mission? need a summary at the beginning.
  15. 15. Serverless operations engineering: best practices, explicit and implicit tradeoffs see also @patrickdebois’s talk from earlier today!
  16. 16. What is your mission? P.S. your mission is not building software
  17. 17. What is your mission? What are your core business differentiators? These are the riskiest to outsource.
  18. 18. Facts: No one will ever care as much about your product and your problems as much as you do. No one else is thinking holistically about your systems and their interdependencies. Labor can be outsourced. Caring can’t.
  19. 19. Own your critical path • Know your critical path • Guard it, keep it as small as possible • Understand the tech and dependencies of your providers
  20. 20. Even when you outsource a problem, you are still responsible for the results.
  21. 21. The Glorious Future comes with tradeoffs: •Less visibility •You can’t fix it yourself, or add a feature •The service will protect itself at your expense •Limits may or may not be disclosed (or known) up front. •Cotenancy is a bitch. Tooling immature.
  22. 22. OPP (Other People’s Platforms): • What is their cotenancy model? • Typical performance variance? • What is your appetite for vendor lock-in? • How transparent are they about service problems? duplication last slide
  23. 23. Data hygiene • Your data is your responsibility too • Ask about retention and recovery policies • Take offsite backups • Validate restores — if you aren’t testing, you have Schroedinger’s backups ¯_( )_/¯ • Never sign up for a “mystery” storage system. Black-box query performance tuning … no.
  24. 24. Visibility and debuggability Don’t monitor your systems using the same platform you’re running on. Consolidate your metrics, correlating events across platforms is annoying. If it moves, graph it. Instrument your client, application, queries, everything.
  25. 25. Cultivate a team of software engineers who value operational excellence. ** If your mission requires quality services
  26. 26. How to level up at ops • Put software engineers on call for their own services. • Ask every candidate interview questions about operations and debugging. • Factor these skills into performance reviews and promotions.
  27. 27. Operations skills are not optional for software engineers in 2016. They are not “nice-to-have”, they are table stakes.
  28. 28. The cost and pain of developing software is approximately zero compared to the operational cost of maintaining it over time. h/t @mcfunley, “choose boring technology”
  29. 29. In conclusion …
  30. 30. ‘Serverless’ development is the latest incarnation of very real macro trends: outsourcing, specialization, and scarce engineering cycles.
  31. 31. The center of gravity for applications operations is shifting, from dedicated in-house ops teams to software engineers who own their services end to end.** ** with a little help from their SaaS friends
  32. 32. Systems and operations engineers are increasingly developing services to solve category problems for everyone. You can rent the world’s best talent. Everybody wins!
  33. 33. The shadow side of DevOps: Software engineers need to level up at operations. Outsource as many ops problems as possible! But own operational excellence for your core differentiators.
  34. 34. The world is getting awesomer and more complicated every day. Enjoy it. Let’s try to keep up. :)
  35. 35. with special thanks to: Caitie McCaffrey (@caitie) Mark Ferlatte (@ferlatte) Dan McKinley (@mcfunley)
  36. 36. Charity Majors @mipsytipsy
  37. 37. Old: “We’ll just hire an ops team once we have scaling problems!” New: “We’ll just use serverless architecture and do NoOps!”

×