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
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
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
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
important aspect of open source • People is globally distributed • People work for companies • Companies have goals and motivations to invest in open source
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
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
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
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
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
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
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
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
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/