Cloud Computing Ultimate Guide in 2021

INTRODUCTION

Cloud computing is the availability of on-demand computing resources, including storage and computing power via the internet or intranet (private cloud).

  1. Cloud computing explained with a simple example.
  2. Use case for Cloud Computing- Why is cloud computing used?
  3. Characteristics of Cloud Computing
  4. Cloud Computing Architecture
  5. Cloud Computing Types
  6. IaaS
  7. SaaS
  8. PaaS
  9. Serverless
  10. Types of Cloud implementations
  11. Public Clouds
  12. Private Clouds
  13. Community Clouds
  14. Hybrid Clouds
  15. Major differences between public and private cloud models.
  16. Services Of Cloud Computing
  17. Cloud Migration Strategy
  18. Types Of Cloud Migration Strategies
  19. Challenges in cloud migration
  20. Applications of Cloud Migration

1) Cloud computing explained with a simple example.

Ever wondered of a situation where you are in need of a personal desktop for a temporary period with the flexibility of using any operating system on multiple configurations? Your only way out is cloud computing. Cloud computing is nothing but the availability of computing resources like storage or a whole machine complete with CPU, memory and storage, over the internet.

It’s like, you have your own machine installed with custom software residing somewhere on the internet and exclusively accessible to you. So, you have a windows machine, and you want to try out an open-source operating system, or you have an app that needs to be run on a Linux machine.

You have two options, either buy another machine with the required software or partition your machine to install the specific version of Linux you need. What if you want to build and test your app on multiple flavours of Linux? Will you continue creating partitions on your machine? As you might have realized, there is a limit to that. Buying another machine is not economically feasible.

With cloud computing, you have the flexibility of choosing your own configuration, the operating system of your choice and for the time period that you need, even just paying for what you use, nothing more. Now scale that situation up to an enterprise-level, and you will realize the use case for cloud computing.

If you are wondering what the term cloud represents, it represents virtual hardware resources like computing, storage, software, and more that you have access to, via the internet. Cloud computing was first mentioned in a Compaq internal document as early as 1996 but was popularized by Amazon to release Elastic Compute Cloud. 

Cloud in the pre-cloud era was used to represent a network of computing equipment, represented first in the original ARPANET documentation as early as 1977. A diagram might be able to represent cloud computing in the right perspective.

Source: https://www.elprocus.com/cloud-computing-technology/

2) Use case for Cloud Computing- Why is cloud computing used?

Let’s look at the need for cloud computing from an enterprise perspective. When your business is growing, and you foresee a burgeoning workforce, you need to scale up your infrastructure to be able to support the growing business. This comes at a cost.

You will have to first hire people who have expertise in setting up computing infrastructure from the ground up. You will have to invest in computing hardware, software, networking hardware, communication software, or data centres. With cloud computing, you do have to hire some services that help you plan your scale-up and design your infrastructure, but you would not have to invest upfront in computing hardware, networking hardware and software or data centre infrastructure. 

It is also about owning infrastructure, but the hardware you purchase will also require IT workforce for setting up and maintaining the hardware. It is a big upfront cost for a scale that might go anywhere, either up or down, depending on how well your business scales in the coming years.

It leaves you inflexible and stuck with your investment in case you have to downsize. With cloud computing, you have little investment upfront and you are left with a great deal of flexibility. You can scale down or scale-up in response to your business demands easily while paying only for what you use all that while.

3) Characteristics of Cloud Computing

Hosting services on the internet loosely amounts to a cloud service, but certain features define today’s cloud services. Some of the major characteristics of cloud computing are discussed briefly below.

  • Hardware and Software resource pool 

The cloud computing service provider invests in all the data centres and manpower to maintain all that hardware. Also involved is the cost of real estate and network bandwidth across countries and even continents. This hardware, software, and other related resources makes for a huge pool of resources, each enumerated and listed, to be made available to many clients in various configurations.

  • Available on-demand

These resources pooled and enumerated should be made available for quick provisioning through a self-service portal. Provisioning should happen in minutes, unlike on-premises systems, where provision might take hours or in some cases even days. A convenient billing model that tracks your purchases and provisioning and provides you with a detailed billing statement every month is also considered an important feature in a public cloud setup, to support the pay-as-you-go model.

  • Overbooking of resources

Cloud services turn their huge upfront investment into profits by selling pieces of hardware and software over the internet to multiple clients. They can turn profitable only if most of their resources are running at near full capacity. Practically, not all applications and services operate at their peak capacity all the time. Cloud providers make use of this fact and overbook their resources to be able to maximize capacity and revenue. This characteristic of cloud services helps them generate enough revenue and stay green on the financial side.

  • Elastic Scalability

