How To,Tutorial,Wintellect Blogs

DevOps: Connecting VSTS to Azure

Ken Muse

30 Jun , 2017  

DevOps is about increasing efficiency and eliminating barriers. There’s a lot of convenience in deploying directly from Visual Studio Team Services into the Azure cloud. With plugin based build and release pipelines, it’s very easy to quickly configure a release and see the results online. You can quickly configure a release to deploy to Azure and the wizards and settings will automatically configure the necessary permissions and credentials in the two systems. Everything just works … unless you’re running VSTS in a separate account or environment from the target Azure subscription. In this post, I’m going to walk you through the black art of manually connecting VSTS to an Azure subscription to enable automated release and deployment pipelines.

Getting started in VSTS

To demonstrate the problem and how to fix it, we’re going to create a very simple Release pipeline. In VSTS, begin by opening Build & Release. From there, you can choose Releases and create a new release definition by pressing the large “+” on the page and choosing to create a release definition.

Begin with an empty definition.

For the purposes of this demo, you do not need to associate it with any build artifacts. You can select Choose Later.… Read more

, ,

How To,Tutorial,Wintellect Blogs

Quick Start for Moby and LinuxKit

Blaize Stewart

19 Jun , 2017  


Docker has grown wildly in the last few years. It’s gone from a fledgling startup to a billion-dollar company, and now it’s got the attention of the enterprise. A number of changes have happened at Docker too – there’s been a leadership transition as well as Docker giving many of its core components over to the open source community to be managed there. All this change has set the stage for the next chapter in Docker history. Docker at DockerCon 2017 announced a new initiative that is aimed to take containers to the next frontier through the Moby Project.

The Moby Project has bold ambitions. It seeks to expand containers to include not only applications, but also core system components as well on an operating system. Docker says, “Moby is a framework to assemble specialized container systems. It has a library of containerized components and a framework for assembling these components into a standalone container platform.” Traditionally, containers were subsequent to an operating system – it would boot, load the container engine, then load containers that hosted applications like databases, message queues, and web servers. Moby intends to containerize things like DHCP servers, DNS servers, and so on such that they too can be pulled and plugged in much the same way of traditional containers to build custom operating systems.… Read more

, , , ,

Tutorial,Wintellect Blogs

Data Science with R in Visual Studio

Jonathan Wood

15 Jun , 2017  

Like our previous post on Python, we will walk through all the really nice offerings Visual Studio gives us now when working with R and related tools.

Since we looked at installing in the previous post, and the steps are the same, I will omit that from this post. We’ll just focus on all the awesome R tools Visual Studio provides for you.

R Projects

Similar to Python, when we installed the data science tools we get an “R” section in our templates. If you go there you’ll see something like this:

R tools visual studio

Only one template to choose from, but that’s ok! That is all we need.

R Interactive

Just like there’s a Python Interactive, there’s also an R Interactive window. It acts very similar to the Python Interactive, as well. Just highlight or put your cursor on the line in a script you want to send to the interactive and hit Ctrl+Enter. Of course, you can just type directly into the interactive to get some quick result or feedback on a piece of code. Oh, and there is syntax highlighting and intellisense right in the interactive!

R Interactive

Running R Code

Like all applications in Visual Studio, just hitting the green “Run” button will execute your code.… Read more

, , ,

How To,Resources,Tutorial,Wintellect Blogs

How to Avoid a Docker Database Disaster

Blaize Stewart

14 Jun , 2017  


Containers are cool – and everyone and their mother is trying to get on board with them. While many applications are natural fit for containers in many cases, it feels like some applications are forced into containers so vendors can say, “Hey look at me! I do containers too!” This is particularly true of database vendors who are using container hype to sell their software. Imagine for a moment this not so unrealistic anecdote:  your CEO  just got back from a conference and heard all the really cool things that you can do with containers. He or she gives the edict to IT to containerize everything because he or she heard the sales pitch: “Containers can unify DevOps pipelines for databases, apps, and resources in IT. Containers are easier and faster to setup and install compared to virtual machines. Containers lower management needs and hardware requirements relative to VM’s by reducing infrastructure. All of this means huge costs saving. Wow! Aren’t containers great!?” So now, you’re faced with this edict and you have to figure out how to take a massive MS-SQL cluster, and containerize it… or do you?

