Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Anubhav Mishra

October 11, 2017
Tweet

More Decks by Anubhav Mishra

Other Decks in Technology

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!

    View Slide

  2. View Slide

  3. Anubhav Mishra
    @anubhavm

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. Talk
    ● Microservices at Hootsuite
    ● PaaS
    ○ Kubernetes - Our microservices platform
    ○ Deis Workflow - Our standalone application
    platform
    ● Live Demo

    View Slide

  8. What powers Hootsuite’s
    platform?

    View Slide

  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

    View Slide

  10. Before Microservices

    View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. Microservices

    View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. ● Language
    ● Framework
    ● Code Organization
    ● Libraries
    ● Builds
    ● Deploy
    ● Infrastructure (PaaS)
    ● Service Discovery
    ● Routing
    ● Logging
    ● Monitoring
    ● Health Checking
    ● Highly Availability
    ● Scaling

    View Slide

  20. View Slide

  21. Can we make it so any team
    can ship a microservice by
    themselves into production in
    5 minutes?

    View Slide

  22. Automation = Success

    View Slide

  23. Make the right thing to do easy

    View Slide

  24. What did we do?

    View Slide

  25. Microservices Delivery Pipeline
    ● Generate Code
    ● Create a Pipeline Using Code
    ● On Demand Infrastructure to Run Microservices

    View Slide

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

    View Slide

  27. Generate Code

    View Slide

  28. Generate Code

    View Slide

  29. Generate Code
    =

    View Slide

  30. Demo

    View Slide

  31. Microservices Delivery Pipeline
    ● Generate Code
    ● Create a Pipeline Using Code
    ● On Demand Infrastructure to Run Microservices

    View Slide

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

    View Slide

  33. Create a Pipeline Using Code

    View Slide

  34. Create a Pipeline Using Code

    View Slide

  35. View Slide

  36. that really was 5 minutes….

    View Slide

  37. View Slide

  38. Microservices Delivery Pipeline
    ● Generate Code
    ● Create a Pipeline Using Code
    ● On Demand Infrastructure to Run Microservices

    View Slide

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

    View Slide

  40. View Slide

  41. Datacenter

    View Slide

  42. Datacenter

    View Slide

  43. Datacenter

    View Slide

  44. Datacenter

    View Slide

  45. On Demand Infrastructure

    View Slide

  46. On Demand Infrastructure

    View Slide

  47. kubectl apply -f production.yaml

    View Slide

  48. kubectl apply -f production.yaml

    View Slide

  49. View Slide

  50. Why Kubernetes?
    ● On Demand Infrastructure
    ● Service Discovery
    ● No Downtime Deployments
    ● Self Healing Applications
    ● Routing

    View Slide

  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

    View Slide

  52. We have our own PaaS! YAY!

    View Slide

  53. View Slide

  54. View Slide

  55. Awesome! Show’s over!

    View Slide

  56. But….
    ● Standalone applications
    ● Hackathons
    ● Bots
    ● Team Boards
    ● Prototypes
    ● Static Sites

    View Slide

  57. I thought you already have a PaaS?

    View Slide

  58. View Slide

  59. View Slide

  60. ?

    View Slide

  61. View Slide

  62. View Slide

  63. Demo

    View Slide

  64. Result

    View Slide

  65. View Slide

  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

    View Slide

  67. Thank You!
    Senior Developer - Production Operations and Delivery
    @anubhavm
    Anubhav Mishra

    View Slide