Scalability is the system’s ability to dynamically increase its capacity to handle a sudden surge in demand. Elastic scalability is an important characteristic of cloud computing without which it wouldn’t be as appealing to customers. With Elastic scalability, you can scale up or wind down your infrastructure, based on demand.

As an example, if you foresee a huge jump in customer traffic on your online store during a promotional event, you could bump up capacity by kicking in some additional servers, and as soon as the event is over, you could restore your infrastructure back to the pre-event levels.

  • High Availability, Redundancy, Continuity of Operations and Disaster Recovery

All must-have features for a cloud computing service, these features ensure minimum data loss if any and minimum disruption of service to the client even in the face of disasters like natural calamities. 

  • Multitenancy

Multitenancy is a key characteristic of public cloud computing services. Cloud service providers, host data and applications of multiple customers on the same shared resource pool, maintaining them in their own individual silos. Even in case of a private cloud, several departments are hosted on a single cloud which is in turn hosted on a dedicated data centre.

  • Measured Service

With a pay as you go, model, cloud computing services must have a system in place to measure usage of resources down to a fraction of a second. This enables truly pay as you go service, making it an appealing feature for customers.

  • Service Level Agreements

A guarantee on a certain level of availability, performance or capacity is particularly important for enterprise customers. Cloud service providers should be able to offer such SLAs and consistently meet them.

4) Cloud Computing Architecture

A simple architecture of Cloud Computing depicts it as having two important interfaces to it, a front end that offers the services on a web interface and a backend that holds all the resources, including application software, hardware, databases, resources, storage, computing resources, at various locations interconnected via the internet.

  • Front End

The end-user interface can be anything from an app to a website from where a customer can subscribe, log in, and provision resources for business use.

  • Back End

The backend is pretty much everything else in the system. From computing resources and storage to services like IaaS (Infrastructure as a Service), SaaS (Software as a Service) and PaaS (Platform as a Service) among others. The back-end resources are never hosted in one geographic location; they are spread across strategic locations worldwide, with a certain level of redundancy built-in, to ensure protection against data loss due to natural calamities.

5) Cloud Computing Types

Computing services offered on the cloud for businesses are categorised broadly into four services, IaaS (Infrastructure as a Service), SaaS (Software as a Service), PaaS (Platform as a Service) and Serverless.

6) IaaS

In this case, the whole infrastructure is offered on the cloud. Infrastructure here refers to servers, data centres, storage space that traditionally had to be bought by a business and placed in real estate space with IT personnel to design, setup and maintain them. With IaaS, it is possible for the business to get this infrastructure up and running in a matter of minutes or hours without investing in the rich hardware and paying only for the usage. A good analogy is of a cybercafé. You visit the cybercafé to get access to a machine that is connected to the internet and probably is also wired up to a printer. You use the services, pay and carry on.

IaaS is flexible to scale up or down based on demand, enabling you to pay only for the infrastructure you use. IaaS include broadly three types of hardware,

  • Storage and servers
  • Networking /firewalls/security
  • Data Centre physical plant/building

Use cases for IaaS

  • Test and Development

Development teams can quickly provision development and test environments for themselves, helping to shorten the time to market. With IaaS, applications can be tested for high or low demands and in multiple environments much quicker than traditionally as possible.

  • Website Hosting

Gain back more control of your website by hosting on IaaS than traditional web hosting. Also, you save time on updating your websites while being less expensive than the traditional hosting methods. Switching your website over to another platform is a breeze with IaaS.

  • Storage, backup and recovery

Data storage with backup and recovery in today’s world is a complex system that businesses can avoid by transferring all this complexity to the cloud service provider. Data storage also needs to meet some legal and compliance requirements, which now with IaaS, is a liability of the cloud service provider.

  • Web apps

All the infrastructure required for web apps can be provisioned on the cloud. Businesses can quickly deploy apps and scale up or down, on-demand.

  • High-performance computing

Processing power, guzzling applications like genome sequencing, earthquake simulations, financial modelling, climate and weather predictions among others are all now possible on the cloud.

  • Big-data analysis

The huge amount of processing power that Big Data analysis requires is just the kind that IaaS can offer minus the upfront cost. 

Advantages of IaaS

  • Upfront capital is eliminated

