This approach manages the whole infrastructure such as networking, virtual machines, storage, load balancers and connections. When the infrastructure is defined as code, the whole deployment process is automated. It has a lot of advantages, such as speed and safety or reusing – when something happens to servers our team can easily recreate the entire environment.