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 full-size slide

  2. Anubhav Mishra
    @anubhavm

    View full-size slide

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

    View full-size slide

  4. What powers Hootsuite’s
    platform?

    View full-size slide

  5. 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 full-size slide

  6. Before Microservices

    View full-size slide

  7. Microservices

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  10. Automation = Success

    View full-size slide

  11. Make the right thing to do easy

    View full-size slide

  12. What did we do?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. Generate Code

    View full-size slide

  16. Generate Code

    View full-size slide

  17. Generate Code
    =

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. Create a Pipeline Using Code

    View full-size slide

  21. Create a Pipeline Using Code

    View full-size slide

  22. that really was 5 minutes….

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  25. On Demand Infrastructure

    View full-size slide

  26. On Demand Infrastructure

    View full-size slide

  27. kubectl apply -f production.yaml

    View full-size slide

  28. kubectl apply -f production.yaml

    View full-size slide

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

    View full-size slide

  30. 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 full-size slide

  31. We have our own PaaS! YAY!

    View full-size slide

  32. Awesome! Show’s over!

    View full-size slide

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

    View full-size slide

  34. I thought you already have a PaaS?

    View full-size slide

  35. ● 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 full-size slide

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

    View full-size slide