IaaS is a boon for start-ups and new business ideas, as it takes hardly minutes or hours to get going with your new idea, without having to splurge on expensive hardware upfront.

  • Business Continuity and Disaster Recovery

It is critical for a medium to large scale business that they have a business continuity plan for disasters or other external factors that impact the business. Although this is an important facet of the business, it is not core to running the business, and your precious time and efforts are consumed. With IaaS, almost all of your worries get transferred to the cloud service provider which is bound by an SLA, to ensure that your business continues to run in the face of a disaster or outage.

  • Facilitate rapid development

In today’s cut-throat competition, there is no time to invest in things other than core development, testing and deployment. IaaS allows you to do just that, letting you develop faster, deliver to market faster, giving you a better opportunity to capture the market.

  • Agile response to changing business conditions

With a traditional setup, you have to bake in, spikes in demand, during your initial round of infrastructure procurement. With IaaS, one- you don’t have to invest for the spike in demand upfront and two- you can quickly scale up your servers during the spike and wind down easily once the spike settles.

  • Increased reliability, stability and supportability

In an on-premises set up, the onus of upgrading software and hardware is on you. Any new security update, critical to security will need to be monitored by IT staff and installed on the entire installed base, which can take several weeks to months. In IaaS, all such upgrades and security patch updates are taken care of by the cloud service provider. 

7) SaaS

SaaS makes it possible to make software applications available over the internet via a browser. These are cloud-based apps residing on the cloud, running on the cloud servers and only rendering results on the webpage. Common examples of SaaS that you might be able to relate to are email, calendaring tools or even Microsoft Office 365(online). Billed on a pay as you go model, this kind of service can be an individual license like in calendaring tools or a multi-licensing arrangement like Microsoft Office 365 for business. All of the underlying infrastructure, both hardware and software, are hosted on the cloud.

You would typically use SaaS when using web-based applications that you run through your browser or a mobile phone app. Examples include email, weather app, navigation, productivity tools and more. Nowadays many applications are run from the web, with the important processing happening at the backend. Sophisticated business applications like CRM, ERP are also available as web applications, with the implementation pertaining to your organization hosted securely on the cloud.

Advantages of SaaS:

  • Installation free apps. 

With almost the entire application (even the enterprise-scale ones) installed on the cloud, acting as both server or client, depending on who logs in, this setup does not need any client software to be installed on the user machine. All one needs is an internet-connected device with a compatible browser.

  • Access to sophisticated applications

SaaS makes it possible for organizations who do not have the starting capital to invest in big enterprise-wide applications like CRM or ERP but can sustain with the pay as you go model. 

  • Pay as you go

SaaS services automatically scale based on the level of usage, an economical proposition, especially for start-ups.

  • No Client Software

SaaS allows you to run apps of any scale, directly from the web browser. The need to install client software on every client machine by IT staff is completely eliminated.

  • Nimble Workforce

SaaS brings in the flexibility of running the application on any internet-connected device. This means your workforce is able to connect from any location and access information that might be useful to close a deal probably. 

  • Latest software

SaaS will ensure you always have the latest version of the software against the traditional system of ensuring that each client installed software is updated, which could take weeks to months in case of an enterprise installation.

8) PaaS

Platform as a Service is an environment which provides end to end support for development and deployment in the cloud for your apps or full-blown web applications.

PaaS is a superset of IaaS, not only including servers, storage and network infrastructure but also middleware, tools and libraries for development, databases management systems, business intelligence services and more. Along with the benefits of IaaS, PaaS allows you to sidestep the complexity and expense of buying and managing software licenses, underlying application framework, container orchestrators like Kubernetes or Docker or the development tools and libraries. 

You will use PaaS typically to provide a framework for developers to build custom cloud-based solutions. PaaS lets developers put together with built-in components and build applications. The developers focus on the application logic as cloud features like scalability, high-availability and multitenancy are built into PaaS offering.

You may also use PaaS when you have your data stored on the cloud and use analytical software to mine your data, to find insights and predicting outcomes. 

Advantages of PaaS

Apart from the advantages that IaaS brings to the table; PaaS provides many other advantages.

  • Reduce coding time

With built-in components, PaaS helps to stitch together new apps that are quick to build. Components like workflow, security features, directory services and more are readily available for use.

  • More development with less developers

PaaS can help add more capabilities to your existing development team without the need to extend it for added skill set.

  • Easier cross-platform development

Many cloud service providers offer multi-platform development options for building highly responsive apps that are device-aware and adapt to the user device, be it mobile, tab or a computer.

  • Enterprise scale tools affordability

