This blog examines the use of public and private clouds within service provider operations, including the positive and negative aspects of each solution.
The concept of cloud computing - or the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user - was introduced in the mid-1960’s. Today, private clouds (i.e. within the enterprise data centers and network domain) or public clouds (i.e. Amazon Web Services, Google and MSFT Azure) are options in the design of a solution. In this blog, we will examine the use of public and private clouds within service provider operations, including the positive and negative aspects of each solution.
One of the key advantages of cloud computing is its ability to scale as necessary. For example, an application that on average has 100 users can quickly scale to over a million within a couple of seconds (at most). An example of this could be an airline’s on-time application where at 5:00 am not many users are checking their flight status but at 8:30 am the number of user requests could be significantly more.
A second advantage of cloud computing is that platforms provide for failsafe redundancy. Technology advancements in hardware and software enable a provider of cloud services to offer failsafe (and/or failover) services within their datacenter or within their distributed data network. These technologies coupled with extremely redundant networks pushes application availability (i.e. the ability to run the application as designed) well into the 90% uptime.
However, this complex web of hardware, software, and network connections is not foolproof. There have been several major outages across the premier cloud vendors over the past decade which have ground services to a halt. On several occasions the outage could be traced back to public internet network outages inadvertently caused by a software maintenance procedure.
Another important aspect that must be considered is security of the data and whether bad actors can gain advantage by either snooping on the data (i.e. gaining access but not necessarily interrupting the dataflow of the application) or manipulating the user into disclosing confidential and potentially seriously damaging information (i.e.. usernames/passwords, account numbers, etc.). Denial of service attacks are also of concern.
In all these cases, one aspect that users need to consider is “time to correct”. This is the time a component, a datacenter, or a critical piece of network infrastructure goes offline and/or has performance degradation, how long will it take to restore services to a functional level. Often one could look at service outages in the following categories:
Another key aspect of cloud computing is the cost. Many of the business models of cloud computing providers offer very attractive rates for non-linear applications (such as mentioned above) where the usage is very variable. This is especially true in non-critical applications.
In critical applications (what is and isn’t critical is an interesting topic) the choice of using cloud computing even with its elasticity to scale CPU, disk, and networking resources to meet the application demand requires a more demanding analysis. Different departments within an organization may consider an application’s availability (and accuracy) more critical than others. Returning to the airline flight status app example, the flight booking app team may consider the flight status application as non-critical, while the customer care team may consider the flight status application its number 1 priority. This is because if it is down, slow to respond, and/or provides inaccurate information consumers will flood the call center with voice calls to determine the status of their flights (and negatively affect the call center agents in handling more critical business transactions such as new bookings or rebooking, as well as providing a negative customer experience to travelers).
A key factor in operations is predictable costs. This is where internal data centers and/or internal cloud services have an advantage over public cloud enterprises. Whereas even if a private cloud service is run via a corporate entity (and assuming some sort of departmental charge-back cost program) the “fees” for using said service are very predictable and can be appropriately budgeted. The downside of using an internal cloud environment is that it might not be able to scale (either up or down) rapidly to handle the required demand load and is restricted to the datacenters of the internal organization.
Alternatively, public cloud businesses pride themselves on their ability to “instantly” scale depending on the load factor. This is in conjunction with moving the demand seamlessly between CPUs and datacenters. With this flexibility comes additional costs thus posing a problem to operational organizations as the cost factors can vary greatly and be very unpredictable thus leading to difficult planning and budgeting.
The above tradeoffs lead to the discussion of public vs. private cloud computing. Public cloud services have a disadvantage in that they are offsite and applications connecting to these services most likely use the public internet to reach their processing platforms. This adds a layer of “unknown” to the overall support and operations aspect. For larger organizations, many have built their operational environments to support internal cloud computing technologies. This enables the organization to have full control over the reliability, redundancy, and performance of an operation.
For service providers, the implementation of private cloud computing services (often offered to internal development and operations teams as turnkey services) has risen in the past several years. In addition, as the technologies that make up cloud computing evolve, the ability for Tier 2 service operators to build mini-cloud implementations has grown and should be considered as part of the overall reliability strategy.
For service providers, the use of private cloud operations has become a higher priority in the past several years. This is due to several factors including having control over the datacenter reliability, network reliability and performance, and security.
Mavsotech can assist your organization in examining the key fundamental components of an application including business requirements, development, operational, and support. Contact us at info@mavsoech.com to learn more.