Forging the Lab

Well it has become readily apparent that my thoughts on creating a lab are well placed in order to get me up to speed. Unfortunately my internet connection is not yet the 100mbs thing I would love it to be, so I’ve got about 8 Hours of downloads to get all the Microsoft Software I need for a temporary lab. Given the ground I need to cover, I’ve decided to break the lab setup into 5 Phases.

  • Phase 1: (Figure out general functionality of TFS and project management using Dummy Projects)
    • Active Directory
    • Team Foundation Server – Version Control
    • SQL Server for TFS
  • Phase 2: (Figure out current build automation features and how pipelines work)
    • Team Foundation Server – Build Servers/Test Labs
  • Phase 3: (Start working on automating deployment on each build for staging tests)
    • IIS Server
    • ALM Deployment Automation
    • MS Certificate Server
  • Phase 4: (Implement Automated Deployments with the following)
    • Wix Toolkit (MSI XML)
    • ClickOnce Deployments
    • IIS WebDeploy
  • Phase 5: (Project Automation)
    • At this point I’ll be looking for ways to use a CMDB to build, rebuild and migrate deployments. This could mean deployment of new virtual machines whenever a new project comes online, or building a server from scratch for each deployment.

Sadly however beyond kicking off a bunch of downloads and wiring up my physical lab tonight, it looks as though this project may take me a couple days, with phase 1 not swinging into full action until this weekend. I have a fair amount of reading on TFS to make sure I get the deployment right, and I’m tempted to try and script it just to be sure. To be continued…

Happy New Year, New Job, New Blog!

Well given the long weekend, being the first post of the new year, and the first post of my blog’s relaunch, I thought I would start off covering my professional interests, outside interests, and then a look ahead to the things I’m excited for.

Professional Interests

I’ve landed a new Career as a DevOps Engineer at AIG. (A lot has changed!) So far after hearing about what they have going on I’ve been all over the place reading up on all sorts of stuff, trying to sort out what I think the coolest and most useful would be. For my own reference, I’ll be making a list below:

  • PowerShell DSC -DSC Resource Kit / Writing Custom Extensions
  • VCE (vce.com)
  • Microsoft Team Foundation Server 2013
  • Microsoft Application Lifecycle Management
  • Chocolatey (https://chocolatey.org/)
  • Puppet (On the fence about whether it’s really worth while, they bought the guy who made chocolatey so they are serious about the windows space, but with MMC 5 and OneGet there may not be any point beyond living in a mixed environment.)
  • NUnit / Pester (TDD/BDD testing libraries for C#/PowerShell respectively)
  • ClickOnce (I believe this is currently being used somewhat, and since it’s slotting into Microsofts DevOps agenda, important to know)
  • NuGet (Would be a good way of centralizing shared binaries in a large corporation, and performing version control on them.)
  • Artifactory (Kind of crazy, lets you run private Nuget, apt, maven, and who knows what the heck else repositories, while also integrating with TFS and other build systems.)

I’ll note some of this stuff isn’t on their agenda, but I thought I’d do my own research on related things so I can contribute my own findings on their plans for the future.

Personal Interests

Granted that is all the stuff that I think is directly applicable to my job. To practice all this stuff, I’m thinking of setting up a lab and configuring some services I know really well, so that I can master the underlying tech. So in my mind I’m thinking of setting up a lab with the following:

  • Server 2012R2: Active Directory Domain
  • Server 2012R2: IIS 8 /SQL Server 2012R2
  • Server 2012R2: Windows Print Services + PaperCut
  • Server 2012R2: CAS Server
  • Server 2012R2: TFS 2013 Server + ALM
  • MakerFarm Web Application / Reprancher Dummy Application

I’m hoping to leverage PowerShell DSC so that I can get up the entire lab in a couple minutes on any cloud. This also means I’ll get some practice creating Custom DSC Modules, so that I can deploy PaperCut in an automated fashion, along with the CAS Server. However I’d likely want my TFS Server to be stateful, which would then make my AD Domain stateful as well, so I’ll have to think about it more.

Looking ahead

Lastly it seems Microsoft thought competing with a presidential election year would be good for their sales. Granted I’ll take good news where I can get it, and they have a promising lineup in 2016 with the release of PowerShell /MMF 5.0, Server 2016, and best of all native support for Docker Containers. Be far my favorite linux tech I’ve been following these days has been Docker (Followed by Cloud Foundry and then Stack) since the concept of Operating System Virtualization has always been my favorite  on the Virt stack (Versus Machine Virtualization or Application Virtualization). I know being a MSFT fan puts me in a Bias, but with that, along with .Net Core for packaging self contained cross platform apps and DSC moving over onto linux machines, and the System Center Platform  + Azure Pack they will have a very appealing Private Cloud Platform.

But more important than going with a pure MSFT stack is the fact they they have defected from codeplex to github and have been opening up most their APIs and a lot of their source, which means you can mix and match your tech to build your own stack. Given PowerShell’s extensibility, with enough automation platforms and specific tech will be meaningless and slotting things in and out of the stack will be completely transparent. Granted I’m likely being over-optimistic, but I’ll laugh at myself in about 18 months once I start kicking the tires on all the tech I just evangelized.