With the pay-as-you-go model, many cash strapped organizations, especially start-ups, now have sophisticated development and business intelligence tools at their disposal without upfront investment in rich software.

  • Geographically distributed teams

With the development tools accessible on any internet-connected device, you can have developers contribute from any location.

  • Complete application lifecycle management

PaaS provides the entire framework for building, testing, deployment, managing and updating within the same environment.

9) Serverless

Serverless is a cloud computing service which allocates machine resources on-demand, eliminating the need for infrastructure management in development, the cloud service provider automatically provisions, scales to demand and manages the underlying infrastructure to run the code supplied.

The term serverless is misleading. It is not truly serverless. It means the development does not have to consider a server in their scheme of things. They just need to develop the code around their business logic; the rest will be taken care of by the cloud automatically. This enabled the developers to increase their productivity and deploy faster than ever; more importantly, it enables teams to focus on what is most important, creativity and product innovation.

Advantages of Serverless computing

  • No Infrastructure Management

With serverless computing, the developers simply need to deploy code, purely focusing on business logic, ignoring administrative tasks, the computing environment will take care of the rest by automatically scaling on-demand and with high availability.

  • Dynamic Scale

Imagine not having to worry about scale when building your code. It makes matters so much simpler. The computing system will dynamically scale up or down to match the demand for any workload.

  • Faster time to market

With all operational dependencies taken care of by the cloud service provider, the development team can fully focus on just the business logic and deliver code quicker.

  • Efficient use of resources

Research has shown that the total cost of ownership comes down significantly after having moved to a serverless model; besides the business can reallocate resources towards research and innovation.

10) Types of Cloud implementations

Up until now, we have been talking about the cloud offering, mostly from the cloud provider side. Now let’s look at how things are at the implementation end, the customer side. How does a customer go about moving over to the cloud, what are the options available to move over to the cloud? 

The most crucial decision in your endeavour to move to the cloud will be to choose which cloud model to settle for. This decision will depend on your specific business requirements and demands.

Firstly, let’s look at the cloud deployment models available. The types defined by NIST (National Institute of Standards and Technology, USA) are 

  • Public Clouds
  • Private Clouds
  • Community Clouds
  • Hybrid Clouds

11) Public Clouds

Public clouds are clouds which allow the general public including individual customers and enterprises at all scales to use computing resources, both hardware (CPU, storage, memory, entire machines including the OS) and software (application server, database management systems, CRM, ERP) hosted on the cloud on an individual or multitenant subscription model. There is no kind of restriction on the use of this public cloud as long as you a business need to fulfil.

Public clouds are generally used for application development and testing, projects which do not need mission-critical setup such as email, file-sharing, calendaring applications. The critical point to note here is your data and system will reside along with data and systems from other public cloud users, although the cloud service provider does take care that they are all in their own independent silos and your data and system are not exposed to another customer on the same cloud.

Advantages of Public Cloud

  • Economical

Cost savings is the most critical benefits that public cloud offers over other models in most of the cases. Upfront investment in rich software and heavy hardware is not required, and you almost immediately start reaping benefits of the cloud infrastructure on a pay-as-you-go basis.

  • Maintenance Free

All upgrade, maintenance, security patches and compliance issues are taken care of by the cloud service provider.

  • Virtually limitless scalability

Based on the SLA agreed upon, you get virtually limitless scalability to enterprise levels and more. Based on the demand, your cloud infrastructure can be scaled up or scaled-down. Again, you pay for what you use nothing more and nothing less for sure.

  • High Reliability

Public clouds are optimised to be highly available even in the face of disaster. Based on the SLA agreed on, your servers enjoy high availability as well as robust disaster recovery plans.

12) Private Clouds

Private cloud is the delivery of computing services over the internet or a private internal network, but not available to the general public. Private clouds offer a higher level of security through the use of firewalls and internal hosting, ensuring better protection of sensitive data.

Unlike public clouds, the servers and data centres hosting your data and services, do not share space with data and services from other businesses. The downside to this is that it will have to have your own dedicated IT staff, responsible for designing, building and maintaining the infrastructure, thus requiring you to hire IT and management staff, adding to your TCO (Total Cost of Ownership).

Advantages of Private Cloud

  • Cost savings

In some cases, like hyper-converged infrastructure deployed as a private cloud solution turns out much less expensive than a public cloud when you consider TCO.

  • Efficiency & Control

