Azure Stack: A New Approach to Hybrid Computing
It’s no secret: IT organizations run applications in a variety of deployment environments. The industry calls this “hybrid computing,” which implies an efficiently-run, tidy environment. Hybrid computing sounds so…neat. Planned. Strategic.
Unfortunately, for most IT organizations nothing could be further from the truth. They struggle with the fact that the functionality of public cloud environments is highly desirable, but the reality of their on-premises environments is that they are static, inefficient and labor-intensive.
Many of these organizations have attempted to address this by implementing private cloud, but to be frank, most private clouds have not delivered the envisioned benefits. Their functionality is often limited in comparison to their public counterparts, and they’ve often turned out to be science projects requiring expensive personnel to implement and provide ongoing support.
So for most IT organizations, hybrid computing has ended up meaning an uncoordinated collection of inconsistent application deployment environments.
Last week, however, Microsoft released Azure Stack, which delivers a very different vision of hybrid computing -- one that provides IT organizations the flexibility of deployment environment choice, the rich functionality of public cloud environments, without the tradeoff of multi-environment complexity.
What is Azure Stack?
"Azure Stack is an extension of Azure, bringing the agility and fast-paced innovation of cloud computing to on-premises environments. Only Azure Stack lets you deliver Azure services from your organization’s data center, while balancing the right amount of flexibility and control—for truly-consistent hybrid cloud deployments.” - Microsoft
This means that IT organizations can install a compatible version of Azure in their own data center. Microsoft describes this as “The Azure Resource Manager enables the same application model, self-service portal, and APIs.”
The Resource Manager is the control plane software that users interact with to manage Azure software and coordinate Azure services. In fact, I was told by one senior Microsoft executive that the on-premises Resource Manager is the exact same code that Microsoft itself uses to manage the public Azure cloud.
Moreover, Visual Studio, Microsoft’s developer tool, enables software engineers to write codes that can be deployed into the on-premises or public Azure environments.
In my view, Azure Stack holds the potential to change IT organizations’ approach to infrastructure choice. It turns deployment choice from an unpalatable tradeoff between on-premises, low-functionality computing and full-capability public cloud into an integrated set of computing capability offering consistent functionality across a variety of deployment environments.
What are the benefits this approach offers?
Developer Productivity: When developers don’t have to learn multiple service catalogs, different API syntax and semantics, and inconsistent UIs, guess what? They’re more productive. They can devote more of their time to application functionality and less to “plumbing.” In a “software eating the world” business environment, allowing developers to focus on functionality is a competitive advantage.
Application Portability: Being able to run applications in multiple cloud environments is a good thing. One approach is to use a cloud management software product to achieve portability. Having worked at a couple of companies offering this kind of software, I can say that there are always challenges and shortcomings in this approach.
Azure Stack allows application placement to be a “late binding decision,” that is, the application can be developed, with the decision of exactly where to deploy it decided late in the process. This is great since it provides more flexibility to IT organizations and supports placing an application in the best environment to meet its specific requirements.
Many IT organizations view portability as providing the option of migrating a production application to another environment. In my experience, this is more theoretical than real, because once an IT organization puts an application somewhere, it’s likely to stay there.
What is attractive about Azure Stack is that it allows great portability during the application lifecycle. A developer can write the application on his or her laptop. The same application can be placed into an on-premises Azure Stack environment for functionality and load testing. Ultimately, the same application can be deployed into a large Azure public cloud topology to support production scale needs. This kind of portability is very attractive to enterprise IT groups seeking maximum application lifecycle productivity.
Operational Consistency: One aspect of traditional hybrid approaches that is less-often commented on is the challenge they pose for operations groups.
Each environment that an IT organization uses performs management, monitoring, and reporting differently. This results in inconsistent data and reporting and impinges upon accurate assessment of issues causing poor performance and outages.
There are, of course, software products that purport to span multiple dissimilar environments, but all too often they require complex (and expensive) integration efforts -- and still provide less-than-accurate information.
Using Azure Stack and the Azure public cloud means consistent metrics, tooling, and processes. Put this way, it sounds good, but not earth-shattering. But that’s wrong. Today’s IT organizations are being tasked with leading their company’s digital transformation, and these initiatives often fail when they suffer outages and performance issues. Consistency is the foundation of good application operations, and Azure Stack enables it.
Reduced personnel costs: Another under-examined aspect of traditional hybrid approaches is the high personnel costs they impose. Because each environment has its own tooling and management approaches, IT organizations have to train and staff specialized personnel for each one.
That imposes costs and it interferes with cross-training and flexibility. Does the ecommerce application need more staff during peak periods? Yes, but there aren’t more people trained on the application environment, so no one can fill in to provide more help.
Azure Stack enables staff to work across environments and transfer skills easily. That’s a tremendous advantage from a staffing perspective. And it reduces staff resistance to being assigned to the “old system” because every system shares a common environment.
Hybrid computing has always been one of those IT things that sounds great, but always seems to fall short in practice. The vision of deployment flexibility and application portability is tantalizing, but never seems to really come together.
Azure Stack is the first approach to hybrid computing that looks to deliver what IT organizations really want: high flexibility with low complexity.
Planning for a career in cloud computing? Here are the Popular Courses.
Recommended articles for you
6 Reasons a Microsoft Azure Certification is the Secret to a...Article
Top Microsoft Azure Interview Questions and AnswersArticle
AWS Vs. Azure: Which One’s Right for Your Cloud Career?Article