Cloud Computing: An Explanation from Wham Stack I.T.

    Finding an article on the internet from someone giving their take on Cloud Computing is about as difficult as seeing the sun during the day but, this is the Wham Stack I.T. version of a "What is Cloud Computing?" article.

The Term "Cloud Computing" is really two in one:

  • Cloud - The universal symbol used in network diagram documents to represent a network segment and all of the Information Technology (I.T.) resources that reside therein.
  • Computing - Using Information Technology resources.

    One of the most common and beneficial documents for an I.T. professional to create is a network diagram. We create one for every customer we serve. They act as a reminder of everything that is present in an organization's network as well as a guide to how all of those things are connected. Such a document is used for infrastructure planning, issue troubleshooting, and reference information when performing regular maintenance.

    When creating a network diagram, the most common starting point is to draw a symbol for the internet and it's connection to the organization's network. This symbol is a cloud. A cloud is used because there are a great multitude of objects and network connections that would simply take up too much time and paper to represent. This generic cloud symbol can also be used to represent logically large segments of an organization's internal network. Examples of such segments could be "The Finance Department", "The Marketing Department", "The Server Room", ... any section of the network too large to represent in detail on a given Network Diagram. When the cloud is outside of an organization's network it is a public cloud and when it is inside the organization's network it is a private cloud.

    Recently there has been a great deal of media coverage concerning "The Cloud". This is generally in reference to public cloud computing but, in a sense, larger organizations have already been using Cloud Computing for years. In a large company, it is possible that many employees may never even know who their company's I.T. professionals are and what they do. All that matters is that the email server and other internal I.T. resources are up and running when they want to connect to them. Such a phenomenon is one of the primary lures of using Cloud Computing: It is not necessary to know how it works or where it's located, as long as it is always there when needed. This abstraction from the physical hardware running the organization's services is what makes Public Cloud Computing possible.



 Forms of Cloud Computing

    Public Cloud Computing is basically another name for outsourcing. When an organization chooses to use an outside vendor such as Amazon, Google, Microsoft or any of the growing number of Public Cloud Computing providers for services usually provided by an internal I.T. department, there is the potential for cost savings. There are also additional considerations to be made when integrating an outside vendor in to internal business processes just as is the case with any other vendor providing services. This leads to three different forms of Cloud Computing, each with different considerations.


    Public Cloud Computing is when an external vendor is used to provide all necessary services. This new form of outsourcing comes with some more classical considerations:

  • Are the regular (usually monthly) fees lower than the current internal I.T. costs associated with providing that service?
  • Does the vendor offer all the same services currently required and provided by internal resources?
  • What happens when the vendor is unreachable, or in this case, when the network connection between the vendor and the organization is interrupted?
  • What level of access is the organization allowed to the outsourced resources?
  • How does the organization transition to using the outsourced services and ensure continuity of operations?
  • What is the process for transitioning outsourced resources back to an internal I.T. department and ensure continuity of operations?
  • What skills and knowledge does the vendor bring to the organization?
  • What level of support is provided? M-F business hours? 24/7/365?
  • What is the vendor's computer systems up-time and availability percentage? ("Five Nines" [99.999%] being preferred)
  • Is my organization's available internet bandwidth and latency sufficient to support the new, daily, persistent connections to the vendor?

    Private Cloud Computing is when all I.T. resources are provided in-house in a way that is easy for employees to access with nothing more than a network-connected device. When an organization is planning the creation of or transition to a private cloud computing infrastructure the following questions should be considered:

  • What systems and software are required to provide network-connected access to the private cloud?
  • What applications are needed on employee I.T. devices to connect to the private cloud?
  • How can I.T. devices connect to the private cloud when roaming outside the office?
  • From what kinds of devices does the private cloud enable connections? Workstations? Laptops? Tablets? Smart Phones?

    Hybrid Cloud Computing is simply a combination of Public and Private Cloud Computing. This form of Cloud Computing shows the most promise for Small to Medium sized businesses. It allows the company to have the best of both worlds. Commonly used but expensive applications can be outsourced to the Public Cloud while unique applications requiring hands-on support can be maintained with a decreased number of in-house I.T. employees. This also provides an inherent level of continuity of operations as only some of the company's resources are located at the other end of a network connection that would be effected by a network outage.



 Levels of Cloud Computing Service

    When choosing any of the above forms of Cloud Computing, the level of desired service will need to be determined. These levels are relevant to a private cloud just as they are to a public cloud setup and all represent varying levels of customer involvement and responsibility. These levels are as follows:

    Software as a Service (SaaS), is when a cloud provides access to a specific network-based application or set of applications. Enterprises have been using applications like (Citrix) XenApp and (Microsoft) Remote Desktop to provide remote access to applications residing only on network-accessible servers for many years now. It has only been in recent years that the general public has been able to access and use more purely web-based services like Google Docs where the entire application suite is accessed via a simple web interface provided by a public entity.
    Utilizing SaaS Cloud Computing requires the lowest level of interaction with the cloud. If the Application is ever unavailable, the vendor or I.T. staff is responsible for making it available again, no matter what the cause of the outtage may be.

    Platform as a Service (PaaS) is a sort of middle ground as more of the underlying infrastructure is made available to the consumer\administrator. A very good example of this is third-party Web Hosting. Generally, when another company is used to run a web site, they offer a web-based administrative panel that allows the consumer\administrator to have access to some of the server functions and set up their own content utilizing only the servers and functions that the Cloud Provider has made available.
    Choosing PaaS is a good option when the organization has some in-house staff capable of leveraging the extra functions beyond those of an SaaS cloud service. This options still saves the organization money and time as there are fewer points of failure that the consumer\administrator would be responsible for remediation. This level of usability comes with the cost of not being able to utilize the system(s) with the same level of flexibility afforded when utilizing a private cloud or one based around IaaS.

    Infrastructure as a Service (IaaS) provides the consumer with the highest level of control over their Cloud services. Generally IaaS consists of all of the physical elements required to host any server operating system. When using IaaS from a Cloud Provider, service is usually provided in the form of administrative access to a virtual machine (software that emulates an entire computer) on to which they may install an operating system of their choice as well as any applications and supporting software. Examples of such cloud providers include Amazon EC2 and Microsoft Azure.
    When using IaaS, all costs associated with hardware are replaced by the subscription fees charged by the Cloud Provider. This allows an organization to move away from concerns associated with hardware upgrades, network reliability, and infrastructure scalability. Any time the network goes out, the vendor is responsible for remediation; any time the hardware needs to be upgraded as part of normal operations (firmware upgrades, hardware failure), the vendor is responsible; and any time the consumer needs to scale up, the vendor is responsible for ensuring that there is enough hardware in place behind the scenes to support the scaled up requirements.