With your data and services hosted on an on-premise data centre or a fully managed third-party data centre, you still have way more control of your data than a public cloud. Private clouds allow you to be flexible in response to business events. If your IT dept uses advanced analytics effectively, they can help predict bottlenecks and downtimes accurately and prevent loss of business.

  • Customization

Each business has its own challenges and strengths, depending on company size, industry, business goals among others, and a private cloud help by enabling you to adjust to your strengths and choose the infrastructure that best suits your long-term business strategy.

  • Security & Privacy

Compared to the public cloud, a private cloud being located separate from other instances and free from outside logins is far more secure than a public cloud. All data is stored and managed on exclusive occupancy servers. This ensures enhanced privacy. With your own IT staff managing the infrastructure, you also enjoy increased physical security.

  • Compliance

In case your business is set up in a country that has sensitive laws on data protection and privacy, the private cloud enables you to easily conform to the various compliance protocols and regulations that are laid down by such governments. You exercise full control over your data while also ensuring data privacy.

  • Business Continuity

While the contingency and business continuity plans of a public cloud are very enticing, there have been failures in this respect. Also, there is no guarantee that your public cloud provider will stay in business. If you think your business cannot take that risk, you are better off on the private cloud.

  • Geo specific availability

There are still places on the globe that do not have public cloud coverage. Your carefully chosen public cloud service provider might have planned its footprint well all across the world, but there are still some places around the globe that do not let you get to a public cloud. If you or your business wants to set up shop in such locales, you will only have private cloud as an option.

13) Community Clouds

A hybrid form of private cloud, community clouds are multi-tenant that enable different organizations to work on a shared platform. The driving forces behind this type of cloud are community projects that bring together various research groups, technology giants and investors on a single platform to enable centralized cloud infrastructure. 

The one advantage that Community clouds offer over other forms of the cloud is environmental sustainability. Here organizations come together to share one or more data centre or other resources. Without a community cloud, each of them would have had to spawn their own private or public clouds, working in silos. With lesser data centres being utilized to tackle the same problem that all organizations involved want to solve, you leave a smaller carbon footprint than otherwise.

14) Hybrid Clouds

Hybrid cloud, as the name suggests, is a combination of private cloud and public cloud offerings. It could be one or more public cloud services interfacing with the private cloud using proprietary software. With a hybrid cloud strategy, you get the best of both worlds, providing the flexibility of moving workloads between the two as needs and costs fluctuate.

A perfect scenario for a hybrid cloud implementation is when you have sensitive data which can be hosted on a private cloud while you use the computational resources available on the public cloud. In this setup, while you have to invest in the setup and maintenance of the private cloud, you can harness powerful software resources on the public cloud.

Advantages of a Hybrid Cloud

  • Better control and agility

Businesses can retain full control of mission-critical data and customize it to their specific needs. It is especially useful in the context of loss of service from the service provider.

  • Speed

One advantage of having networked applications on the private side of the hybrid cloud is speed. It allows IT staff to optimize the network and reduce latency. One of the approaches to reduce latency is Edge computing. Hybrid environments can take advantage of edge computing and setup crucial services closer to end-users.

  • Security

With a hybrid model, businesses can rely on the security of the private cloud while leveraging services of a public cloud. With IT staff exercising direct control over the structure of a private cloud, strict protocols can be enforced to ensure confidential data is not compromised in any way.

  • Scalability

Although private clouds ensure control and security of your confidential data, it also limits agility, increasing response times, making scalability a costly affair. With Hybrid cloud, you can enjoy the control and security of the private cloud as well as the expansive power of the public cloud.

Instead of building your own proprietary software or purchase multiple software licenses, for rich analytical computing, you can rely on public cloud offerings that feature powerful analytical tools, enabling your business to be more agile. What you get now is small businesses with the ability to scale to enterprise levels even with the limitations that private clouds inherently impose.

Having mentioned the various model’s available let’s also discuss what the primary differences between the two major implementations, public and private are:

15) Major differences between public and private cloud models.

Although we have mentioned the benefits of each in passing while discussing their features, we shall specifically delve into their differences in this section. In most setups, it boils down to the decision of selecting one over the other when it comes to cloud adoption. Let’s look at both the models and compare based on a few factors considered important in the IT industry.

  • Multi-tenancy

Public cloud offerings make a big shared resource pool available for use to all its clients in a secure and non-overlapping setup. In other words, a data centre belonging to a public cloud might house data from many of their customer all secure in their own silos. Private clouds, on the other hand, are for the exclusive use of the customer. The data centres and other resources used in a private cloud are for the consumption of a single client. The data centre may be a fully owned asset or a fully managed third-party asset.

  • IT Staff

