Streamlining Platform Building with Crossplane: Working with with Upbound's New Platform Engineering Tools
November 7, 2024
Read time: 3 mins
At Upbound, we're thrilled to introduce a suite of platform engineering tools that will simplify building with Crossplane. These new tools are available for free to Crossplane developers as part of Upbound’s commitment to support and grow the Crossplane ecosystem.
Our new devex tools now allow you to view and treat control planes as a source level construct as Control Plane Projects. From here, we’ve built tooling to help you at each step of how we see successful Crossplane users developing their cloud-native platforms: Composing custom cloud resources as services with Crossplane, and then deploying them within the context of self-service cloud platforms, such as Upbound. We then designed the new developer experience to be as effortless as possible to learn, utilizing tools developers already know in an intuitive workflow.
Let's walk through an example development cycle to highlight the new capabilities.
Morning Kickoff with automated project starts
Your day begins with a fresh project. Thanks to the revamped Up CLI, you're up and running in seconds. Calling the up project init
command, you’ve set up your source control folder for your new control plane project. Next you call up xrd generate
to quickly scaffold XRDs and compositions, and then call up composition generate
to automatically scaffold a composition for you. These commands jump-start your development, bypassing the tedious chore of writing boilerplate YAML. You’ve already made significant progress towards getting your project done.
Reward yourself with a cup of coffee.
Utilizing familiar tools: VSCode support for composition authoring.
After installing new Upbound Official Providers, you open VSCode to start authoring the details of your compositions and functions. You behold a new supercharged environment for Crossplane development. In your KCL and Python composition functions, you see schema validation happening in real-time. Now VSCode is linting for type mismatches and missing variables and highlighting for Crossplane specific constructs. Your IDE has become smarter, helping you write Crossplane compositions faster than ever before.
In addition, now you can author functions in separate files leveraging Upbound’s support for embedded functions. This lets you reuse functions easier as a result of having a more programmatic file structure. You're not just coding; you're architecting control planes that are modular and more maintainable.
Now it’s time for a ping pong game.
Lunchtime builds: Streamlined Build and Deploy
It’s almost time for lunch, and it’s also time to deploy your composition. With a single call to up project build
, all of your work is automatically packaged and ready for release. Follow that up with the up project push
command, and your package is deployed to your private or public repository in the Upbound Marketplace.
Time to join the team for lunch.
Post-Lunch Testing: Development Control Plane
After-lunch, you run some tests to ensure your new composition is ready to deploy. With the up project run
command, your Upbound package with all of your Crossplane constructs that you authored have been loaded to a live development control plane hosted in Upbound. You can now iteratively debug and fix issues in real-time to finish off your new composition. Your confidence in your code increases, and you look forward to a smooth deployment to production.
Now it’s time for a second cup of coffee.
End of Day: Retro and Planning for Tomorrow
Reflecting on your day, you're amazed at how much you've accomplished. From project initiation to deployment, you completed every step of the new Crossplane development process. It was productive, intuitive, and delightful. You can’t wait to start on your next project tomorrow.
The Future of Platform Building with Crossplane is Here
We’ve long realized that the developer experience of Crossplane was challenging, especially for new members of the community. We are always looking to improve the developer experience, making Crossplane so easy to build that more organizations will adopt Crossplane, and end-users will choose to build Crossplane compositions over sticking with Terraform.
To help with this, we are making the aforementioned devex tools free for use. All you need to do is sign up for an Upbound Individual account. It will always be free. In addition to gaining access to Upbound tooling, you’ll be able to utilize live developer control planes running in Upbound’s cloud for your iterative testing, and you’ll be able to publish your compositions for your own use, and for use by the Crossplane community.
Lastly, we’re also interested in hearing your feedback about the new Crossplane developer experience. Please feel free to reach out to us.