The Big Picture

    Over the decades, Information Technology has followed some general themes:

  • Computers the size of gymnasiums - This was the era when "a bug in the system" literally meant that there was a moth between the switch contacts.
  • Mainframe Computing - A way for multiple people to access the same powerful computer at the same time.
  • The Personal Computer (PC) - Applications installed on the computer. Most of the first applications for this type of computing were local only (did not connect to remote resources).
  • Server-Client Computing - As new applications were developed both for servers and PCs, the era of using a PC simply to connect to something like web-mail or a company's Intranet with emphasis removed from using local-only applications began.
  • Cloud Computing - The developing field of personal and business computing where more and more of the processing, storage and other workload traits are performed "in the cloud" and the device being used is a sort of modified terminal.

    From an I.T. professional's perspective, there are really only two different kinds of computing Personal Computing and Client-Server computing. The extreme example of personal computing being that of only using local resources with no network connectivity. At the other end of the scale, Client-Server computing, the local resources are only used to display and interact with the remote server. It seems that all I.T. has been following this general cyclical theme of Client-Server to PC, and back to Client-Server again, with Cloud Computing being a modified form of Client-Server computing of old. As new hardware continues to be invented and produced, it is possible that I.T. computing will shift back to the PC one day but for now, computing is headed towards Cloud Computing which may end up being "the Client-Server era 2.0" or simply a new way of using what is already there.

Time will tell.