Advantages and disadvantages of moving workloads to a Public Cloud

Advantages of Public Cloud

  • No requirement of IT investment 
  • Pay per Use
  • Elasticity/Scalability
  • Key services out of the box; increase speed deployment & Agility
  • Self Management-Automation
  • Global Deployment
  • Reliability
  • Cost
  • Security & Complaint
  • Ecosystem of additional services

Disadvantages of Public Cloud

  • Cost
  • Security & Compliant
  • SLA responsibility
  • Vendor Lock-in
  • Latency in Hybrid models

 

Let’s see in detail each characteristic of the public Cloud and when it is an advantage or inconvenience.

No requirement of IT Investment

It is one of the clearest advantages of Public Cloud , along with the payment per use. This capacity is what allows new businesses to take off without the need for heavy investments and the possibility of carrying out multiple tests and errors without financial consequences.
The saving of IT investments not only covers the HW, SW, Network and Security, but also the need for a CPD and all the expenses involved.

Pay per Use

The payment for use is one of the main characteristics of the Public Cloud that allows to pay exclusively for the use of a resource (time or requests) while it is active and to stop paying when it is inactive without any commitment of permanence.
The concept of pay-per-use has many nuances in the Public Cloud and it is fundamental to understand them. For example while executing a VM instance a charge is made for hours or minutes and when the instance is deleted the charge stops occurring. But there is also the option to stop the instance without deleting it where the charge would also stop (except for the reserved disk).
Another example is the functions where the concept of payment for use is mapped to the number of invocations regardless of the time that has passed between them.
Pay per Use is an advantage for variable workload, however, as we are going to see in the cost feature, for steady workload other options are better.

Elasticity/Scalability

Elasticity/Scalability is one of the best known features of the cloud public, but it has a trick. We are talking mainly about horizontal Elasticity/Scalability. The vertical scalability provided by the Public Cloud is limited and far from the high-end servers and mainframes of traditional companies. In addition in most of the Public Cloud the vertical elasticity is also limited, forcing you to relaunch the VM Instance to increases/change the assigned CPU. 
Therefore, in order to make use of the much-proclaimed Elasticity/Scalability of Public Cloud, it is necessary that your applications are designed to be able to scale horizontally; micro services, NoSQL, stateless….

Key services out of the box; increase speed deployment & Agility
The Public Cloud offers out of the box all the services necessary to deploy business applications: Compute, Networking, Storage and Databases, Middleware, Management & Development tools, Identity & Security, Big Data, Machine Learning, …
In addition, together with these services, they offer specific patterns for each use case and industry, which greatly accelerates the deployment of applications.

Self Management-Automation

By definition, the Public Cloud is based on the Software defines approach, which implies a high level of automation. All the configuration of a solution in the cloud is defined in a parametrized way and tools are offered to deploy all the resources required by your application in a declarative format (based on templates to programmatically control what gets deployed). This is a clear advantage over legacy CPD.
In addition all the cloud services and resources are integrated with a common Monitoring, Logging and Error Reporting system.

Global Deployment

The Public Cloud allows applications to be deployed globally by replicating solution configurations in the corresponding regions in a quick and economical way.
They also offer storage service that is replicated automatically between regions allowing users to access content in an efficient manner.

Finally they also offer a Global Content Delivery Network (CDN) globally distributed edge points around the world to accelerate content delivery for websites and applications.

Reliability

The Public Cloud allows the deployment of low cost Disaster Recovery solutions. Since it is possible to define a complete solution configuration by SW, it is not necessary to have a replica of the CPD waiting for a problem.
For those cases where fast high availability is required, all Public Clouds offer a global balancing system that allows redistributing the load between different zones and regions.
In general Cloud disaster recovery systems can be deployed much more quickly and with better control over your resources.


Cost

The cost of Public Clouds is another topic of debate. There are certain use cases in which the cost of a Public Cloud is clearly more optimal, but in other cases they require a more detailed analysis.
The optimal uses cases in terms of costs to move workload to the Public Cloud are:

  • Those that require a new investment in infrastructure
  • Fluctuating work load
  • Global workload

For 24×7 stable workloads, further analysis is necessary. In fact, the pay-per-use model is usually not the best option and you have to change to a subscription model with a commitment to use where discounts can reach 70%.
In any case, the management of costs in a Public Cloud is completely different from a traditional environment, so it is necessary to assign a specific staff to monitor invoices and constantly identify options for improvement in costs by volume or billing model. In addition, it is required an exhaustive control of resources not used to be eliminated from invoicing.

Security & Complaint

Security is an area in which all Public Cloud are focusing.
Currently the Public Cloud compliance and security level is much higher than a traditional CPD, but unfortunately there are still certain regulatory aspects in each country that require additional and specific approval by the local regulatory Entity.

In addition the Public Cloud provider  manages security of the cloud. Security in the cloud is the responsibility of the customer. That means that you need to install and configure additional layers of security.

Ecosystem of additional services
Having access to the entire ecosystem of cloud services is one of the main advantages of cloud applications. In addition this ecosystem is constantly growing and improving incorporating new trends (IoT, AI, …).

SLA responsibility

SLA responsibility is another controversial issue in the Public Cloud. Although service levels are well defined, the counterpart is not clear in case of an impact on the company. In fact, in the last cases of breach of service level the lawyers of the Public Cloud managed to soften any type of compensation.

Vendor Lock-in

Vendor Lock-in is a risk when moving to a specific Cloud. However, with a good architecture that isolates applications from the dependencies of each cloud platform, it is possible to reduce it.
In fact, using containers and functions together with an Architecture layer to reduce dependencies should reduce the lock-in. You should avoid what the vendors call  Apps as a Service, and in addition  the use of multi-cloud database (like Mongo DB) also reduces the level of lock-in at database layer.

Finally another area to reduce the lock-in is the deployment tool and language used for provision/config all the infrastructure resources in your cloud environment. Again, try to use standard solutions (like Cheff or Puppet) and build a layer to isolate dependencies.

Latency in Hybrid models

Latency in hybrid models is an aspect to consider when it comes to migration to Public Cloud based on an on-premise solution.
This Latency can be mitigated with dedicated communication lines and by choosing autonomous workloads with low dependence on legacy systems.
Additionally, if one of the areas of the public provider is fortunately in the same geographical area as the on-premise CPD, it would be possible to establish low-latency communications.