What every database professional needs to know about cloud migration
What is the cloud?
In 1961, Professor John McCarthy was the first to publicly suggest in a
speech at the centennial celebration of the Massachusetts Institute of
Technology that: "Computing may someday be organized as a public utility
just as the telephone system is a public utility. Each subscriber needs to
pay only for the capacity they actually use, but they have access to a very
large system. Certain subscribers might offer service to other subscribers.
The computer utility could become the basis of a new and important
industry."
Characteristics: Location-independent resource pooling, measured service,
on-demand self- service provisioning, rapid elasticity, and ubiquitous
network access.
Reasons to migrate to the cloud: Always-on architecture, automatic
monitoring and management, enterprise-class security, fast access to range
of resources, integrated disaster recovery, optimized infrastructure, and
simplified IT operations.
Deployment models: (1) Private cloud: Resources dedicated to a single
customer. (2) Public cloud: Resources shared by multiple customers. (3)
Hybrid cloud: Combination of shared and dedicated resources. (4) Community
cloud: Resources dedicated to a group of customers.
Service delivery models: (1) Software as a service (SaaS): Enables a user
to use and application without installing it on a computer or other type of
device. For example, cloud virtualized application. (2) Platform as a
service (PaaS): Allows third parties to build applications without buying
hardware or maintaining software. For example, cloud virtualized databases.
(3) Infrastructure as a service (IaaS): Provides hardware capacitates as
demanded by users to run their software services. For example, cloud
virtualized machines.
Ownership:
- | dedicated | infrastructure as a service | platform as a service |
software as a service
applications | customer | customer | customer | cloud provider
data | customer | customer | customer | cloud provider
middleware | customer | customer | cloud provider | cloud provider
operating system | customer | customer | cloud provider | cloud provider
servers | customer | cloud provider | cloud provider | cloud provider
storage | customer | cloud provider | cloud provider | cloud provider
networking | customer | cloud provider | cloud provider | cloud provider
Locations of databases:
- | on-premises | hosted off-premises | public cloud
resources | dedicated | dedicated | shared
databases on physical machines | yes | yes | no
databases on virtualized machines | yes | yes | yes
databases in private cloud | yes | yes | no
cloud virtualized databases | no | no | yes
Barriers to cloud migration: Cost for migrating from entrenched technology,
fear of major change, preference for established infrastructure, regulatory
compliance, security, and trust in stability of cloud provider.
Security concerns: Consistent policies across all systems, data privacy,
data protection (encryption and destruction), identify and access, network
security, sensitive data discovery and classification, threat defense
(updates, monitoring, and testing), and vulnerability scanning and
management.
Benefits: Agile, cost-effective, efficient, flexible, interoperable,
predictable performance, reliable, scalable, secure, and time-saving.
Disadvantages: (1) Lack of insight into the underlying systems when
troubleshooting problems. (2) Lack of options for scaling when not fitting
into prescribed offerings of cloud provider. (3) Lack of service due to
small ratio of number of staff at cloud provider versus number of
customers. (4) Risk of inconsistent performance due to lack of shared
resources.
Challenges: (1) Acquire skills to take advantage of cloud. (2) Create
processes to drive line-of-business cloud speed. (3) Exceed budget for
cloud. (4) Lack tools and processes to manage new procurement model. (5)
Move from capital expenditure to operating expenditure. (6) Suffer from
cloud failure due to human errors.
Steps for cloud migration:
(1) Adopt: Perform business case analysis, determine requirements, and
select service providers.
(2) Prepare for deployment: Develop migration plan, decide architecture,
and determine integration requirements.
(3) Deploy: Prepare systems, migrate together with cloud provider, and
verify migration.
(4) Monitor: Setup tools, set thresholds and benchmarks, and monitor and
adjust tools.
(5) Manage: Engage administrative processes, adapt to cloud-specific
details, and review procedures periodically.