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

KCD Sao Paulo - Brazil Feb 2024

February 27, 2024

KCD Sao Paulo - Brazil Feb 2024

For more information visit: https://salaboy.com


February 27, 2024

More Decks by Salaboy

Other Decks in Technology


  1. Why I am here? - Mauricio Salatino aka @Salaboy -

    Working on OSS for 10+ years - Dapr, Knative, Keptn, Crossplane, vcluster, etc. - https://diagrid.io
  2. Agenda - Connecting the dots - Working with People -

    Dealing with Changes Check my blog post: - https://salaboy.com - https://www.salaboy.com/2024/02/22/learning-in-the-open/
  3. Mapping tools to problems - Kubernetes (is not enough) -

    Ecosystem + Common Challenges - Provisioning Cloud Resources - CI (building and distributing containers) - GitOps - Observability - Developer Experience
  4. Ecosystem challenges / Things that I didn’t knew when I

    started • Tools designed with a set of use cases in mind • Making tools working together is not as easy as it should • Understanding the combination of tools that map to your specific scenarios is hard and time consuming
  5. Demo - Creating Development Environments • Crossplane.io: provision cloud resources

    using Kubernetes resources • vcluster.com: create virtual clusters to improve isolation between workloads • Try it out: https://github.com/salaboy/platforms-on-k8s/tree/main/chapter-6
  6. Salaboy’s tips 1. Identify and scope down the problem that

    you are trying to solve 2. Get hands-on experience. Create Proof of Concepts to gain deeper insights 3. Check if “Project X” integrates with other tools in the ecosystem 4. Check if other companies are using the project, and for which use cases 5. Check for case studies by the CNCF or companies using the projects 6. Keep an open mind, and do not get too biased by the hype of specific projects. 7. Reach out to maintainers and contributors; they are always willing to help
  7. Let’s practice • Try the free step-by-step tutorials provided by

    the book • All tutorials are community-driven and free to use: https://github.com/salaboy/platforms-on-k8s/ • Help me translating them into Portuguese: https://github.com/salaboy/platforms-on-k8s/issues/26
  8. The importance of making connections • People is the most

    important aspect of open source • People is globally distributed • People work for companies • Companies have goals and motivations to invest in open source
  9. People Challenges / Things that I didn’t knew when I

    started • People created open source projects for fun, but those are hobby projects • Open source projects targeting commercial use cases require to have full time maintainers • Companies sponsoring these key maintainers (most of the times) have clear goals and objectives • Understanding these motivations is key to protect your time investment
  10. Engage with companies that sponsor Open Source • Companies behind

    open source projects are not evil • Understanding their products can save you time and help your adoption journey • Providing feedback to these companies can help to maintain a healthy project
  11. Tekton, GitHub Actions and Dagger - Context: - Tekton.dev provides

    a very Kubernetes-native way to create pipelines - GitHub Actions has massive adoption, it requires you to run only remotely (on Azure Cloud) - Dagger.io: run pipelines everywhere, local, Kubernetes (with Tekton) and GitHub Actions. https://github.com/salaboy/platforms-on-k8s/tree/main/chapter-3
  12. Salaboy’s tips 1. Actively engage with open-source communities by using

    their tools, and providing feedback. 2. Actively engage with companies behind open-source projects and check what they are building, provide feedback. 3. Go to conferences and meetups and share what you learn. Conferences give you great insights into projects and where companies are going. 4. Reach out, don’t be shy, and make new friends. Most people working on open-source are always welcoming to help new people and answer questions
  13. Let’s practice - Sign up and provide feedback to the

    products that we are building Diagrid’s Conductor Diagrid’s Catalyst
  14. Change is a feature, not an edge case • Design

    and build future proof by choosing the right interfaces (APIs) • Delay decisions to enable applications to be truly independent from their environment • Crossplane.io and Dapr.io are perfect examples for this. ◦ Check my blog post: https://blog.crossplane.io/crossplane-and-dapr
  15. Challenges with Change / Things that I didn’t knew when

    I started - Choosing a cloud provider, a database or a message broker for your applications is a binding contract.. It is difficult to change later on - Team members need to become familiar with these decisions - Issues start to pop up - Running the cloud services for local development is not possible - Testing in the cloud might be tricky - Having local Kubernetes clusters, might not work for everyone
  16. Dapr, abstract your infrastructure away - API-driven approach to decouple

    your application from infrastructure - APIs for: - Storing and retrieving application state - Emitting and consuming async messaging - Configuration/Secrets - Workflows and orchestration - Best practices and cross-cutting concerns implemented out-of-the-box behind these APIs - APIs Implementations provided for all cloud providers
  17. Salaboy’s tips • Make sure that tools provide interfaces that

    support multiple implementations, down the road you might need to plug in your own • Make sure that tools provide hook points to be able to customize their default behavior • Always ask yourself, how is this project going to work for local development • Look for tools that provide ecosystems, such as marketplaces with community-driven integrations or catalogs with pre-made configurations
  18. Takeaways - Connecting the dots: - Making sense of a

    large ecosystem by exploring new tools and joining communities - Working with People: - Making friends can help you to navigate the industry, Open Source is a big part of that - Dealing with Changes: - Learning to adapt is key for success, choose your tools wisely All tutorials are community-driven and free to use: https://github.com/salaboy/platforms-on-k8s/
  19. It will mean a world to me if you sign

    up and give feedback Diagrid’s Conductor Diagrid’s Catalyst