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.

A lifecycle for microservices

547 views

Published on

ProductCamp Boston is the world's largest and most exciting crowd-sourced one-day event for product people.  It's organized by and for product managers, product marketers and entrepreneurs, so attendees get the most out of the day.

Attendees learn about and discuss topics in product management and product marketing, product discovery, product development & design, go-to-market, product strategy and lifecycle management, and product management 101, startups, and career development. 

www.ProductCampBoston.org

  • Login to see the comments

  • Be the first to like this

A lifecycle for microservices

  1. 1. An SDLC for Microservices Presented by: David Asher June 2019 dasher@computer.org https://www.linkedin.com/in/davidasher/
  2. 2. Which begs two questions: What is an SDLC? What is a microservice? SDLC? microserivce? Asher – SDLC for Microservices2
  3. 3. SDLC is Software Development Life Cycle Asher – SDLC for Microservices3
  4. 4. microservice Asher – SDLC for Microservices4
  5. 5. Which begs one more question: What is an API? API? Asher – SDLC for Microservices5
  6. 6. API is Application Programming Interface request responseresponse API Asher – SDLC for Microservices6 service with goodies
  7. 7. This is a talk about how to build services in the cloud that are: • Robust • Scalable • Secure • Delivered on time • Generally, marvelous Asher – SDLC for Microservices7
  8. 8. Who is your presenter? • David Asher is… • Software manager at Bose Corp • Product manager at Iron Mountain Digital • Software and product management at ViziApps, Dialogic, NMS Communications, Banyan Systems, SystemSoft, … Asher – SDLC for Microservices8
  9. 9. Why is he talking about SDLC for microservices? • Wrote SDLC for Bose, Iron Mountain, NMS Communications • Team of ~50 developers at Bose • Built an IoT cloud platform • For connected audio products • Millions of them Asher – SDLC for Microservices9
  10. 10. API Formalism Use an API Description Language • OpenAPI (Swagger) • RAML • json:api • Apache Avro Put your API descriptions in a repo Asher – SDLC for Microservices10
  11. 11. µServices Life Cycle 1.0+ End-of- Service 1.0 Production 0.9 System Test 0.5 µService Alpha/Beta 0.4 µService Prototype 0.3 API Model 0.2 API Spec 0.1 Concept Asher – SDLC for Microservices11
  12. 12. 0.0 – API Style Guide Start your journey by writing a Style Guide Find examples on the Internet and modify No, really. DO THIS. Asher – SDLC for Microservices12
  13. 13. 0.1 – Concept Why? Clarify ideas and align with market requirements How? Document requirements in your favorite tools (wiki, Jira, etc.) Hint: Look at technology options and have the arguments Hint: Inform developers what the Production Readiness end-state looks like (emotionally prepare them!) Asher – SDLC for Microservices13
  14. 14. 0.2 – API Specification Why? Everything follows from the API design. Get that right and the rest is easier. How? Use an API Design Language Asher – SDLC for Microservices14
  15. 15. 0.3 – API Operating Model Why? Validate the API design from a client perspective; unblock client developers How? Writing code, might be a lightweight mock service or prototype. Asher – SDLC for Microservices15
  16. 16. 0.4 – µService Prototype Why? Enable client teams to validate their code as early as possible Why? Enable cloud ops, systems quality, security, etc. – to plan their support of the new service Hint: Build an API client reference design Asher – SDLC for Microservices16
  17. 17. 0.5 – µService Alpha/Beta Why? A service can’t be ready for production if it hasn’t been thrashed by real users Hint: Do not declare your API to be “in production” until you have completed Beta, in other words, allow things to break Asher – SDLC for Microservices17
  18. 18. 0.9 – System Testing Why? You just won’t believe all of the things that you messed up – wrong error codes, huge latencies, won’t scale, security vulnerabilities, … Hint: This is where a quality function belongs Hint: System quality is all of functional correctness + scalability + robustness + security + proper logging & alarming, … Asher – SDLC for Microservices18
  19. 19. 1.0 – Production Why? You’re not done yet! Run books, smoke tests, health checks, roll-out plan, provisioning, deprecate old services, … Hint: “Release” is just an ordinary day in the lifecycle Asher – SDLC for Microservices19
  20. 20. 1.0+ – End-of-Service Why? The day will come when your service is no longer needed. So be prepared for it. Hint: “Release” is just an ordinary day in the lifecycle Asher – SDLC for Microservices20
  21. 21. µServices Artifacts and Reviews • API Design Review • µService Architecture Review • Test Plan • Ops Plan • API Spec Review 1.0+ End-of- Service 1.0 Production 0.9 System Test 0.5 µService Alpha/Beta 0.4 µService Prototype 0.3 API Model 0.2 API Spec 0.1 Concept • System and Security Test • Production Readiness Review • Production Review • Performance Review Asher – SDLC for Microservices21 • µService Concept Document
  22. 22. µServices Culture • Do not version your APIs • You build it, you own it • You own it, you own what it costs • Build test standards, not a QA team • Test in production • It will fail, now deal with it Asher – SDLC for Microservices22
  23. 23. Asher – SDLC for Microservices23 Noise Cancelling Headphones 700 Audio Sunglasses Shameless Plug – bose.com
  24. 24. Thanks: http://www.bose.com https://thenounproject.com/ Icons made by Freepik, Smashicons, from Flatiron are licensed by Creative Commons BY 3.0 Asher – SDLC for Microservices24 David Asher June 2019 dasher@computer.org https://www.linkedin.com/in/davidasher/ Feedback Survey http://www.productcampboston.org/2019sessions

×