Infratac Consulting: Hybrid Cloud Infrastructure Design | Patterns & Practices
Hybrid cloud is an integrated cloud service utilizing both private and public clouds to perform distinct functions within the same organization.
Organizations seeking to move applications into the cloud have five options: rehost on infrastructure as a service (IaaS), refactor for platform as a service (PaaS), revise for IaaS or PaaS, rebuild on PaaS, or replace with software as a service (SaaS), according to Gartner, Inc.
Cloud architects' design decisions must consider an organization’s requirements, evaluation criteria, and architecture principles; however, no alternative offers a silver bullet; all require architects to understand application migration from multiple perspectives and criteria, such as IT staff skills, the value of existing investments, and application architecture.
The alternative
migration strategies many IT organizations consider are:
Rehost, i.e. redeploy applications to a different
hardware environment and change the application’s infrastructure
configuration. Rehosting an application without making changes to
its architecture can provide a fast cloud migration solution.
However, the primary advantage of IaaS, that - teams can migrate
systems quickly, without modifying their architecture – can be its
primary disadvantage as benefits from the cloud characteristics of
the infrastructure, such as scalability, will be missed.
Refactor, i.e. run applications on a cloud provider’s infrastructure. The primary advantage is blending familiarity with innovation as “backward-compatible” PaaS means developers can reuse languages, frameworks, and containers they have invested in, thus leveraging code the organization considers strategic. Disadvantages include missing capabilities, transitive risk, and framework lock-in. At this early stage in the PaaS market, some of the capabilities developers depend on with existing platforms can be missing from PaaS offerings.
Revise, i.e. modify or extend the existing code base to support legacy modernization requirements, then use rehost or refactor options to deploy to cloud. This option allows organizations to optimize the application to leverage the cloud characteristics of providers' infrastructure. The downside is that kicking off a (possibly major) development project will require upfront expenses to mobilize a development team. Depending on the scale of the revision, revise is the option likely to take most time to deliver its capabilities.
Rebuild, i.e. Rebuild the solution on PaaS, discard code for an existing application and re-architect the application. Although rebuilding requires losing the familiarity of existing code and frameworks, the advantage of rebuilding an application is access to innovative features in the provider's platform. They improve developer productivity, such as tools that allow application templates and data models to be customized, metadata-driven engines, and communities that supply pre-built components. However, lock-in is the primary disadvantage so if the provider makes a pricing or technical change that the consumer cannot accept, breaches service level agreements (SLAs), or fails, the consumer is forced to switch, potentially abandoning some or all of its application assets.
Replace, i.e. discard an existing application (or set of applications) and use commercial software delivered as a service. This option avoids investment in mobilizing a development team when requirements for a business function change quickly. Disadvantages can include inconsistent data semantics, data access issues, and vendor lock-in.
Choosing the optimal application-migration option is a decision that cannot be made in isolation, Any cloud-migration decision is, in essence, an application or infrastructure modernization decision and needs to be approached in the broader context of related application portfolio management and infrastructure portfolio management programs.
This decision is not solely an issue of migration but is truly one of optimization: Which cloud platform and migration techniques offer the chance to optimize the application's contribution to stated and implied business and IT goals? Those business and supporting IT goals, should be driving any cloud migration decision — not a rush to experiment with new toys.
1.0
Private | Hybrid | Cloud Computing
Adoption
Ask IT industry analysts about enterprise cloud
adoption, and they’ll tell you it’s all about hybrid. Sure, startups
might build entirely on the public cloud, but no large enterprise is
going to move everything wholesale to AWS, Azure, or Google Cloud.
Instead, they’ll build some sort of private
cloud, create new stuff on (and/or migrate some old stuff to) the
public cloud, and closely integrate the two -- the definition of the
hybrid cloud.
The question is, if you need a private cloud to
have a hybrid cloud, where are all the private clouds? Not
talking about merely well-managed virtualization. At a bare minimum,
self-service capabilities so that developers can provision their own
VMs (and these days, run containers on top of them). At the high
end, I'm envisioning production implementations that operate at
large scale.
Who are Key Players in the Private Cloud Space
Microsoft—A
considerable chunk of private cloud functionality is already in
place with
Microsoft’s Azure Pack,
including IaaS-like virtualization management, self-service portal
functionality, SQL Server (or MySQL) as a service, service
management APIs, and so on.
Eucalyptus—simply
put, is a private cloud version of
Amazon Web Services
(AWS).
The idea of a private cloud version of AWS is a good one. Many
enterprises want to migrate to private and hybrid cloud computing
first, then shift exclusively to public at some point in the future.
VMware—today still has the biggest share of the private cloud market, depending on how you define it. VMware still dominates virtualization. But it’s difficult to tell to what
degree customers have implemented VMware’s vRealize Suite, which includes the whole complement of monitoring, self-service, log analysis, and automation capabilities.What does "hybrid" from a
practical perspective really mean anyway?
Workloads run where they want to run. Some need
cloud scalability and automation and self-service. Others, including
legacy client-server workloads, crank along fine the way they are.
Some require so much scale that you don’t want to pay a third party
to host it because the operational and business dependency costs are
too steep.
The overall vision of parallel private and
public clouds, is where you can shift workloads around at will,
workloads have a tendency to stay where you first deployed them.
Containers may make that more fluid, but that portability does not
necessarily demand a parallel hybrid scenario.
Therefore, when talking to your cloud computing advisor—Infract Consultant; understand that s/he will focus not only on technology, but also on identifying and determining an optimal approach and understanding of not only the raw cloud enabling technology infrastructure components, but also and more importantly, the business context and desired outcomes from recommended patterns and best practices for implementation.
Amazon Web Services Amazon
Azure Trust Center Microsoft
The Hybrid Cloud Model provides the best of both
private and public worlds. It combines the economies and
efficiencies of public cloud computing with the security and control
of private cloud. However, marrying public and private cloud
services requires advanced thinking and some handy technology.
Emerging Approaches to Hybrid Cloud Computing
Static Placement
Architectures in which the location of applications, services and
data is tightly bound to private or public clouds.
Assisted Replication
Architectures in which some applications, services and data can be
replicated from private to public clouds – or vice versa.
Auto Migration
The code or entire virtual machines (VMs) that move between private
and public cloud instances, usually through human intervention, but
sometimes through an automated process.
Dynamic migration
Five Options for Migrating Applications to the Cloud: Rehost,
Refactor, Revise, Rebuild or Replace