With a public cloud, you are using the services on offer, the finished product, and you pay for just that. You need not worry about hiring the right IT staff, deploying them tactfully and to ensure they are productive. You cannot say so for the private cloud.

With a private cloud, you have to hire quality IT staff to be able to design a good solution, build it up with more IT staff joining in, and finally start enjoying the benefits of the cloud. It is not only about setting up the infrastructure, but you will need IT staff to maintain the setup through its life. Your total cost of ownership will increase over time with organic growth in staffing.

  • Adaptability

Every business has it is unique challenges and needs. It is difficult to pick up a publicly available solution, even with all its customizations, and try to match precisely to the needs of the business.

With a private cloud, having more control over the hardware and the software services, the solution is more adapted to the specific business needs and requirements. In other words, you get to customize your solution to your business better than a public cloud.

  • Security

It might not be possible for a public cloud service provider to offer custom security solutions. Public clouds have a basic security compliance model. They might be able to offer additional protection, but it is never close to what private clouds can offer. In a private cloud setup, your solution stands isolated, already providing you with a great deal of security. Since your solutions are bound tightly to the data centres you exclusively use, you can implement custom security solutions based on your specific business requirements.

  • Performance

With multi-tenancy, you have several businesses sharing the same shared resource pool. Although your own business is assigned its own silo, so to speak, it is susceptible to performance degradation or latency. If your business cannot take this risk, public cloud solution might not be a good bet. Private clouds are better off in this aspect, with dedicated resources and a hardware solution that is a close fit for your business demands.

  • Support and Maintenance

With Public clouds, everything from upgrade, repair and maintenance to software and hardware upgrades are managed by the cloud service provider. If you want most of your resources to stay focused on your core business, then a public model is the way forward.

With a private cloud, you being the owner of the cloud setup, are solely responsible for the upgrade, maintenance, repair and replacement of hardware and software resources on the cloud. If you have a fully managed third-party private cloud service provider, you need not worry about these administrative tasks, but this peace of mind still comes at a significant cost.

  • Responsiveness and Scalability

Public clouds offer unlimited scalability, sometimes even at scales that might sound impractical. Public clouds provide a self-service portal that helps you manage the cloud setup better, helping you to adapt to changing business conditions. Many components and resources on the public cloud can be configured to auto-scale basis certain business conditions. You even get a real-time report of how your cloud is performing.

With a private cloud, you are left at the mercy of your IT staff. Your response and level of scalability mostly depend on the response of your IT staff. Again, you could have your real-time reports available on how well your private cloud is doing, but it will need significant investment in cloud management software.

  • Connectivity

You can connect and manage your Public cloud via the internet. Internet connections are not a reliable option outside the developed world, even in these times. A blackout means you stay blind to what is happening on your cloud at least for that period. This is not the case with a private cloud. Private clouds do not solely depend on internet connectivity for administration and orchestration. Private clouds can use internet, fibre and private network.

  • Confidentiality

The public cloud is well suited for data that isn’t highly confidential. Although the data is hosted securely in their respective silos, it is still a risk that many businesses would not want to take. In a private cloud setup, you can trust the infrastructure with keeping highly confidential data safe enough. Private clouds are thus more suited for confidential information and core systems.

16) Services of Cloud Computing

There are a number of players in the public cloud market with the top ones being Amazon Web Services (AWS), Microsoft Azure, Google Cloud, IBM, Salesforce, Oracle and many more.

Public Cloud offerings feature a suite of services that include but not limited to

  • Analytics
  • Application Integration
  • Blockchain
  • Compute
  • Containers
  • Customer Engagement
  • Database
  • Developer Tools
  • End-User computing
  • Front-End Web & Mobile
  • Game Tech
  • Internet of Things
  • Machine Learning
  • Management & Governance
  • Media Services
  • Migration & Transfer
  • Networking & Content Delivery
  • Quantum Technologies
  • Robotics
  • Satellite
  • Security, Identity & Compliance
  • Serverless
  • Storage
  • VR&AR (Virtual Reality & Augmented Reality)

Important considerations before you migrate to cloud

So, you have finally made up your mind to move to the cloud. Have you thought through the process? Here are some must-do things before the jump.

17) Cloud Migration Strategy

