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

Building a Cloud-Native Company in 2020 [DevOps...

Komodor
April 24, 2022

Building a Cloud-Native Company in 2020 [DevOps Days Buffalo]

Komodor CTO tells the story of how he founded a cloud-native startup during a global pandemic

Komodor

April 24, 2022
Tweet

More Decks by Komodor

Other Decks in Technology

Transcript

  1. Cloud native | March 2021 DevOps Days Buffalo | October

    2021 • The CTO and co-founder of Komodor, a startup building the first k8s-native troubleshooting platform. • A big believer in dev empowerment and moving fast. • Worked at eBay|Forter| Rookout (first developer), A lot backend and infra developer experience (“DevOps”) • K8S fan 😃 Who am I?
  2. Cloud native | March 2021 DevOps Days Buffalo | October

    2021 1. The Journey Begins 2. First Core Decisions 3. Let’s Talk CI/CD 4. What About Monitoring & Logging? 5. Worth Mentioning 6. Wrapping it Up Today’s Agenda
  3. DevOps Days Buffallo | October 2021 • Building a cloud

    native company from the ground up • Trying to use industry best practices • Will share things we learned along the way and tools that helped us • Our main goal was simple: Move fast and build the best product for troubleshooting kubernetes The Journey Begins
  4. DevOps Days Buffallo | October 2021 1. Easier to run

    locally 2. Easier to test & troubleshoot 3. Easier to manage dependencies 4. Doesn’t require super fast scaling TL;DR Think about increasing the day-to-day work, not the time it gets to set up the infra. *We do have k8s experts in the team *Our product helps k8s users Kubernetes vs Serverless
  5. DevOps Days Buffallo | October 2021 1. We started using

    microservices 2. Then we created a big service 3. Then we split the “big” service 4. Now we merge existing “legacy” microservices Current goal: Have 2-3 big services TL;DR Moved due to issues with running locally, testing and component dependencies. TBH, no real need for a small startup. Microservices vs Monolith Netflix Microservices Diagram, Bruce Wong
  6. DevOps Days Buffallo | October 2021 • In multi repos,

    it’s difficult to sync dependencies • In Komodor, each dir. is its own “microservice” • We had one shared dir. for shared resources • Deploying yaml part of the repo • Deployment is done via an umbrella chart TL;DR Monorepo is super cool for small teams; we did the required work to be able to split it if needed. Monorepo vs Multi Repo
  7. DevOps Days Buffalo | October 2021 1. Features are only

    valuable when they are in production. 2. Removing barriers to move to production is critical, and pays off in the long run. 3. Everyone can push to production; meaning, each inidividual is responsible when things go wrong. TL;DR If you feel unsafe deploying, understand what can be done to improve and allocate resources. Commit 🚀 Merge 🚀 Deploy 🚀 Repeat
  8. DevOps Days Buffallo | October 2021 1. Everything (test+build) is

    dockerized using docker multi-stage build 2. Heavily relying on docker caching capabilities 3. Started with CircleCi, super easy to get started. 4. Moved to Buildkite: reduced built+deploy time from 6 min to <1 min, much cheaper, hosted agents, python instead of yamls. TL;DR: Docker can simplify a lot of things, so use it! Also, don’t be afraid to experimenting with new tools - this might really pay off. CI/CD Tools Used
  9. DevOps Days Buffallo | October 2021 1. Wanted to open

    features without deployments and only to a specific segment 2. This allowed us to test features in production and to further increase our release velocity 3. Launchdarkly gave us all of that, plus easy control and visibility TL;DR: Testing in Production is great, as it’s the only place that counts. Think about how you can move there faster. Feature Flags
  10. Cloud native | March 2021 DevOps Days Buffalo | October

    2021 Why is it important to monitor from the start? • Save time troubleshooting (and it happens A LOT) • Allows you to know when you have problems, before your customers! • Hard to add after the system has grown • Saves time troubleshooting (and it happens A LOT) X2!!! Zero Day Monitoring TL;DR: Really pays off to start when you are still young
  11. DevOps Days Buffalo | October 2021 Used for: APM, infra

    monitoring and testing • Works seamlessly with our tech stack (AWS + K8S) • We are extending base capabilities using DD sdk. • Allows us to create monitoring and custom alerts. • Datadog Synthetics Browser & API test Datadog FYI: Worthable open source alternatives: Prometheus + Grafana + Jaeger
  12. DevOps Days Buffalo | October 2021 Used for: Log aggregation

    • Kibana and Lucene are the standard • Offer native k8s integrations • Easily configure alerts • Pay money instead of rolling out our own infra Logz.io Worthable alternatives: Coralogix, Splunk, LokI, self hosting (don’t)
  13. Cloud native | March 2021 DevOps Days Buffalo | October

    2021 • Building a (good) cloud native product is HARD and you will make (multiple) mistakes • The most important things are: o Learn from your mistakes o Listen to the team o Identify weak spots by asking: “What are our biggest time spender?” or “Given a month improving our stack - what will we improve?” Build > Test > Improve > Repeat TBH: Even if it’s hard, it’s super fun!
  14. Cloud native | March 2021 DevOps Days Buffalo | October

    2021 1. Acts as a Backend on top of Postgres 2. Transforms SQL schema to GQL schema, queries and mutations 3. Uses Auth0 as authentication provider 4. Supports row and column level access rules 5. Configuration file is managed in Git repository 6. “No code backend” Hasura Power FYI: Makes frontend development much easier and faster! Postgres + GraphQL = Hasura
  15. DevOps Days Buffallo | October 2021 1. Super easy to

    get started 2. Super easy to shoot yourself in the leg 3. Talk with people you trust, read/watch real life stories and don’t be afraid to change on the go. TL;DR Building a company in 2020 “A computer lets you make more mistakes faster than any other invention with the possible exceptions of handguns and Tequila.” 🥃+🔫 Mitch Ratcliffe