5 Multi-cloud (app) infrastructure

 

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

Let’s get started. Why is it so difficult to manage our application infrastructure?

5.1 The challenges of managing infrastructure in Kubernetes

5.1.1 Managing your application infrastructure

5.1.2 Connecting our services to the newly provisioned infrastructure

5.1.3 I’ve heard about Kubernetes operators. Should I use them?

5.2 Declarative infrastructure using Crossplane

5.2.1 Crossplane providers

5.2.2 Crossplane compositions

5.2.3 Crossplane components and requirements

5.2.4 Crossplane behaviors

5.3 Infrastructure for our walking skeleton

5.3.1 Connecting our services with the new provisioned infrastructure

5.4 Linking back to platform engineering

Summary

sitemap