A carefully thought-through process is essential when you plan such a big move from your brick-and-mortar setup to the cloud. There are many challenges on the way to cloud, and your strategy should count each and every one of them before you take the first step. A cloud migration strategy is a well thought out plan to move data and applications from an on-premises setup to the cloud, be it private, public or hybrid.

You have to also consider the fact that, not all workloads benefit from the move to cloud and it thus becomes important that you analyse and prioritize the different components of your present setup before going live. Your cloud migration strategy should be exhaustive, considering each component of your current backed by solid documentation.

Although the exact roadmap that is relevant to your business depends on the size and complexity of your business and its ecosystem, here are a few general and fundamental guidelines that will help you define your strategy better.

Plan the migration

You for one, should be clear why you want to make that jump. A good strategy is almost always based on a good assessment of the present business ecosystem. Start by assessing the current application resource requirements, looking at past highs and lows. Document each and every resource and map them to a resource on the cloud.

On the cloud a resource can be scalable, so you could start with a basic minimum performance level and arrange for it to be scalable based on some conditions that the business ecosystem might generate every time there is a spike in demand.  You would be better off hiring a cloud migration architect. The architect can be made responsible for planning and completing all necessary aspects of migration. The cloud migration architect should be able to 

  • Design strategies for data migration
  • Define cloud solution requirements
  • Determine migration priorities
  • Define production switchover mechanisms

Through the entire migrations process, there are many critical decisions and technical plans that must be drafted. Having a cloud migration architect spearhead the migration overlooking all the related aspects is crucial for a successful migration.

Decide on Public or Private cloud

While you can deduce the answer to this critical question based on the benefits one offers over the other and their main characteristics, jotting them down in the migration context works well.

Here are some if not all things to consider when deciding between public and private clouds.

Security and Privacy

The number one concern in today’s world is security and privacy. If your application deals with sensitive personal information or confidential data related to finance or health care, it’s safe to say that private cloud installations provide a safe and secure approach compared to public clouds. This obviously comes at a cost.

A fully managed private cloud might help you focus better on your business solution than the administrative noise around it. There are a number of ways to make a private cloud even more secure than on-premise solutions including, firewalls, SSL and app security methods and intrusion detection. Security measures can also be certified by a well-known industry body to ensure your private cloud is near fail-safe.

Performance and Availability

Performance and availability are virtually dependant on the capacity and occupancy of the infrastructure. With a public cloud, you have traffic from other customers hogging the resources. Although the public service provider has measures to ensure that your application will get the agreed-upon capacity and throttling, or scaling up on-demand, private clouds look more attractive when it comes to performance and high availability, only if the cost is not a significant factor.

If cost is a factor, you would have to weigh the uptime and availability metrics of a public cloud service provider. As a rule of thumb, this should be almost always above 99.5%. Enter into a suitable SLA with the cloud service provider that assures you uptime and availability above 99.5%. In case of an unexpected event like natural calamities, there should be redundant operations that can still keep your business up and running, albeit not at the performance levels of your primary infrastructure. Again, it all depends on the SLA that you agree on with the service provider.

Support and Self-Service

Public clouds take care of support and maintenance. The man-power required for maintenance of the hardware behind the public cloud is the responsibility of the public service provider. A self-service portal gives you the control required to tweak your infrastructure based on business conditions. While you can do the same in a private cloud setup, you would have to invest much more in IT staff, cloud management software and hardware upkeep.

Enhancements and Updates Policies

Here again, public clouds will appear as the best option, with all the updates and security patches carried out by the service provider as soon as they are available. Your IT staff does not have to delve into these details and can put their resources where it matters, core business functions.

With a private cloud, you have more control over the updates and enhancements. The control comes with the ability to defer updates until there is buy-in from all stakeholders and everybody understand the impact the updates have on the applications already deployed.      

Usability

Public clouds, unlike private ones, offer support for a wide array of technologies and frameworks making it an ideal platform for development and/or testing.

Migrating your apps and data

Be aware of cloud security concerns, compliance and regulatory policies. Also, you need to bake in a plan for data backup and recovery. Your SLA with the service provider should also include Business Continuity plans and Data Recovery solutions to mitigate against unexpected events like natural calamities.

Validation of successful migration

You need to ensure successful migration by validating the migration with a good amount of documented evidence. A comparison of application performance pre-and post-move to the cloud will be a good exercise to validate the migration within a safe test environment.

18) Types of Cloud Migration Strategies

  • Rehosting

