The Rhythmic Blog
The Dangers of Having Your Developers Running Your Infrastructure
Reliable Infrastructure is The Foundation of Application Success
Successful infrastructure design and management balances innovation with proven, tested solutions to ensure site reliability.
When you consider what makes your customers happy, do your first thoughts go to your application’s newest features or user interface? Perhaps its documentation or your great customer support team? Certainly your applications’ availability is at or near the top of your list, but do you give the infrastructure and its operation the same ranking?
For many businesses, their applications, or even a single key application, will determine how successful they will be.
Who Handles Your Infrastructure?
Three key components make for a successful application:
- Features
- Speed
- Reliability
Developers are the key to the customer-pleasing features that are so integral to achieving your business goals. But notice that #2 and #3 are not in the development wheelhouse. The speed and reliability of your applications should be left to process-oriented infrastructure professionals experienced in utilizing proven systems and frequent testing.
Is this the case in your organization? Do you have the right people designing and maintaining that resilient, secure, customer-pleasing web presence that is necessary for you to compete successfully in the marketplace? Many companies frequently do not.
The Easy Way Out
The path of least resistance is to simply let the developers handle the infrastructure. So often when companies start up a new application they spin up a few instances in AWS, deploy the application, and let the developers run the system. For organizations with limited resources, they mistakenly (but understandably) see it as a less expensive.
When the application fuels the growth of your company, the infrastructure becomes neglected as developers are stretched thin. Routine but manual processes fall by the wayside, monitoring is incomplete, documentation is non-existent.
Developers Prefer Excitement
Let’s face it, infrastructure operations isn’t sexy, and your developers are more likely to spend their time and energy coding to the latest frameworks, implementing hot new features, making your application rock.
Are You Flirting With Disaster By Having Developers Run Your Infrastructure?
In my 15 years as a technologist, I’ve seen time and time again instances where developers are doing things that are not in their primary skill set. And frequently when I see it I’ve been brought in to lead an infrastructure team on a rescue mission.
I am not anti-developer. They are a critical piece of the puzzle, and provide the product differentiation that you desperately need to succeed in a competitive marketplace. But then they simply don’t have the proper mindset for the infrastructure process
Development and Infrastructure Require Different Mindsets
All technologists are intrigued by discovery. We tend to like the bright, shiny new thing; that hot new gadget, that slick new container hosting provider. Your programmers are likely always looking to play with something new. That mindset is what keeps your developers working hard to create the best experience for your customers, consistently coming up with new features and tools to keep those customers happy with a constantly improving product.
But as productive as that attitude is for software development, it is an infrastructure killer, leading to an incomplete, unproven operational environment for the very application your customers demand.
The Infrastructure Attitude
The foundation of a proper infrastructure includes the following decidedly non-exciting activities:
- Understanding the client’s key application(s).
- Determining and building the proper platform for that application, with a focus on reliability.
- Monitoring and maintenance, which sometimes involves monitoring and/or fixing an issue at 2AM.
- End-to-end management on all processes.
The mindset of successful infrastructure requires a level of realism sometimes lacking in developers. While infrastructure professionals are as enamored with the discovery of new technology as developers, we understand it takes proven systems and solid processes to make that work. These systems and processes bring with them the benefits of reliability and maturity.
While innovation is important, the pace of implementation of developing technologies is necessarily slower. The rush of bringing new systems online or new technology to the fore is a thrill to developers and operations teams alike, but the real work of bringing that technology to a stable, mature, and sustainable state is mundane and arduous. More often than not, impatient developers can’t see the forest through the trees, and are inclined to rush to the next new tool, system, or application. True infrastructure engineers see the implementation through, and they stick with it once its proven.
Process is Required
Many developers have a healthy respect for software development lifecycles, but even to the most seasoned of software developer such a process looks little more than a quick run through of changes in test, and then push to production. To them, that’s process.
The truth is most developers view a healthy software development lifecycle as a hindrance, even anachronistic. . Risk avoidance is more important than what’s new. You want problems to be avoided by thoroughness and a consistent end-to-end solution utilizing proven infrastructure design and operations.
Infrastructure teams view process as something other than a hindrance; we view it as an asset. To us, process is the gatekeeper. It allows us with authority to say this code, this system, is ready for production. It’s the bedrock on which we form our reputation. It removes unknowns, it enforces reliability, it allows us to sleep at night.
Process Enables Scalability
A healthy set of processes is what allows your infrastructure to truly scale. Without a real process, most companies find themselves scrambling when the time comes to add capacity. More disturbingly, they find they’ve missed minor but crucial steps, which often don’t come to light until the system comes crashing down at the most unlikely, and unfortunate, of times. Processes remove these uncertainties through documentation and automation, and for an operations team, automation is true innovation.
Welcome the Infrastructure Mindset
Thinking differently than developers about the process of a software installation and the global impact on an organization’s web operations, including sometimes slowing them down, is a key piece of our value proposition at Rhythmic Technologies.
Your infrastructure should meet your needs now and well into the future, no matter how uncertain that future may be. It takes a team of true infrastructure professionals with a skill set and passion for managing operations to fuel your growth and success into the future.
Use Case
Keeping a Federal Agency Out of Trouble: Pulling Back the Reins on a Hasty Installation
Software Developers want stuff they wrote 5 hours ago in production before they go to bed. That’s a disaster waiting to happen. That’s not the process you want to follow.
I’m an enthusiastic adopter of new technologies…..when appropriate. But the new technologies MUST go through a process. I’m a fan of shiny and new, as long as it is properly vetted, tested, and intelligently implemented.
A Recent Example from a Large Federal Customer
We received a request on Wednesday from a large Federal agency who wanted an additional set of of services to run on top of their database and they wanted production on Friday. They had installed it in their development environment and it seemed fine to them. Leading them to ask us to install it for production.
This hasty installation was extremely risky. We need to evaluate it, learn to monitor the new technology, install it in a way that doesn’t impact anything else going on with their website.
To put it most simply, we needed to think about this. And we needed that thought process to insure that the end-result of the installation delivered the expected experience.
Many developers don’t appreciate the nuances of putting something through a test, of properly allowing for all potential issues and insuring resiliency, redundancy, and performance required for the end user to have a successful experience.
“Let’s Just Install It”: The Potentially Business-Killing Attitude.
When you’re talking about your infrastructure, you want PROVEN technologies. Risk avoidance is more important than what’s new. You want problems to be avoided by thoroughness and a consistent end-to-end solution utilizing proven infrastructure design and operations.
Mundane = Mistakes
To many developers, these are mundane activities that don’t hold their interest. That can lead to sloppiness and mistakes, which can be deadly to uptime and efficient operations.
If the uptime and performance of your website is important to you, you owe it to yourself to let qualified infrastructure professionals utilize their analytical tool box on your behalf.