Page 47 - MSDN Magazine, May 2018
P. 47
Figure 1 Application, Framework and Deployment Options
Azure DevOps Projects
With Azure DevOps Projects, you can build an Azure application, on an Azure service, in minutes. You also get automatic full CI/CD pipeline integration, built-in moni- toring and deployment to the platform of your choice. As shown in the table in Figure 1, there are several applica- tion, framework and deployment types to choose from when creating a new DevOps Project. It’s important to note that this table reflects information at the time of writing and that built-in support will have improved by the time you read this.
Let’s explore how to create a new DevOps Project on the Azure portal by creating a pair of applications. I recom- mend that you get started with Azure DevOps Projects and follow along using your own Azure and VSTS accounts. This approach will let you explore the resulting solutions in detail.
The first application example is based on Java and the Spring framework, and has been deployed as a Web app on Windows. It’s one of many possible examples that shows a mix of tech- nologies running on Windows—a common scenario for developers. In the Azure portal you create a new DevOps Project. You can then choose from a set of sample apps developed using .NET, Node.js,
PHP, Python or Java, or you can bring our own code.
With Azure DevOps Projects, you can build any Azure application, on any Azure service, in minutes.
To get started, select the Java sample application, choose Spring as your application framework and select Web App on Windows as your Azure Service to deploy the app. Next, enter a new project name and confirm or change the Azure and VSTS details. You’ll create a new VSTS account and change the App Service location to Canada Centre. Similarly, you can change Azure settings like subscription, pricing plan, Web App name and the location of Web App. Built-in validations ensure that the right values are entered and that downstream failures are avoided.
Once complete, you repeat the exercise, but this time select .NET, .NET Core Framework and the Web App for Containers on Linux to deploy the application. This is another simple exam-
ple that shows how a mix of technologies can run in a container on Linux. By completing these four simple steps, you’ve created two DevOps projects, as shown in Figure 2.
These projects let you easily and quickly create complete CI/CD pipelines for several popular lan- guages, frameworks and platforms. This is a useful asset for quick demonstrations and experimental projects, and is a great way to get your development team started with a comprehensive, extendible, and consistent process.
May 2018 43
Application
Framework
Windows Deployment
Linux Deployment
Web App
Virtual Machines
Web App
Web App for Containers
.NET
ASP.NET
X
X
ASP.NET Core
X
X
X
X
Java
Sprint
X
X
JSF
X
X
Node.js
Express.js
X
X
Sails.js
X
Simple Node.js
X
X
PHP
Laravel
X
X
Simple PHP
X
X
Python
Django
X
X
Bottle
X
X
Flask
X
X
X
curve and multiple failure points. The DevOps Project simplifies all this and makes it failure-proof. It’s not just about DevOps, but also about making it simpler to get started on Azure.
Discussing DevOps
I’d like to pause for a moment to reiterate our definition of DevOps here at Microsoft. As Donovan Brown, principal DevOps manager in the Azure group describes it: “DevOps is the union of people, process and products to enable continuous delivery of value to our end users.”
You can also peruse the DevOps at Microsoft site (aka.ms/devops) for insight into the lessons learned by the Microsoft Developer Division during our seven-year journey to Agile DevOps. That effort has pro- duced a culture here that’s focused on the customer, puts production first and continuously delivers value on a three-week cloud cadence.
In this article we’ll focus on the easier part of our DevOps defi- nition, the products. As mentioned, developers crave a process that’s easy, quick and consistent. They demand support for their choice of programming language and platform, as well as for automation and out-of-the-box CI/CD pipelines.
A CI/CD pipeline is a sequence of distinct practices used to con- tinuously integrate, test and deploy your changes to production. Insights from telemetry, user feedback, and live site incidents flow back to inform decision making, improve future releases, and most important, evaluate the hypothesis that motivated the deployment. It’s about continuously delivering value.
Figure 2 DevOps Projects msdnmagazine.com