Migrating Applications To The Cloud Oreilly
Migrating Applications To The Cloud Oreilly
m
pl
im
en
ts
of
Migrating
Applications
to the Cloud
Securing the Value of Digital
Transformation for Your Business
Steve Swoyer
REPORT
Oracle Cloud
Infrastructure
Delivering advanced levels of automation, performance,
scaling and security for your workloads.
Learn more
oracle.com/cloud
Migrating Applications
to the Cloud
Securing the Value of Digital
Transformation for Your Business
Steve Swoyer
The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Migrating Appli‐
cations to the Cloud, the cover image, and related trade dress are trademarks of
O’Reilly Media, Inc.
The views expressed in this work are those of the author, and do not represent the
publisher’s views. While the publisher and the author have used good faith efforts to
ensure that the information and instructions contained in this work are accurate, the
publisher and the author disclaim all responsibility for errors or omissions, includ‐
ing without limitation responsibility for damages resulting from the use of or reli‐
ance on this work. Use of the information and instructions contained in this work is
at your own risk. If any code samples or other technology this work contains or
describes is subject to open source licenses or the intellectual property rights of oth‐
ers, it is your responsibility to ensure that your use thereof complies with such licen‐
ses and/or rights.
This work is part of a collaboration between O’Reilly and Oracle. See our statement
of editorial independence.
978-1-098-10277-7
[LSI]
Table of Contents
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
iii
4. Building a Business Case for Cloud. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Estimating Costs 27
Planning the Migration 29
Prioritizing the Applications and Data to Migrate to the
Cloud 30
Migrating Packaged Business Applications 34
Migrating Low-Latency Applications 36
Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
iv | Table of Contents
Introduction
v
The COVID-19 pandemic demonstrated that conventional IT infra‐
structure—the on-premises status quo—is holding business back. It
highlighted the usefulness of the public cloud as a critical support
for business continuity and business expansion in the midst of
global disruption and upheaval. At a more basic level, however, it
underscored the viability of cloud concepts and the usefulness of
cloud infrastructure as a general frame for thinking about and
“doing” IT, regardless of context. It was a proof of concept of what
advocates of converged infrastructure—a model in which virtualized
compute, storage, and network, resources are pooled and shared as
needed—have long argued: that the cloud must come to the enter‐
prise…and that the enterprise must come to the cloud.
vi | Introduction
CHAPTER 1
The Cloud and Business
Transformation
1
debt. Cloud migration does not magically fix these problems; how‐
ever, it gives an organization a long-overdue opportunity to address
them.
In the second place, the cloud is not just a means of driving down
costs or of fixing problems, but of transforming IT operations—and,
in the process, transforming business operations, too. The migration
process gives business and IT stakeholders an opportunity to talk
about what is new, different, and advantageous about the cloud. For
example, what business benefits should the organization expect to
realize by relocating its business applications to the cloud? How do
cloud features such as elasticity, redundancy, security, and the ability
to rapidly provision new resources translate into business benefits?
What new types of use cases, practices, and users can the business
enfranchise by migrating applications to the cloud? The logistics of
the cloud open up new opportunities for exposing business func‐
tions to customers, partners, suppliers, and other consumers; the
cloud’s colocality with useful machine learning (ML), artificial intel‐
ligence (AI), automated security, data integration, software develop‐
ment, and other services makes it easier for developers to
incorporate advanced features into the apps and services they build.
The combination of these benefits makes it possible for the business
to develop new products and services, pursue new initiatives, firm
up new kinds of partnerships, and pursue other new opportunities
for innovation.
This ebook will explore not only the what and how of migrating
business applications to the cloud but, most importantly, the why.
Enterprises are under enormous pressure to do something strategic
about cloud migration. The early cloud use cases—which tended to
take the form of tactical migrations, with an emphasis on reducing
or eliminating especially costly apps or services—have played out.
The priority now is to develop a rational, prospective, purposeful
cloud migration strategy; to balance and rationalize investments in
cloud infrastructure over and against investments in on-premises
infrastructure, and to hash out a strategy in which the cloud—be it
the on-premises private cloud, the hyperscale public cloud, the pub‐
lic cloud marketplace, or (a recent innovation) the on-premises
public-private cloud—is at least on equal footing with traditional
on-premises IT infrastructure.
1 See CEB Consulting, Key Findings from the IT Budget Benchmark: 2015–2016, 2015, 17.
CEB found that IT spending on maintenance declined from 63% in 2011 to 57% in
both 2014 and 2015. As maintenance costs decreased in 2014 and 2015, CEB showed
organizations allocating a slightly larger share of IT spending (33% in both years, as
against 32% or less from 2011–2013) to “business opportunity and innovation.” (2016
is the last year for which CEB provided data; it was acquired by Gartner Inc. in 2017.)
A useful comparison is the US government, which in 2019 allocated fully 80% of its IT
budget to “Operations and Maintenance.” (A large chunk of this spending was used to
support and maintain legacy systems.) In other words, only about 20% of federal IT
spend was directed to what budget analysts described as “Development, Moderniza‐
tion, and Enhancement.” See US Government Publishing Office, Efficient, Effective,
Accountable: An American Budget—Analytical Perspectives, February 2018, 223, for
more information.
1 See Nutanix Enterprise Cloud Index: Enterprises Embark on Hybrid IT Journey, 2020. In
this report, 86% of respondents identify hybrid cloud as their “ideal” operating model.
Also, in the 2020 Denodo Global Cloud Study, hybrid cloud deployments comprise just
under half (42%) of all cloud deployments, with 18% of respondents pursuing public
cloud deployments, 17% private cloud, and 11.1% multicloud. N.B.: Both Nutanix and
Denodo are software/services vendors, which—as regards the impetus, if not the results
of their studies—could have a bearing on their findings.
9
One of the most common cloud migration scenarios entails moving
a portion of an organization’s on-premises applications, services,
and data to a public cloud infrastructure as a service (IaaS), which is
roughly analogous to the on-premises data center. Other common
variations are cloud software as a service (SaaS) and platform as a
service (PaaS); these are application and platform services that aim
to mask much of the complexity involved in configuring, managing,
and maintaining IT resources.
This chapter will explore not only what cloud migration is but also
the different types of cloud migration scenarios. It likewise addresses
a few of the considerations—both common and esoteric—that
would-be adopters should keep in mind as they plan their on-
premises-to-cloud migrations.
2 In the last decade, on-premises functions (and, in some cases, entire applications) have
gradually shifted to the cloud, too. The upshot is that some definite proportion of an
organization’s custom-built applications are already exchanging data with cloud
services.
17
not only the IT people who manage cloud resources but the
businesspeople (along with customers, partners, and other
stakeholders) who use and consume these resources.
Improvements in application performance and reliability
Upgrade cycles in the cloud occur more frequently; providers
regularly replace hardware with new, more powerful, more
efficient kits. The upshot is that—even allowing for the virtuali‐
zation penalty that is a feature, not a bug, of cloud infrastructure
—applications and services should perform and behave more
predictably in the cloud. Don’t forget that cloud architecture is
designed for resilience at massive scale; because underlying
hardware resources are abstracted by software, problems with
these resources can be abstracted—architected around, so to
speak—with software, too.
Other improvements include greatly simplified IT infrastructure
(subscribers are not responsible for maintaining the hardware and
infrastructure software that power cloud services) and improved
collaborative capabilities. Public cloud services, in particular, are
designed for remote access by default: employees, customers, part‐
ners, etc., can access resources from anywhere.
1 For all practical purposes, the term “cloud infrastructure” describes a combined model
that emphasizes different kinds of virtualization, software automation, hardware den‐
sity (from the cloud provider’s perspective), and—a function of all of these—resource
pooling. That said, several providers offer nonvirtualized “cloud” capacity, too; that is,
bare-metal systems running nonvirtualized operating system, database, middleware,
application, etc., software. This model is analogous to that of the early application ser‐
vice providers (ASP), which exposed nonvirtualized operating systems, apps, middle‐
ware, etc., as “services” that (in the background) were configured, hosted, and managed
by the ASP. In practice, bare-metal schemes such as this are useful in cases in which a
legacy application, service, workload, etc., will not perform predictably in virtualized
infrastructure.
2 Cloud providers make money by maximizing utilization across all of their virtual
resources. If some proportion of these resources is idle, providers offer temporary dis‐
counts—so-called “spot” pricing—to encourage uptake.
3 Most business application services boast compliance with dozens of public sector and
industry-specific security standards.
The inconvenient truth about cloud resources is that they are inex‐
pensive… until they are not. A large organization that fails to prop‐
erly anticipate the resources its applications will consume in the
public cloud could incur significant monthly charges. This is not
just a problem of resources running wild in the hyperscale public
cloud. Rather, it stems from an essential difference between the way
software performs in the public cloud as distinct to the on-premises
data center. As a general rule, software that runs in the public cloud
usually requires more resources to perform the same operations
than software running in on-premises systems. The good news is
that the economics of the cloud model make it possible—and, for
many purposes, cost-effective—to solve most, but not all, scaling
problems.
Estimating Costs
Cloud service providers offer different kinds of fixed-pricing mod‐
els. The basic rule is that they charge customers a predetermined
price for cloud resources, sometimes for the duration of a lease
period, sometimes on a rolling basis (i.e., per minute, hour, day,
week, etc., of use).
So far, so good. But different cloud providers offer different types of
fixed-price leases, and some fixed-pricing models are more favora‐
ble to certain use cases than others.
27
For example, some cloud providers offer a subscription pricing
option in which customers are charged for a definite reserved
amount of compute and storage capacity. (Note: This fixed price
typically does not include region-to-region data transfer costs or
outbound data transfers that leave the provider’s cloud infrastruc‐
ture.) So an IaaS subscriber that reserves 32 virtual servers and a
total of 100TB of cloud storage pays a fixed monthly fee for this
capacity, regardless of whether it uses all of it. This subscriber must
pay a per-GB fee for outbound data transfer, too. Or a PaaS database
subscriber pays for a definite reserved amount of compute power
and a definite reserved amount of storage. The benefit to the cus‐
tomer is that costs are predictable and—over a long enough lease
period—comparatively low. The caveats are obvious, however; the
customer must have a high level of trust in the cloud provider as
well as an excellent understanding of the IT resources it will require
in the cloud.
Some cloud infrastructure providers charge strictly on the basis of
usage. To refer to the earlier example, rather than the subscriber
leasing a definite fixed amount of capacity at all times (that is, 32
virtual servers and 100TB of cloud storage), it pays only for the
capacity it actually uses during the time period that it uses it. In all
hosting regions, subscribers will pay more for cloud capacity during
the business workday than at night, for example, because they use
fewer resources (and so are charged less) after hours. The advantage
of usage-based pricing is that subscribers pay only for what they use;
the drawback is that usage-based pricing is typically more expensive
than subscription pricing. In usage-based pricing schemes, too, sub‐
scribers pay a fixed price for outbound data transfer costs.
These are high-level descriptions that mask a great deal of variation
and complexity. For example, most hyperscale providers also charge
for cloud capacity on a per-service basis: a customer signs up for a
relational database service, along with data warehouse, general-
purpose compute, general purpose storage, and one or more cloud
data integration services. Each of these is exposed (and billed) as a
distinct service; each has its own fixed (per-minute, per-hour, per-
month) charge. And, again, all providers charge more for data
egress than ingress. The problem is that egress charges can be espe‐
cially difficult to anticipate and/or account for in budgeting. Some
subscribers will be surprised if/when the cost of a cloud service
1 In this context, “best-in-class” is not marketing boilerplate; these are cloud providers
that acquired third-party vendors that once marketed standalone data replication and
data synchronization products. Some built robust data replication and data synchroni‐
zation features into their core relational database products.
2 See Chris Pang, John Kostoulas, Neha Gupta, and Supradip Baul, Market Share: Enter‐
prise Resource Planning, Worldwide 2019 (Gartner Research, May 29, 2020). The report
cites 8.8% ERP market growth year-to-year from 2018–2019 and lists a prominent
cloud-first vendor among the top three ERP vendors overall.
3 See KPMG International, The Future of HR 2019: In the Know or in the No, 2018.
According to this report, almost one-third (32%) of HR executives invested in cloud
HR services in 2017 and 2018, while 49% invested in HR (or “human capital manage‐
ment”) software over the same period. For both 2019 and 2020, majorities said that
they expected to prioritize HR-related investments in predictive analytics (60%) and
enhanced process integration (53%). Almost half (47%) expected to prioritize HR-
related AI investments. On balance, executives say that more than one-third (36%) of
their HR functions already incorporate AI-like capabilities.
4 See Robert DeSisto, Software as a Service: Uncertainties Revealed (Gartner, 2019).
DeSisto’s comments are specific to SaaS CRM, although it is not clear that Gartner dis‐
tinguishes between SaaS and PaaS in this space. He notes that a single cloud CRM ven‐
dor—namely, the earliest and most prominent—accounts for about half of the entire
cloud market, as well as almost 15% of all enterprise SaaS spending.
39
determine to scrap the application and rewrite it from scratch, pref‐
erably using languages, tools, libraries, services, etc., that are
exposed in the cloud environment.
1 As with all analogies, this one breaks down to the extent that there are specific chal‐
lenges bound up with building, managing, and especially scaling distributed microser‐
vices that are just not applicable to Unix system software development.
2 See Steve Swoyer and Mike Loukides, Microservices Adoption in 2020 (O’Reilly, 2020)
for more information.
Cloud migration is inevitable. This does not mean that all on-
premises IT resources will move to the public cloud. It does mean
that a majority of on-premises resources will move to a cloud con‐
text of some kind, be it an on-premises private cloud, a public cloud
infrastructure service, public PaaS or SaaS services, or some melding
of the two, such as an on-premises public-private cloud.
Enterprise applications are no different. The functions that on-
premises ERP, SCM, HR, CRM, and other systems provide will
move—in whole or in part—to ERP, SCM, HR, CRM, and other sys‐
tems in the cloud. Count on it. So it is that the impending migration
of these systems and the applications they support to a cloud context
comprises a once-in-a-generation opportunity for vendors of every
stripe—and not just for established on-premises players, but also
dozens of different cloud-only providers. Under normal circumstan‐
ces, it is staggeringly difficult to convince a large organization to
move off of its core enterprise applications stack onto a comparable
stack that is provided by another vendor. The systems themselves
are so complex and so thoroughly interpenetrated with business
operations as to constitute contextually immovable objects.
But cloud migration is an exception; it is a once-in-a-generation
opportunity for transformation—for customers and vendors alike.
45
Cloud Is a Model of Shared Opportunity—and
Responsibility
Cloud’s cost advantages are impossible to ignore, as are its advan‐
tages with respect to IT agility and flexibility, to say nothing of its
role as a catalyst for business transformation. The logic of cloud,
with its emphasis on the abstraction, decoupling, and pooling of
resources, has already helped purge IT of prejudices and shibboleths
that had constrained its—and the business’s—freedom of action
since the earliest days of information technology.
To be sure, problems such as technical debt do not disappear in the
cloud; in the cloud, as in the on-premises enterprise, an organiza‐
tion that designs and maintains applications or services of its own
will incur technical debt, full stop. However, the interest payments
on this debt are, in a sense, halved. The cloud model is one of shared
responsibility. The cloud service provider, not the subscriber, is on
the hook for securing, managing, and maintaining infrastructure
hardware and software; subscribers have their own responsibilities
with respect to defining (and enforcing) best practices with respect
to information security, data governance, and other essentials.
In the same way, it is incumbent upon subscribers (or architects and
developers) to refactor and, if necessary, rewrite apps and services to
comport with whatever changes cloud providers introduce. (In the
cloud, as in the on-premises enterprise, to introduce a new API and
to deprecate an existing API is to break stuff.) These problems do
not disappear in the cloud. But a big chunk of the problems that are
bound up with the software development life cycle in the on-
premises environment do cease to be problematic.
And, yes, there are risks. We have seen this on the consumer side, as,
for example, when a cloud provider has eliminated a (usually free)
cloud service it once touted with a surfeit of hype or fanfare. But
there are good reasons to believe that things will be different in the
case of enterprise-oriented cloud services, starting with the leasing
contracts, service-level agreements (SLAs), and even terms-of-
service that cloud providers offer to their enterprise customers.
Other risks include the possibility that a cloud service provider
could fail, that it could get acquired by one of its competitors, or
that—owing to a combination of factors—the cloud hosting experi‐
ence could change for the subscriber. But these risks are commensu‐
46 | Conclusion
rate with similar risks in the on-premises environment, where
vendor lock-in, the acquisition of one software vendor by another,
the elimination of favored products or product features, etc., are
known risks. In both contexts, organizations employ strategies to
hedge against risk and to mitigate the fallout of unexpected events.
Cloud does not give subscribers license to shrug off real-world risks.
Conclusion | 47
multilevel SLAs that are typical in the enterprise. At a bare mini‐
mum, cloud SLAs should clearly stipulate that subscribers own their
application and use data as well as their custom-built apps. Some
providers offer customer-based SLAs, which guarantee that all sub‐
scribers will have the same levels of performance and availability for
a specific type of cloud service. Hyperscale providers offer
customer-based service-level tiers that specify performance and
availability criteria and are usually warranted for specific latency
baselines. Some cloud providers offer customer-friendly terms for
data ingest (with respect to initial bulk loading and ongoing bulk
data movement) and data egress (i.e., outbound data) especially for
data transfers between and among intracloud regions and/or sup‐
ported third-party cloud infrastructure services. With respect to the
performance of critical systems (such as databases, data warehouses,
and enterprise applications) in the cloud, PaaS providers tend to
offer SLAs that are more customer-friendly than those of IaaS SLAs.
The reason for this is simple: in the PaaS model, the provider itself is
responsible for managing and scaling the service (as well as the
underlying virtual resources that power the service), which makes it
possible for PaaS providers to support more granular performance/
availability criteria. In the IaaS model, by contrast, subscribers are
required to configure, maintain, and scale virtual resources and
software.
48 | Conclusion
trigger one or more predefined actions. A large PaaS provider might
host thousands or even tens of thousands of subscribers; this gives it
a huge data set with which to train the ML models used to power
rule-driven AI remediations. This same data will also hold valuable
clues as to generalizable tasks, processes, or use cases that cloud pro‐
viders can automate (via rule-driven AI) or simplify (via ease-of-use
wizards).
The point is that the distinctive strengths of the PaaS model—the
number and variety of its ease-of-use features and amenities and the
sophistication of its ML-powered, rule-driven automations—will
improve over time. The PaaS cloud of 24 months from now will
boast lower latencies, superior elasticity, more granular provisioning
capabilities (that is, with respect to the allocation or deallocation of
compute, memory, storage, and other resources), and improved
“smart” automation features. Count on it.
Conclusion | 49
in the cloud. To cite one example: many cloud providers expose
their ML, AI, and developer services as managed platforms. This
means that—in contradistinction to a conventional application
server, a service-orchestration platform, or any similar platform in
the on-premises context—cloud subscribers are not responsible for
provisioning the infrastructure hardware or maintaining the infra‐
structure software that hosts and orchestrates the services they
develop. This is the stuff of radical transformation. The efficacy,
agility, and scalability of prior service-oriented regimes were always
already constrained by the requirement that IT itself purchase, oper‐
ate, and maintain infrastructure hardware and software. And the
maintenance of infrastructure software, in particular, was a huge
pain point (and source of technical debt) for IT on an ongoing basis.
Final Thoughts
The stresses induced by the pandemic demonstrated the essential
fragility—the conspicuousness—of conventional IT infrastructure.
Compared to the plasticity of cloud infrastructure, on-premises IT
infrastructure is analogous to a proverbial glass house. By turns
intricate, involute, and baroque—sporadically elegant, even—it is
inescapably brittle. If or when conditions change, conventional IT
infrastructure has little margin for shrinking or stretching; stress it
too much, and it must shatter.
This is not to reject the viability of on-premises IT infrastructure; it
is, rather, to make two points: first, that on-premises IT infrastruc‐
ture must evolve to mirror cloud infrastructure (e.g., by emphasiz‐
ing pervasive automation, increased hardware density, and large-
scale virtualization, especially with respect to the abstraction and
pooling of resources); second, that a focus solely on cloud migration
misses this point. Cloud migration is not a one-and-done, one-way-
only affair; it is conceivable, after all, that workloads and processes
that move to the public cloud could, under certain conditions, come
back again—for example, to run on virtualized resources in the con‐
text of on-premises converged infrastructure. (In its most basic
sense, “converged infrastructure” describes a model in which com‐
pute, storage, network, and other resources are pooled such that
they can be allocated dynamically as needed.) It is likewise conceiva‐
ble that workloads and processes could shift back and forth between
different cloud contexts: the public cloud, the on-premises private
cloud, and on-premises environments with public cloud capabilities.
50 | Conclusion
To return to the prior example, converged infrastructure is inclusive
of both on-premises and public cloud infrastructure. The practical
benefits of convergence—the improved scalability, availability, and
resilience of IT resources—are the same regardless of context. These
benefits are strongly associated with cloud service providers, but the
outsized success of the public cloud obscures the important point
that cloud infrastructure is an organic outgrowth—an evolutionary
enhancement—of the IT organism itself. What we are describing,
then, is less a process of migrating business operations to the cloud
than one of incorporating the cloud into business operations. Both
the public cloud and the on-premises enterprise are sites of conver‐
gence; both converge upon, and with, one another.
An organization is not riven in half if it extends its IT infrastructure
and operations to the cloud context; rather, it becomes a new, differ‐
ent whole. The cloud (i.e., cloud concepts, cloud-like infrastructure)
has a home in the on-premises enterprise, too. A cloud strategy
must keep this in mind. The point of extending one’s operations to
the cloud—public or otherwise—is not (just) to slough off legacy,
costly, or unreliable resources; nor is it (just) to better position one‐
self to navigate shocks or disruptions. And it is not (just) adjunct to
a strategic effort to improve or transform the business. These are all
benefits of cloud (i.e., of the incorporation of cloud concepts and
cloud-like infrastructure into the organization and its operations).
But the reason for doing this is that cloud concepts and cloud-like
infrastructure are an organic part of, are bound up with, the growth
and development of the enterprise itself.
Conclusion | 51
About the Author
Steve Swoyer is a writer, researcher, and analyst with more than 20
years of experience. His research focuses on business intelligence,
data warehousing, and analytics, as well as edge issues in data sci‐
ence, machine learning, and artificial intelligence. Steve enjoys
researching and writing about emerging trends and potentially
transformative ideas in systems design and architecture. As an ana‐
lyst and researcher, Steve explores trends in distributed systems
architecture, cloud native architecture, and other emergent subject
areas. He is a recovering philosopher with an abiding interest in eth‐
ics, philosophy of science, and the history of ideas.