cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post

Automation and Virtualization

Level 11

Let’s face it!  We live in a world now where we are seeing a heavy reliance on software instead of hardware.  With Software Defined Everything popping up all over the place we are seeing traditional hardware oriented tasks being built into software – this provides an extreme amount of flexibility and portability on how we chose to deploy and configure various pieces of our environments.

With this software management layer taking hold of our virtualized datacenters we are going through a phase where technologies such as private and hybrid cloud are now within our grasp.  As the cloud descends upon us there is one key player that we need to focus on – the automation and orchestration that quietly executes in the background, the key component to providing the flexibility, efficiency, and simplicity that we as sysadmins are expected to provide to our end users.

To help drive home the importance and reliance of automation let’s take a look at a simple task – that of deploying a VM.  When we do this in the cloud, mainly public,  it’s just a matter of swiping a credit card, providing some information in regards to a name and network configuration, waiting a few minutes/seconds and away we go. Our end users can have a VM setup almost instantaneously!

The ease of use and efficiency of the public cloud, such as the above scenario is putting extended pressure on IT within their respective organizations – we are now expected to create, deliver and maintain these flexible like services within our businesses, and do so with the same efficiency and simplicity that cloud brings to the table.  Virtualization certainly provides a decent starting point for this, but it is automation and orchestration that will take us to the finish line.

So how do we do it?

Within our enterprise I think we can all agree that we don’t simply just create a VM and call it “done”!  There are many other steps that come after we power up that new VM.  We have server naming to contend with, networking configuration (IP, DNS, Firewall, etc).  We have monitoring solutions that need to be configured in order to properly monitor and respond to outages and issues that may pop up, as well as I’m pretty certain we will want to include our newly created VM within some sort of backup or replication job in order to protect it.  With more and more software vendors exposing public API’s we are now living in a world where its possible to tie all of these different pieces of our datacenter together.

Automation and orchestration doesn’t stop at just creating VMs either – there’s room for it throughout the whole VM life cycle.  The concept of the self-healing datacenter comes to mind – having scripts and actions performed automatically by monitoring software in efforts to fix issues within your environment as the occur – this is all made possible by automation.

So with this I think we can all conclude that automation is a key player within our environments but the questions always remains – should I automate task x?  Meaning, will the time savings and benefits of creating the automation supersede the efforts and resources it will take to create the process?  So with all this in mind I have a few questions- Do you use automation and orchestration within your environment?   If so what tasks have you automated thus far?  Do you have a rule of thumb that dictates when you will automate a certain task?  Believe it or not there are people within this world that are somewhat against automation, whether it be in fear of their jobs or simply not adapting – how do you help “push” these people down the path of automation?

11 Comments
MVP
MVP

I am not a VM admin, but I do know for somethings this can speed up server spinup and deployment and will fall short in some software installation due to the nature of our business.

I think it will increase consistency and timeliness in server deployment since there is less likely for someone to fat finger something.

I remember the dog & pony shows for VM years ago.  It promised a lot, but we were skeptical.

Initial deployments revealed insufficient horsepower for the apps, and resulted in impressions that VM wasn't as good as stand alone servers.

Later improvements and better budgeting/understanding resulted in much better performance/$.

We had so many servers in one of our data centers we'd reached the maximum capacity of the local electric company's feeds, not to mention that of our UPS's.  In another data center we were approaching the structural weight bearing safety limits of the floor.

In both cases we evacuated the two data centers for more modern sites, and simultaneously migrated to VM.  Wow--what a huge improvement!  It was expensive, but we were being boxed in by power and weight limitations, and that was impacting our ability to serve customers.  Now we're in greenfield installations that are properly designed and built and powered, and we use less power and cooling and electricity, while providing many more services and much improve HA.  VM is good.

We have most of the tasks automated to provision a server in VMWare, we know that it could be everything with a little bit of effort, but today where most time is spent is upfront. We build about 10 windows servers a week in VMWare, but we have a wide range of needed builds. (We have almost a 1000 server based applications and it could be  installed on 1 shared server, a cluster of 10 servers, or a combination of a web server, a database server, and an interface, all with different specs.

Until recently, we rebuilt many newly built servers, now we (not just the VMWare team, a few people with varied skills get pulled in when needed) get a request, help the requester get what they need, ensure they meet the back RPO and RTO objectives, and prioritize the build so deadlines are not missed. Its a big change for us, a big step forward. Once the process starts, all the things that need to get done will be, from AV work and patch scheduling to vulnerability scans and backups.  The process for turning on a new server (or off) is now well understood, and automated in many cases.

Now that we have come this far, we know that after a little legwork upfront we should have a concrete build plan, but our request system hasn't kept up. Its still very basic, not much better than an email. It lives in our ticketing tool, which is Service Now, which means that we can do a lot more, but it takes effort to make it real, with work done by teams that have competing priorities. We'd love to have a shopping cart experience where the configurations you need can be fully built from initial base requests, which get validated and approved, then our VMware team selects some resources to be consumed, and the rest is automated. We know the technology is there to support this, we just need to capture information in a usable way and feed the orchestration tools which run our scripts. Hopefully we get there someday soon.

If any of your have gotten to the paradise that is full automation for new builds, I'd love to hear what you have done.

Level 14

We automate where we can.  Usually repetitive tasks that are time consuming and scriptable.

Level 20

It also can make it almost too easy for way too many VM's to be created and never cleaned up correctly or gotten rid of.

We automated several of our deployment tasks within VMware... but then we learned that we do not deploy enough servers, nor are we under a tight enough deadline to deliver them. So I guess what I am trying to say is that we are half pregnant.

adamlboyd​ this is right up your alley

Level 17

Automate Every Thing! Even my drive home

Level 21

I think automatic is great unfortunately it's often use with the wrong goal in mind.

People often seek to automate to make things faster and ultimately reduce the resources necessary to do it.  Automation often doesn't lessen the resources necessary to complete the task.  Before you automate you need to make sure you fully understand the task and test the automation to make sure its doing the task correctly and try to identify all of the possible failure modes.  You then need a way to monitor this automation to make sure it keeps working properly because when automation breaks it can make a really big mess.  All of these things require resources so instating of reducing resources necessary for the task, automation just changes where the resources are being spent.

I find the real value of automation comes from the consistency it can bring.  When you have computers doing things versus people the end result is often much more consistent.

Level 11

^^^Truth^^^

Level 11

That's one way of putting it I guess.