How can you harness the power of entrepreneurs in your company? Give them a PaaS!

How can you harness the power of entrepreneurs in your company? Give them a PaaS!

At Hootsuite we have been seeing hyper growth since 2013 with over 12 million users now. In order to support this growth we are also building a great engineering team, but that isn't enough. We had to work extra hard to make software delivery easy and fast for our developers. We ship 15+ releases a day on our main dashboard application and we do more releases on our 20+ microservices. We also created our own internal PaaS to support experiments and rapid prototyping to deliver customer value quickly.

In this talk we will cover how at Hootsuite we can deliver a microservice into production in under 5 minutes. How we leverage Kubernetes and Deis to give our developers the best experience when it comes to delivering services and features to production. Why are platforms like Kubernetes are important for a company's technology growth and give back the power to developers to create amazing technology really easily.

For the demo portion of the session we will generate an example Hootsuite service and watch it deploy to production environment in under 5 minutes. We will cover the following:

Kubernetes as a microservices platform
Deis Workflow on top of Kubernetes for a Heroku like experience

26896287bc831a13e768cea7efe29632?s=128

Anubhav Mishra

October 11, 2017
Tweet

Transcript

  1. Senior Developer - Production Operations and Delivery @anubhavm How can

    you harness the power of entrepreneurs in your company? Anubhav Mishra Give them a PaaS!
  2. None
  3. Anubhav Mishra @anubhavm

  4. None
  5. None
  6. None
  7. Talk • Microservices at Hootsuite • PaaS ◦ Kubernetes -

    Our microservices platform ◦ Deis Workflow - Our standalone application platform • Live Demo
  8. What powers Hootsuite’s platform?

  9. Numbers • 100+ developers • 1 PHP monolith • 30+

    microservices • 2 cluster schedulers • 1500+ servers • ~15+ releases per day • 10000 requests per second • 5 million messages per day • AWS as the cloud provider
  10. Before Microservices

  11. None
  12. None
  13. None
  14. None
  15. Microservices

  16. None
  17. None
  18. None
  19. • Language • Framework • Code Organization • Libraries •

    Builds • Deploy • Infrastructure (PaaS) • Service Discovery • Routing • Logging • Monitoring • Health Checking • Highly Availability • Scaling
  20. None
  21. Can we make it so any team can ship a

    microservice by themselves into production in 5 minutes?
  22. Automation = Success

  23. Make the right thing to do easy

  24. What did we do?

  25. Microservices Delivery Pipeline • Generate Code • Create a Pipeline

    Using Code • On Demand Infrastructure to Run Microservices
  26. Microservices Delivery Pipeline • Generate Code • Create a Pipeline

    Using Code • On Demand Infrastructure to Run Microservices
  27. Generate Code

  28. Generate Code

  29. Generate Code =

  30. Demo

  31. Microservices Delivery Pipeline • Generate Code • Create a Pipeline

    Using Code • On Demand Infrastructure to Run Microservices
  32. Microservices Delivery Pipeline • Generate Code • Create a Pipeline

    Using Code • On Demand Infrastructure to Run Microservices
  33. Create a Pipeline Using Code

  34. Create a Pipeline Using Code

  35. None
  36. that really was 5 minutes….

  37. None
  38. Microservices Delivery Pipeline • Generate Code • Create a Pipeline

    Using Code • On Demand Infrastructure to Run Microservices
  39. Microservices Delivery Pipeline • Generate Code • Create a Pipeline

    Using Code • On Demand Infrastructure to Run Microservices
  40. None
  41. Datacenter

  42. Datacenter

  43. Datacenter

  44. Datacenter

  45. On Demand Infrastructure

  46. On Demand Infrastructure

  47. kubectl apply -f production.yaml

  48. kubectl apply -f production.yaml

  49. None
  50. Why Kubernetes? • On Demand Infrastructure • Service Discovery •

    No Downtime Deployments • Self Healing Applications • Routing
  51. The majority of people managing infrastructure just want a PaaS.

    The only requirement: Is has to be built by them. - Kelsey Hightower Developer Advocate - Google
  52. We have our own PaaS! YAY!

  53. None
  54. None
  55. Awesome! Show’s over!

  56. But…. • Standalone applications • Hackathons • Bots • Team

    Boards • Prototypes • Static Sites
  57. I thought you already have a PaaS?

  58. None
  59. None
  60. ?

  61. None
  62. None
  63. Demo

  64. Result

  65. None
  66. • Kubernetes - https://kubernetes.io • Deis Workflow - https://deis.com/docs/workflow/ •

    slide deck - https://speakerdeck.com/anubhavmishra/taming-terraform-work flow-using-terraform-modules-and-github Links
  67. Thank You! Senior Developer - Production Operations and Delivery @anubhavm

    Anubhav Mishra