When thinking about the extremes of the IT landscape, I often use the comparison of the mainframe vs. microservices. One embodies a large, legacy hardware platform, best suited for monolithic applications. The other is a modern serverless paradigm whose lifespan is counted in the hundreds of milliseconds it takes to perform its task. “Serverless” in this case is a bit of a misnomer, as the functions reside in a container which in turn live on a host, and that host requires compute, storage, and network – in short, hardware.
The question, therefore, is not “is hardware relevant” but instead “is the hardware relevant to you?”. The answer lies predominantly in the way your role within the organization requires you to interact with the technology. I’ve outlined a few use cases below.
Line of Business
Let’s take an example of a Product Manager. Your job is centered within the business itself and you are probably feeling intense pressure to deliver new innovations to your customers to remain competitive in your market space. This can sometimes lead to an unfortunate behavior known as “shadow IT”. You may feel that going to your core IT group takes too long, is too complex, or is too expensive and that public cloud is an attractive alternative. Generating a new workload in AWS, Azure, or Google can be done with a minimal investment of resources or money. Most importantly things can be done fast. Why then, would you care about the platform your workload is running on? Why even consider running it within your datacenter? A few things to keep in mind:
- Security is key. Public cloud environments require the same (or more) security considerations as your on-premise. How are you incorporating security requirements into the environments you are provisioning? How do you know they are secure?
- Performance requirements need to be understood. Most workloads interact with other data elsewhere within your environment. Have you identified if and how often a workload moved to the public cloud interacts with other data? Have you considered the long-term costs of the interaction of on-premise and public cloud applications?
- Scalability is possible (and valuable). Although public environments can be provisioned quickly, how do you know that the environment has been set up to scale up (and down!) to support the application needs?
- Ongoing operations can be your largest expense. Public cloud environments do not equate to a fully hosted environment. Who is managing your public cloud environment to ensure effective use of the public cloud environments?
If you are a developer, in a perfect world you would neither know nor care about the infrastructure your applications were running on, so long as the resources you need are both available and performant. Several key concepts to consider:
- Beware of tooling. Public Cloud providers offer a rich set of tools to assist you in your role as a developer. Have you considered why these providers have made these services so easily accessible? Once you leverage these services how easy would it be to port the application to a different public cloud?
- Be aware of cost. Flexibility and scalability are tremendous options. Have you thought about how the value these options augment the value of the application you are developing? How much would you be willing to pay for this flexibility and scalability? Is there a threshold as to when the cost can no longer be justified? How can you manage that proactively?
- Security is important. Have you considered the impacts of your production security posture on your development environments? Are the needs of these environments the same across all levels of development? Are there new threat vectors you need to consider when using items such as open-source code?
If your role is in the core IT group within your business, you have probably invested a lot of time and effort into understanding the various infrastructure platforms available to you. You recognize the need for core infrastructure, but now there are more things to consider than ever before. Some key focus areas are:
- Mind the gap. Tremendous advancements have been made in performance, scalability, and reliability within the data center space. Have you begun to take advantage of software-defined and cloud technologies within your existing footprint? Have you analyzed the impact of leaving legacy systems in place instead of modernizing those environments? Has your staff begun to skill up on these newer technologies or are they primarily focused on “keeping the lights on?”
- It’s a multi-cloud world. One of the challenges for IT is to maintain the various platforms in use by the business. How robust is your observability into your environment? How do you maintain control of both cost and capacity of the various providers? Are you looking at these platforms individually, or as a whole supporting the IT needs of your business?
- Know your applications. It is imperative to have a true understanding of your application portfolio. Do you have a documented inventory of the applications in use? How do new applications get added and how do older applications get removed? Do you have a specific plan for each workload to either re-platform, rewrite, retire, or retain them? How do you determine placement of your applications, is it based on a single factor or a matrix incorporating technical requirements, operational needs, and cost?
As you can see, the underlying infrastructure can have a drastic impact on performance, security, elasticity, and price. Given this, we can say that infrastructure is still a relevant part of the IT conversation. Your role, however, will determine how much the architecture of that infrastructure is relevant to you.
In the world of software-defined everything, the role of infrastructure is shifting dramatically. At Micro Strategies, we recognize that there is no one size fits all approach to IT. Micro Strategies has a set of solutions that allow you to integrate your emerging needs with your existing operations. Interested in learning how we can help? Contact us today.