Lift and Shift - Adding Docker to Nerd Dinner

Modernizing legacy apps has become the theme towards the end of this year or also known as "Lift and Shift". This means taking the monolithic applications built with blood, sweat, and tears and now move them to the cloud. Nerd Dinner (https://nerddinner.codeplex.com/) is an MVC application written back in 2010, the last edit was ~Sept 6, 2013 to the mvc4 branch. I grabbed the mvc branch and copied it over to https://github.com/spboyer/nerddinner-mvc4 and fired it up in Visual Studio 2017. The plan: Migrate the LocalDB to SQL Server in Azure Using the Docker tools in Visual Studio 2017, add the Docker files Publish Docker Images to Azure Container Registry (ACR) Push the new...


Exploring multi-stage Docker builds for Angular apps

Figuring out the best way to build and deploy any application regardless of the tech stack can be a sprint all in itself. So many questions to answer: What CI/CD pipeline do you use? Can't we just use the CLI? What about right-click-publish? Git Deploy? npm, yarn ? Docker, Kubernetes, Swarm, Containers...oh my!?!?! Yes or "it depends" is always the answer to these questions depending on the development shop you're working in. Docker, in version 1.17, introduced the concept of multi-stage builds which in short allows you to (in a single docker file) create images and utilize the output from one into the next to produce a final image and reduce the need for build scripts etc. See...


Organizing Azure resources with Tags

Creating a number of resources and organizing them in any software solution can get daunting without some sort of method to your madness. In a project, developers might decide to use logical folder structures or naming conventions based on a framework or what just makes sense. Azure Resource Groups is described as the "logical group" for organizing your items where a group contains all related resources for an application. But what if there is a need to categorize or put multiple labels on each of these resources? For instance, When was the resource created? Who created it? Is it a demo, production, test? Who or what department is the application for? Tags enable this exact functionality. The excerpt from the...


Push your images to Azure CDN on publish with gulp

Performance is always at the top of my mind when developing a web app. Using tools such as WebPageTest where a common hit against your grade will be the lack of CDN use will affect performance. Use of CDN - Each request for a piece of content to the web server has to travel from the user's browser all the way to the server and back. As you get further and further from the server this can become a significant amount of time (which adds up quickly as there are more requests on the page). Ultimately the time it takes is limited by the speed of light so there's not much you can do except to move your server closer...


dotnet CLI Tab completions now available in 2.0

Tab completion on the command line is like having a superpower for some of the CLI tools we have at our fingertips. With so many commands, paramaters and/or options; it's nice to be able to type a few characters and tap the {Tab} key and get some help. I've gotten spoiled even with directory searching by just hitting tab now in zsh and having the list popup and getting the "pick list" to choose the right one. A long standing issue for the .NET CLI for the command line lovers was this missing feature. Wait no longer, with the 2.0 release you can now enable it with by adding some config to your .bashrc, .zshrc or even Powershell...