Bringing cloud agility to your IT labs is critical to propelling true IT innovation and business agility. We call this "lab-as-a-service", and in this blog I want to unpack what this means and why it's important.
So, first, what's a lab? It's an often misunderstood word. An IT lab is really a specialized data center that’s used for typically pre-production purposes. Think Dev/Test labs, R&D and innovation centers, Centers of Excellence, Demo or Executive briefing centers, network test labs, and security & compliance testing labs. And though they may not be as visible as production data centers, most enterprises, service providers, and tech manufacturers have tons of massive labs – with servers, equipment, networking, etc.
IaaS, PaaS, SaaS, DBaaS - all these "as-a-service" terms mean "cloud". So lab-as-a-service (LaaS) means making your lab "cloudy". So what does it mean to bring cloud to your lab? First, it doesn't mean moving your lab to the cloud (though once you enable lab-as-a-service, moving to virtual / cloud becomes much easier and much more seamless). Cloud really means four key things:
So when we talk about lab-as-a-service and turning your labs into a cloud, we mean making them self-service, multi-tenant, automated, and scalable.
So why is this so important? Why do businesses need to cloudify all these labs? The answer is agility. With the move to DevOps and becoming digital businesses, organizations have these massive labs that are extremely critical to their business process. However, these labs are typically built on traditional and largely manual based processes, so they can only go so far in helping businesses achieve significant levels of agility.
Let's walk through the typical way an end user, like a developer or tester, might get access to IT lab resources to get a sense of the challenge.
First – you need to design the environment you need access to. If you need any kind of advanced networking or other complexities, you might create a visio diagram. Maybe you design something on a napkin. Either way, the the process can take hours, and what you end up with typically cannot easily be translated into automation.
Next, you’ve got to make the request to IT or your lab admin. This is going to typically be via a traditional IT ticket or in many cases an email. Since you’re often bound by a single person or department fielding these requests, this can take hours to process. Now, once that IT admin gets the request they or someone else needs to fulfill the request. That can mean, depending on the complexity of the request, racking, stacking, patching, and configuring equipment and resources, as well as patching the network to fulfill the end user’s request. Because of the often manual processes and static nature of labs, this can take a long time. Days to Months. In fact, according to a recent survey, it still takes 60% of enterprises over a week to deliver IT infrastructure to end users.
Now, once the end user gets access to the lab resources they still have to rely on ad-hoc methods of configuring and accessing the resources – SSH, RDP, APIs, test or external tools, etc.
So, the traditional process to getting access to lab resources is often less than optimal. And this is just for one user. What happens when you start to add multiple users – 10… 1000? First – you quickly run into resource conflicts – which leads to hoarding: sticky notes or emails saying – "I’ve got this whole rack reserved for the next month." Huge inefficiency losses there. Or, in order to facilitate multiple teams or constituencies, organizations will just replicate equipment on a per-project basis. Eliminates the conflicts, but leads to massive waste and cost escalations.
Now most organizations can’t move their labs to the cloud because they’re too solution specific. So we want to transform these labs into clouds. What does that look like?
First – design phase – we want the end user to be able to design and model environment blueprints using a web based tool that directly translates to automation. This can be done by an end user or an admin/architect. They need simple drag and drop of resources from the lab inventory, with built in networking. These blueprints can include physical equipment, virtual resources, tools, networking, as well as public cloud resources. Everything the end users need. Then those blueprints can be published to a self-service catalog of lab environment blueprints that can then be deployed on-demand by end users.
Next – the fulfillment phase becomes a process of self-service, on-demand automated provisioning rather long IT requests with racking, stacking, and patching. With lab as a service – all the resources are dynamically configured, control of network connectivity is automated, configuration, health checks, firmaware upgrades, etc. are run automatically to get that lab environment in the exact state it needs to be in for the end user to do their work.
Because of the dynamic, automated nature of a lab as a service platform – the system can handle all the conflict resolution and resource sharing that wasn’t possible before.
So taking something that was days to months can take just minutes or hours.
Then, once the user has access to that environment – once it’s been provisioned – a lab as a service platform is going to give you immediate one-click access to things like RDP, SSH, or API access. And most importantly, the built in automation is going to allow users to save and restore environments. So as an end user, I can save the state of an environment – includes version settings, network configurations, etc. – knowing that I can restore that environment at a later time to the exact configuration. This eliminates the need to hoard.
Lab as a service is so important because it takes these massive labs, which are typically “agility killers” and cloudifies them. This has huge benefits. The primary is agility. Reducing the process to access lab resources from Weeks-Months to Minutes-Hours is critical for businesses. Why? Labs are tied directly to the ability for businesses to develop, test, certify, deliver, sell, and support their software, products, and services. So bringing any kind of agility improvements in the lab will result in exponential agility growth at the top level. Agility in the labs means delivering faster.
Lab as a service also has scalability benefits. With a full automation, self service access, the ability to provide remote access, and having resource sharing in place, organizations can easily scale out to 10s, 100s, even thousands of users.
Businesses also see huge cost savings when they move to an as-a-service model. With automation in place lab resources - both physical and virtual - can be used more efficiently, as well as shared between different environments. In additional, with a single pane of glass for managing labs and providing self-service access, organizations can consolidate labs and eliminate duplication of resources.
Furthermore, by shifting to a cloud-based approach to managing your lab - particularly being able to model environments in a way that directly translates to automation - allows you to more easily migrate resources to virtual and cloud resources.
For enterprises that want to move to DevOps and achieve high levels of agility - go find those labs and cloudify them! To learn more - check out the Demo or watch our recent Lab as a Service Chalk Talk Session.