Microsoft DevOps: 25+ Power-Packed Windows SysAdmin Skills (NEW Guide!)
What is Microsoft DevOps?
This is an interesting question because first off, most IT Managers don’t envision CI/CD for Microsoft products; the old way works just fine!
And, second, Microsoft DevOps is a concept not many Windows Admins have even considered either, until now – because, well, isn’t DevOps a Linux thing?
These mindsets are a BIG problem for CTOs because staying ahead of competitors building online-services using DevOps is going to become harder and harder if your IT Staff are still using old traditional “manual” build and deployment processes.
Let’s look at this from a different angle, for SysAdmins, I’m not suggesting leaving behind your hard-earned Windows CERTS and skills to become a DevOps Engineer working on a Linux stack. Or for managers, disrupting your current IT Operations…
What is Microsoft DevOps? CI/CD on Windows servers, using configuration management and automation to build, deploy and update servers and code.
Doesn’t this sound like what you’ve been yearning to learn how to do but you’re not sure how to start? Hmm…
Sure, there are a few engineers who work for leading consulting companies who are experimenting with CI/CD on a Windows stack, but for the rest of us – Microsoft DevOps is a new concept.
No problemo! Because when we’re done unpacking MSDevOps, I’ll give you The Ultimate Guide for Microsoft DevOps, perfect for beginners…
For this lesson I’ve pasted screenshots of real Microsoft (Windows) DevOps job descriptions from Indeed so we can analyze and build a training profile for a Microsoft DevOps Engineer.
I also thought it would be beneficial to create use cases so we can cross reference skills with work and/or projects.
This lesson will be good for Windows Admins and managers who want to transition to DevOps, someday…
Snover says Nano Server focuses on two scenarios: born-in-the cloud applications, which includes support for multiple programming languages and runtimes, and Microsoft Cloud Platform infrastructure, which includes “support for compute clusters running Hyper-V and storage clusters running Scale-out File Server.” Read more….
Test Use Cases for Microsoft DevOps
Use Case #1 (Simple Website)
Build a Windows Web and Database server on premise in our own data center.
For this use case we need Windows Systems Admin skills that include:
- Install and configure Windows Server, to include clustering.
- Now add-on impeccable IIS App-Pool management skills.
- Then let’s add DBA operational skills for connecting websites to data sources.
- We can’t forget to add skills for scaling capacity for more users.
- And also need networking for NIC teaming, load balancing, VIP creation.
- Finally, we need to throw in middleware such as .Net and any other 3rd party software (too many to list).
Opportunity for DevOps Automation:
Depending on how often your Ops team repeats use case #1, building websites becomes the first opportunity for Microsoft DevOps.
Use Case #2 (Server Provisioning)
Provision servers for vHosts and VMs on premise in our own data center.
The majority of Windows shops are using either VMware vSphere or Hyper-V for hosting virtual servers. And it’s likely the majority are still deploying VMs the manual way via VMM or vCenter, versus using an automation tool.
For this use case we’re adding additional skills to our Windows Administrator role:
- Design and building VMware vSphere or Hyper-V infrastructure, attaching storage, and configuration of networks.
- Deployment of Windows virtual servers, handle day-to-day deployment of VM for web servers, app servers, DB servers etc.
Many times these two roles are combined, whereas, in larger shops they might be separated.
Opportunities for MSDevOps Automation:
First, you can automate the vHost build process for adding more VM capacity.
Second, you can automate the VM deployment process using any number of free or paid software solutions.
Third, maintenance such as Windows patching and vHost upgrades. These tasks are never-ending and should not be overlooked.
And fourth, Database server build and configuration. With DB builds, in my experience, there always seems to be a disconnect between the server admins and DBAs on the way a database server or cluster should be built. Being that our use case is dealing specifically with Microsoft servers, finding common ground and automating the OS and DB configuration and build process is a huge opportunity for Microsoft DevOps.
To learn more about these processes, check out my book VCP for Hire…
At this point, we’ve only covered on premise infrastructure and you can already see all the opportunities where Microsoft DevOps can benefit the speed to market process of service delivery.
Now we’re going to add use cases that leverage Azure for our infrastructure.
Use Case #3 (Simple Website/DB in Azure)
Build a Windows Web and Database server in Azure (100% cloud hosted).
For this use case we need our Windows Systems Admin role to include:
- Azure Account with Admin access.
- Azure Administrator Skills.
Let’s start with a simple business need such as a website, same as above except in the cloud.
Everything being new, the fastest way for an Admin to complete this request is to spin-up a small all-in-one VM server that includes IIS, ASP.NET, and SQL. The alternative would be a separate web server and DB server.
Note: Access to the servers for the admin and developers would all be handled via the Azure account.
There’s obvious more that needs to happen to make this website public but you get the gist of what the Microsoft DevOps role does at a very basic level.
At this point, the server provisioning process is more manual via clicks in Azure’s portal. However, there is plenty of opportunity, even with a small website for CI/CD via PowerShell and SCCM.
Actually this is the perfect time to begin the continuous development because later-on, as most legacy operations have found, working CI/CD into a highly complex application isn’t easy. This is especially true if the Ops and Dev teams aren’t working together.
Opportunity for DevOps Automation:
The automation opportunities here are the build and deployment of the infrastructure via Azure’s API, and then continuous development for the website code. Pick your own DevOps tools for this but for our example imagine using TFS, SCCM and PowerShell.
Also, let’s note this is all IaaS at this point, which means basically instead of building servers in our data center, were building them in Azure. Easy stuff!
Use Case #4 (Complex Website in Azure)
Build a Windows Web and Database that includes AD sync and Data replication in Azure (Hybrid).
Now let’s ramp up the complexity to a common problem many new cloud initiatives run into…
How do you add Active Directory Services and Data to your website built in Azure?
For this use case we’ll include all the skills listed above for our Windows Admin and add:
- Domain Administrator, understands the process of syncing user accounts to the cloud.
- Security Compliance, understands the risk of having data in the cloud.
I don’t intend to solve this problem for you but I know first-hand data and user access from Prem to the cloud is a real problem that needs the right skills to solve.
Note: For many cloud initiatives this is a show stopper because security concerns for user management and data management in the cloud is still highly suspect.
Let’s throw jelly against the wall…
Do you build a static VPN tunnel from premise to the cloud and keep all user access and data on premise, albeit hackers can still hack the website and work their way down to the DB.
Build a read-only AD in the cloud and replicate the data to a read-only DB server on Azure.
What’s the difference, right?
Basically very little however, the perceived difference is that having user and data served up from “Prem” is safer than having it copied to Azure.
Like I said, this is a real concern for large enterprises and unless a C-level leader is willing to mandate building a bridge to the cloud at all costs, then the project stops here.
At this point we have another opportunity for Microsoft DevOps to step up and deliver secure solutions for maintaining user and application data for cloud hosted applications.
Ideally we would want microservices making API calls from the cloud to “Prem” – however, most legacy applications lack well-developed APIs, or in some cases, don’t even offers an API.
But option #3 still is preferred using microservice instead of virtual servers, with a slight change that includes user access and data in the cloud as-well.
At this point the PaaS model with a Dynamic VPN to Prem becomes the way of operating, which BTW for developers, opens up new ways for building web services.
Are you starting to see how the Microsoft DevOps role fits?
We can call these folks “Cloud Engineers” but once the IaaS or PaaS is built, CI/CD kicks in and DevOps automation becomes the day-to-day. Hence, building automation for CI/CD into the stack from day-one is the secret sauce.
Pie in the Sky ideas!
Now I’ll admit – a lot of this is pie-in-the-sky dreaming because very few big or small operations are getting this far because they don’t have a plan, and because they don’t know how to do it. You’ll see what I mean in a minute when we review job descriptions…
I’ve watched my best Sr. Windows Engineers, with decades of experience, throw his hands into the air in total frustration because we couldn’t figure out a solution that accommodated the developer’s needs and the security requirements.
Opportunity for DevOps Automation:
We’re in un-mapped territory and in most cases it will be all experimental. Pick your tools and go at it until something works!
Sorry if I went long, but I wanted you to have a clear frame of reference from the very simple to highly complex.
We reviewed simple IaaS on Prem and in Azure that included deployment of virtual servers for web, apps, and databases.
Then, we increased the complexity and added user and data from on Prem as-well as copies of AD and data to the cloud. All still using the IaaS model.
Finally, we leveled-up the difficulties faced when going fully into the cloud and using PaaS with both on Prem data sources and cloud hosted data resources.
Would you agree that Microsoft DevOps is not the normal way of thinking about these scenarios? Although, because I’ve broken each use case down and showed where our opportunities for automation and CI/CD, we can now see MSDevOps is plausible…