Best practices for hybrid and multi-cloud architectures
In a hybrid or multi-cloud solution, we will have components running on different environments. The following is a list of some topics that we should keep in mind when we build a new solution or start modernizing a legacy one, in no special order. I have also added additional resources to the Further reading section, located at the end of this chapter:
- Abstraction: Being able to abstract the differences between environments will be key to establishing common tooling and processes across all these environments, sometimes at the expense of giving up on some unique features of a cloud provider so that we can achieve workload portability. This concept is the ability to move any workload from one environment to another and should be one of our objectives to pursue. Some examples of technical decisions that can help us in our abstraction process are using containers and Google Kubernetes Engine to standardize container deployment...