Beginning this week, Rackspace is teaming up with Google and Red Hat to offer free interactive “Modernize IT” workshops in a handful of cities around the country.
For those who can’t make a workshop, you can tune into our recent webinar, where I discussed with experts from Google and Red Hat how larger enterprises are modernizing their infrastructure. Specifically, we went over three tips to reduce the risk and complexity that accompanies such efforts:
- Adopt tooling and prioritize automation
- Make sure operations has a seat at the table
- Adapt and update IT policies
While those might sound obvious, it’s remarkable how many organizations attempt short cuts that almost inevitably lead to early failure. You may be familiar with the line of reasoning. The conversation typically goes something like this:
Engineering: “We need to include automation and create build standards and templates that allow us to reuse code and provision autonomously.”
Leadership: “We have three months to move everything out of the data center so we don’t have to renew our contract. Can’t we just copy what we have to the cloud?”
As you’ve already guessed, the answer is no. So without further ado, our top three tips, plus a bonus “easy button” (complete with $5,000 in infrastructure credit) if you’d like some expert support.
Adopt tooling and prioritize automation
This first tip is often overlooked or ignored in favor of “going fast.” However, this typically results in failed projects, delays in later parts of the modernize program, or stability problems and loss of confidence early in the implementation.
By not including the tooling and automation early on, you trade flexibility, stability and efficiency for the ability to move workloads (that are often not optimized or ready) quickly to a modern infrastructure or platform; the application then cannot even fully utilize the very features that make that the modernized infrastructure desirable in the first place. Not only that, the quick approach takes on additional tech debt when your team is forced to go back in later and add the tooling (which will of course require additional downtime, making the journey to the desired end state that much longer).
Rather than talk about specific tools, we instead reviewed the types and kinds of tools you’ll need to evaluate.
Deployment: a tool that allows for the creation of scripts to automate creation of VMs and infrastructure. This tooling calls the cloud provider APIs to programmatically set up the cloud infrastructure. The public clouds all offer a way to handle deployment in the cloud, or you can use third party tools that offer a variety of additional features.
Configuration management: several elements must be considered for configuration management. First is to determine the skillset of your team and their language preferences, such as Python or Ruby. Then you’ll need to evaluate whether you want an agentless tool or you’re comfortable installing an agent on every machine.
Continuous integration/continuous delivery: better known as CI/CD, this is tooling in your deployment chain that automatically leverages your testing tool in order to run a “build” process for your application and environment. Selecting a tool here that is compatible with the technology in your application stack is key. Also, many of these tools have very immature user interfaces, so you will need to evaluate if that is important for your operations.
Automated testing: in order for a continuous process to work, your testing tools must be modernized. Common tooling leverages a centralized server that allows scheduling and development of automated tasks and records the results of these tasks. The system is typically fully accessible programmatically (API) and with some engineering, integrated into your CI/CD tooling.
Repository: the centralized tool used for maintaining the master copy of the code or “source code.” Cloud standard has become GIT for interaction with repositories.
Make sure operations has a seat at the table
Including “day two” operations in every modernization step is critical to the success of your infrastructure in its new state. That’s because it is simply not enough to get to the cloud; once there, you don’t just want to live, you want to thrive in the cloud. To make sure this happens, operations must have a seat at the table for every phase of the project. To help, here is a list of the common tasks operations should be working on and reviewing as the project progresses:
- Public, private and hybrid cloud choices and what each means from a sustained use
- Key service level objectives (SLOs)
- Performance considerations
- Cloud Services (DBaaS) vs DIY applications (mySQL on VM)
- Service level agreements per service
- Uptime requirements of each application
- Backup requirements and process
- What tools are being used
- Training requirements
- Declarative or imperative
- Application automation
- Automated deployments, rollbacks
- Failure results and troubleshooting
- Data models
Adapt and change IT policies (rather than building onto existing policies)
Enterprises have been there, scaled that, and seen the dance before. If you’ve been in business for longer than 20 years, you remember the time before VMs. Longer than 10 years, you know what life looked like before cloud. And in both cases, your policies most likely reflect this.
Everything in an enterprise exists for a reason. Why do we have a change control team, UAT, or internal audit? If we look hard enough we can probably trace it back to a root cause analysis of an upgrade gone wrong. The result is that many organizations built processes and defined standards to ensure no particular problem would happen again.
Enterprises have spent years building and refining how they work within the limits of their tooling application and infrastructure. It’s a well-oiled machine capable of all the rigors and complexities that come with “enterprise scale” — but with one big problem… It’s all built on a foundation of legacy tech and the need to avoid problems that in many cases, modern technology has solved for with the very technology itself.
Given this, applying those old policies and practices to new tools and tech often has the reverse effect that it had in the previous technology. For example, the formal QC process, with rigid control gates of the old system, can be adapted to a much lighter version through the use of test-driven development standards and CI/CD tooling. What was a manual process before can be handled programmatically and drive up the speed to launch.
Blue/green deployments are standard in this new world and application engineers can programmatically point small amounts of traffic to new deployments and measure their experience rather than long UAT cycles with testers pulled out of their day jobs. But for any of this to work, we have to evolve and modernize our policies.
The most common policies to revamp include:
|Procurement||Long purchasing cycles and approvals||Billing quotas, per second billing, automated provisioning|
|Testing||Dedicated teams and cycles||CI/CD, blue/green deployments, automated testing|
|Deployment||Change control, sign off gating, off hour deployment windows||Automated deployments, continuous deployment|
|Rollback/Recovery||Test runs, rollback planning, go-no go calls||Automated rollbacks, fail forward, auto scaling|
The easy button: Rackspace modernization credits
If all of the above sounds overwhelming, let Rackspace help. We have fully managed solutions in which we’ve curated the best tools and processes from nearly two decades experience offering digital transformation services that exceed expectations and drive industry standards.
Our expert architects will work directly with your team to build a customized solution and take the sting out of your modernization effort.
Whether you’re considering or already on the path toward IT modernization, we invite you to register for one of our free interactive workshops this week and next at Google offices around the country. Registration closes soon, so sign up quickly.
Alternatively, for those interested in moving to Google Cloud Platform, for a limited time, Rackspace is offering a free 30 minute consultation with a GCP-certified expert which includes a $5,000 credit towards your Rackspace Managed Google Cloud Platform infrastructure.