Provisioning cloud resources Cloud providers offer lots of services to be used by developers. The mentioned services range from traditional virtual machines, through storage solutions to AI tooling. Each of them is just smaller or bigger building block which can be used when putting together more complex system. When starting your journey with cloud you will probably be amazed with what you will see in various tutorials: with few clicks in AWS/Azure/Google cloud console you can provision all the stuff which is needed for running your cool application. In fact clicking through the cloud provider UI is great when learning and you just want to play with this stuff. While great for learning purposes this approach does not scale when: Working on bigger cloud project where you need to provision lots of stuff Working with the team You need to create additional environments and cloud infrastructure should be the same The reason why the approach mentioned above does not scale is because it is m