Perhaps not on this scale, but this scenario is one that enterprises are facing every day.… Read more

, , , , ,

Resources,Tutorial,Video,Wintellect Blogs

ASP.NET Core Development with Docker Webinar


12 Jun , 2017   Video

Using Docker to Create a Testing & Deployment Target for ASP.NET Core apps

ASP.NET Core offers the exciting ability to develop, test, and deploy on different platforms. In this 1-hour webinar with Jason Bell, you will learn how to use Docker to create a consistent testing and deployment target for core development with docker Core applications. You will also examine a real-world case study application that uses Amazon’s EC2 Container Service.


In this webinar, you’ll learn:

  • Docker Essentials
  • SQL Server & Docker
  • ASP.NET Core with Docker
  • Visual Studio Support
  • Deployment (AWS & Azure)
  • Q & A Session

Did you like this webinar? Check out our ASP.NET Core with Docker live, 2-day virtual course.

To perform the demonstrations as shown during the webinar, you must have the Docker tools installed for your platform (the Community Edition is fine). You can find a download for each supported platform here:

You can download the demo source code for the webinar here.Read more

, , , ,

How To,Tutorial,Wintellect Blogs

DevOps and Docker: Creating Automated Builds with GitHub, Docker Hub, and WebHooks

Blaize Stewart

1 Jun , 2017  

Create Automated Builds

The GitHub repo used in this article can be found here.

One of the lesser known features of Docker is its ability to do cloud builds based on WebHooks from GitHub and Bitbucket. Bitbucket and GitHub integration works in Docker natively so that when code is pushed to a repository, Docker will download and deploy the code and build the image on Docker hub automatically with Docker Automated Builds.

Setting it up is easy. Logon to Docker Hub, and you can select from the Create menu, select Create Automated Build.

docker automated builds

This will take you to a page with two big buttons – one for Github and one for Bitbucket. Both work the same way – You first link your Github account with the Docker Hub account. This process is pretty straight forward. Once you link the accounts, you can now select the GitHub or Bitbucket repository you want to use. Once you select the repository, you can now create the build integration. Name the Docker Hub repository whatever you want then click Create.

Connect to GitHub

Now, you can git push your app to GitHub or Bitbucket with git, and it will then trigger a build on Docker Hub. The push will need to include a Dockerfile in the root of the git repo.… Read more

, , , , , , ,

How To,Tutorial,Wintellect Blogs

Multi-Stage Builds with Docker

Blaize Stewart

19 May , 2017  


One of the most anticipated announcements in the Docker space when it comes to building images is Multi-Stage builds because of the huge benefits it gives to CI/CD pipelines in DevOps. Before this announcement, building software in a container usually involved creating a container with all the SDK’s and compilers in the container, uploading code into the container, compiling it, creating a drop, then building another container with just the runtime that sucks in the compiled code to run. This pattern required an external tool and storage to build the container image so it was more burdensome.

Multi-Stage builds on Docker though provide a mechanism for moving the output of a build from a builder container into another container that can be used for running. Consider the following the example. This Dockerfile builds a .NET core app in one container then packages it in another.

FROM microsoft/dotnet:1.1.2-sdk-jessie
COPY /myapp /myapp
RUN dotnet restore ./myapp && \
    dotnet build -c release ./myapp && \
    dotnet publish -c release -o pubdir ./myapp

#Final Build
FROM microsoft/dotnet:1.1.2-runtime
COPY --from=0 /myapp/pubdir /myapp
ENTRYPOINT ["dotnet", "/myapp/myapp.dll"]

This file has two FROM instructions, which in a traditional Dockerfile only one is a allowed.… Read more

, ,

How To,Resources,Tutorial

Migrating Legacy ASP.NET apps to Docker

