This chapter covers
- Defining and managing the infrastructure for your cloud-native applications
- Identifying the challenges of managing infrastructure components
- Learning how Crossplane is the Kubernetes way to deal with infrastructure
In previous chapters, we installed a walking skeleton, and we learned how to build each separate component using service pipelines and then how to deploy them into different environments using environment pipelines. We now face a big challenge: dealing with our application infrastructure, meaning running and maintaining not only our application services but also the components that our services need to run. These services expect other components to work correctly, such as databases, message brokers, identity management solutions, email servers, etc. While several tools exist to automate the installation (for on-premises setups) or provisioning of these components in different cloud providers, this chapter will focus on just one that does it in a Kubernetes way. This chapter has three main sections:
- The challenges of dealing with infrastructure
- How to deal with infrastructure using Kubernetes constructs
- How to provision infrastructure for our walking skeleton using Crossplane