DevOps is the talk of the town, no matter where you are. From developers to architects, it seems everyone can’t get enough of the Continuous Development / Integration game. And for good reason! With automated builds and deployment, the guesswork has been taken out of developing and launching a site, all through the magic that is DevOps. (For the record, DevOps is much more than source control and deployment. It’s an entire concept of tying operational guidance and process to every aspect of development!)
By linking together source control with production servers, applications can be seamlessly moved from one environment to another, with error and performance checks happening along the way. Yes, any developer worth their salt is implementing some sort of automated deployment into their pipeline, lest they be mercilessly ridiculed by their peers when they’re manually FTP site updates to the server. And Azure has your back to help the process be as easy as possible.
Take my site, for example. Even though it’s only me doing the development, I still implement a well-tuned architecture to handle my updates. Here’s a simple diagram of how Soltisweb.com is deployed.
In my case, I’m using BitBucket for my Git repository, but really any service will do (GitHub, etc.). I use 2 branches, to keep my changes following some sort of workflow and QA process before they hit my production site. I don’t have any automated tests in place, but those would be easy to add in the future.
You can learn how to set up your Continuous Deployment in Azure App Services here:
Now, let’s talk about the previous Deployment Options utility compared to the new Deployment Center.
The ability to link internet-hosted source control to Azure has been a common fixture for App Services for some time. By using the Deployment Options (now labeled Classic) utility in the portal, developers could easily see their deployments and status. This was especially helpful when automatic deployments were in place, as it provided a glimpse into what was happening behind the scenes.
This module wasn’t necessarily bad. It provided plenty of details about the integration (the service the repository is at, a list of past deployments, and some administrative functions to manage the connection) and how things were running. Detailed logs could be loaded to see each command that was executed and the result. But, as with most 1st edition of tools, it could stand some polishing after the initial release. As more developers used the feature, Microsoft collected feedback on the things they got right, and the areas that could be improved. Enter the Deployment Center utility.
In mid-2018, Microsoft released the new Deployment Center for managing Continuous Deployments in Azure App Services. This new module kept all the great information from the Deployment Options utility, cleaned them up a bit, and fine tuned the tooling to help developers work more efficiently. By stream-lining the information, developers could manage the integration much more easily, and reduce the amount of time for deployments.
The new simplified design make the information much easier to digest. The basic connection information is displayed at the top, with the familiar list of deployments appearing below. This allows developers to quickly see where the deployments were coming from, who initiated them, and the essential details of each iteration.
The new utility also brings additional information to the user. Details like the Build engine, source control branch, source control type, and Commit ID are all first-class citizens in the UI in the new tool.
When viewing the Logs option for a deployment, developers can see a list of all the actions taken, and view the individual step logs, if needed. Previously this information loaded in a separate blade, however, the new design loads them within the current view. This is one of the many tweaks made to the interface to deliver information quicker, by not having to load a new window on the screen.
Lastly, the new UI allows the user to manage the Deployment Credentials for the integration. This provides a simple utility to update user and password information: an essential function for anyone needing to update logins in the event of a security issue.
If you haven’t set up Continuous Deployment for your Azure App Service, get on it! It will simplify your development, eliminate errors, and stamps your membership in the super-cool DevOps club. No matter where you keep your source code, you should be able to set up a slick, automated process to publish your code and keep things running smoothly. Good luck!