Blaize Stewart

15 May , 2017  

Containers vs VMs

Many organizations, not wanting to rewrite applications, are figuring out how to take apps and containerize them for the cloud. Older operating systems are either end-of-life or approaching the end-of-life. Likewise, applications are increasingly being migrated to cloud hosts. The need to do this is as pressing as ever and containers offer a simple, viable solution to make this happen. Windows Containers on Docker bring to bear is the ability to “modernize” legacy .NET apps.

Containers by design improves application density on a given hardware by eliminating the need for redundant operating system installs. Unlike virtual machines that provide hardware abstraction on which a guest OS and apps are installed, containers provide operating system level abstraction, and apps run on top of that. This in effects removes all the CPU and memory requirements needed to run individual OS’s for apps and consolidates this into a single operating system (or multiple if running on a cluster). In the end, the savings are realized in terms of disk space, CPU, and memory consumption.

migrating apps to docker

Microsoft like many other organizations have embraced containers, and have formed a deep partnership with Docker to provide Windows containers. Moving legacy apps to containers is nuanced, and there is no one-size-fits-all approach, but this guide is intended to provide a high-level approach to getting your legacy ASP.NET apps into Windows containers.… Read more

, , ,

How To,Tutorial,Wintellect Blogs

Xamarin Forms for Windows Developers: Tips, Tricks and Lessons Learned, Part 2

Scott Peterson

4 May , 2017  

xamarin forms best practices

The Recap

This series of posts is devoted to all the things I wish I knew, as a long-time Microsoft Enterprise developer, before I provisioned my first xPlatform solution: The 60+ tips, tricks, and lessons learned I’ve accumulated over the last couple of years using Xamarin Forms (in Visual Studio for Windows.)

Many of these things are things an Android or iOS developer (i.e.; college student) probably already knows, but not a Microsoft developer. Some of these things will seem ridiculous to even share, and some so obvious that perhaps some developers will pretend I am the only one who didn’t already know about it. Some of these things will be super-extra important, and some will be meaningless to almost everyone. If you “lean native” you might even argue with me about some of them. That being said, here is the second batch of TTLL:

The Bits

If you’re not using Visual Studio Mobile Center you are totally missing out.

If you haven’t heard of Visual Studio Mobile Center it’s understandable. Have you heard of HockeyApp? If you haven’t heard of HockeyApp, have you heard of a Sony Walkman? Visual Studio Mobile Center is one of the coolest (and most under-marketed) “almost” brand new offerings, from Microsoft for managing mobile app development and development lifecycles.… Read more

, ,

How To,Tutorial,Wintellect Blogs

Xamarin Forms for Windows Developers: Tips, Tricks and Lessons Learned, Part 1

Scott Peterson

3 May , 2017  

Xamarin Forms for Windows Developers

The Confession

Okay, right off the bat, I’m going to admit I’m a Microsoft “bigot” or in less unfriendly terms, a Microsoft “super-enthusiast” with severe “Microsoft is actually better at everything” leanings. I’ve spent most of the last 30 years writing Microsoft-based solutions with Microsoft tools and technologies for clients who are Microsoft “shops.” Still, to this day, I never install any non-Microsoft products on my workstations, except the (still phenomenal) Adobe Fireworks. Yes, Fireworks.

The Challenge

For the last four years, as a weird twist of fate, I have been creating real apps for real clients using the Xamarin platform, and more often than not, Xamarin Forms (or is it Xamarin.Forms? …I can never figure out why we need a dot although it does look cooler that way.) One thing I have noticed is that almost every blog, every post, every slice of documentation that exists for Xamarin Forms seems to be written by someone who “skews native” and not by someone in the actual Microsoft development world. I know why this is, of course, but am not going to write it out loud.

The Observation

Over the last couple of years I also started to notice (mostly) Microsoft developers struggling with the same issues, the same hiccups, and doing the same things that “seemed right at the time” based on documentation, but realized one compile too late, those examples were just “examples” and not to be taken on an empty stomach.… Read more

, ,