Preparing your business, your infrastructure and your applications for Cloud is more a mental shift in thinking rather than just a choice of technical or infrastructure decisions. This shift in 'thinking', goes past choices of cloud or service providers for their robust infrastructure to host 'virtual machines and storage'. It begins within your own data center, your own applications, and your own infrastructure. The way your applications are deployed, managed, secured and scaled is what creates Intelligent Infrastructure that can be deployed in Intelligent Clouds. The irony being that Intelligent Infrastructure is built almost entirely by software.
Azure Stack is literally a stack (set of software elements) that enables the building of repeatable, deploy scalable applications and infrastructure that can be managed as a single entity or a resource group. Imagine the ability of being able to group all of your complex pieces of business and infrastructure logic, hardware, software and code, into visual and human readable text and then dispatching that code to your on premise environment or even the public cloud. As with any platform, certain thinking or decision considerations must exist for this to be realized and to be effective.
Design your Intelligent Infrastructure with purpose, design for resiliency and scaling. Understand your applications, know their classifications and tiers and understand their dependencies. Design for failure. Expect it. Mitigate it and then design for elasticity at each tier. Before you decide cloud, Understand your applications.
Intelligent Infrastructure is simply well defined Infrastructure as Code, writing or crafting infrastructure as code, is easier than it seems, especially with the myriad of tools available by Microsoft. Important Note, Focus on the solution architecture rather than then the burdens of traditional development. Writing Infrastructure as code for Azure or Azure Stack does not necessarily require development skills, it does however requires architectural and experience building infrastructure solutions for yourself or customers.
Always build for automation and robustness.
Intelligent Deployment, When deploying software defined infrastructure, test and deploy for consistent results to Azure and Stack. Ensure Azure public cloud consistency for future proofing. Intelligent Infrastructure, Intelligent Clouds and Intelligent Apps are always consistent. Deploy for speed and parallel processing or deployment.
Monitor with Stealth, Build Infrastructure for monitoring and telemetry. limitations currently exist with Azure Stack TP1, but I am sure future versions will possess the same rich insights currently available for Azure.
No other SDS (software defined stack) possesses the same exact consistency as its public cloud counterpart. This is a significant decision vector, when choosing your cloud journey, Where you deploy intelligent infrastructure must support end to end software defined computing capabilities like Azure. Choose wisely, learn once. note Intelligent Clouds like Azure and Amazon will require Intelligent Infrastructure.