I think that today any software developer or engineer should have this skill under their belt because a Cloud platform like Azure is what supports how the digital world works today.Luis Becken
As a developer in general, I think that Azure provides the services and infrastructure necessary to create any type of software project: from small to very very large; from simple to very complex. And the options go from ready-to-use with minimal configuration to fully customizable.
Azure supports open standards, like Docker and Kubernetes, directly or under the hood, and this makes it easier to switch from one Cloud platform to another. They all provide a large set of varied technologies supported by a very dynamic (virtual) infrastructure, from simple and small to very sophisticated and very large. Today companies from small (eg an online shop, a startup) to the very large (eg Netflix), use and rely on a Cloud-based solution to provide their services worldwide. And so I think that today any software developer or engineer should have this skill under their belt because a Cloud platform like Azure is what supports how the digital world works today.
By using Azure:
- it enables access and management of all the resources of a project and it’s different deployed environments from anywhere.
- it’s easy and fast to create and delete any type of new (virtual) resources, and test new types of solutions
We have different environments to deploy our applications, and each environment has some different requirements in how it should be deployed. For example, our Integration environment should be automatically built and deployed whenever there is a new commit. On the other hand, our Staging environment should get a new deployment only when there is a new release to deploy. And our Production environment should have deployed only releases that passed QA in Staging. We have implemented those processes in Azure for Frontend, and it makes creating a new release much quicker and simpler once we have all the pieces in place and working together.
The best example is our Integration environment, where we test together all the different parts of the application. As a Frontend developer, all you need to do to add a change to this environment is to commit that change in a specific Git branch and push it to the server. That will trigger Azure to automatically re-build and re-deploy the application with that new change included. This automation is a great value, and very simple for the developer.
Another example is with our Staging environment, which is more controlled and should be less automatic. There, we manually “promote” a set of changes to a new release, commit those changes to a different branch which is specific for new releases, and then we can manually trigger in Azure the processes/steps to create and deploy this new release candidate.
And again, once we have created and tested those processes/steps in Azure, afterwards it becomes very simple to run them again and again. And from anywhere; at the office or at home.
There is some time involved in learning how to start using and managing a Cloud platform, it’s a continuous learning process because of the amount of different types of available and new services, but I think the investment is well worth it.