Also called Lift and Shift, this strategy involves, moving the entire stack without making extensive changes, to the cloud. This strategy is usually employed for quicker ROI without innovating too much. Typically, in such cases, a long-term strategy for harnessing advanced cloud capabilities is missing here.

  • Replatforming

Replatforming is an enhanced version of rehosting. In this approach, while the core architecture of the application remains pretty much the same, the application environment is tweaked to perform optimally, taking advantage of enhanced scalability, security and user experience on offer.

  • Repurchasing

Repurchasing involves moving your applications to a new, cloud-native product. While this is a massive change, especially when moving from a highly customised, legacy application to a very agile and business-centric application, it might be a cost-effective move in the long run. For example, moving your custom-built CRM solution to Salesforce.

  • Refactoring

Also known as rearchitecting, is nothing but rebuilding your applications from scratch, possibly to a more cloud-native application, taking advantage of cloud capabilities like auto-scaling or serverless, that might not have been built into your legacy applications. As it might sound already, refactoring is one of the most expensive options but is also one that will help to build applications that are future compatible.

19) Challenges in cloud migration

  • Downtime

One of the most mission-critical factors that need to be considered during migration is downtime. You have to have support systems in place before the migration kick starts.

  • Data Loss

Data loss is of serious concern. Breach of data could possibly result in a loss of credibility in the market. A data breach can be mitigated by applying security controls such as privileged access management and end to end encryption.

  • Resource Management

There will be a need for restructuring your IT workforce with the introduction of cloud. You might either need to hire new staff that is experienced in cloud or upskill your existing workforce. With change comes resistance, and you need the management to drive this change seamlessly.

Benefits of moving to cloud

An elastic infrastructure is the core feature that prompts many businesses to take the plunge into cloud. Many of the benefits of moving to cloud stem out from this fundamental feature of cloud. Let’s look at some of them.

  • Decreased hosting cost

In an on-premises architecture, you have to invest upfront on not only the hardware but software and manpower, in case you decide to scale up your infrastructure. And then once you have got the infrastructure ready to scale, you are stuck with it, even when business is lean. With the on-cloud setup, you do not have to worry about the costs of procuring additional infrastructure or services. In the case of public clouds, it will auto-scale depending on your SLA. With private clouds, you would have baked in that demand when setting up the cloud infrastructure and so it is just a matter of scaling up or throttling.

  • Agility and Scalability

Cloud-based services, while automatically scaling to growing or fluctuating demand, also allow teams to collaborate from anywhere, on any device that has an internet connection.

  • Decreased Footprint

With auto-scaling, you would no longer need as many data centres as you did in the past, thus helping you reduce carbon footprint.

  • Disaster Recovery

For an on-premises setup, truly robust disaster recovery is a costly proposition. With cloud, especially a public cloud, this seems to be a reality even for small businesses today.

20) Applications of Cloud Computing

Theoretically speaking, cloud computing can be used for any application where computing power and storage is required. Some of the well-known applications in our world today are listed below.

  • Digital storage applications

There are a number of digital storage services like, Google Drive, Dropbox, Microsoft OneDrive, among others, that offer space for file storage on a subscription basis. The primary utility of these applications is that you can access your files from anywhere through an internet-connected device.

  • Productivity applications

A good example of productivity applications is Microsoft Office 360. It is an online office suite that both individuals and businesses can subscribe to. Although there are client-side software apps that are available for use, these applications do work in a browser too.

  • GPS Navigation applications

GPS navigation applications today are installed in almost every phone. The only information that needs to be supplied from your side is your GPS location information; the rest of processing and presentation logic is taken care of on the cloud.

  • E-commerce applications

E-commerce is one domain where both visitor traffic and transactions can shoot up very quickly and come down as quickly it went up. This unpredictability in demand makes for a good use case of auto-scaling that a cloud setup is able to provide quite easily.

  • Financial applications

Almost all banks now have both a web application as well as a mobile application to cater to digital banking. All these services are hosted on private clouds, helping banks to reduce footfalls at their branches and reduce operational costs.

Conclusion

While the benefits of migrating to cloud are well documented, it should be a carefully thought-out decision and a robust strategy should be in place before the jump is made. There are free trials available from leading public cloud service providers, as well as managed private cloud services. As they say, do not put all your eggs in one basket, it would be wise to test the waters first before you take the plunge.

Jigsaw Academy’s Postgraduate Certificate Program In Cloud Computing brings Cloud aspirants closer to their dream jobs. The joint-certification course is 6 months long and is conducted online and will help you become a complete Cloud Professional.

ALSO READ

Related Articles

} }
Request Callback