What is cloud computing?
Cloud computing is a designation given to explain a variety of different computing concepts that use distributed systems for a computational goal. Cloud computing can also be thought of as distributed computing services that are not locally based – not in your home, on your office network at physically ‘at’ your space.
With cloud computing, what we are actually talking about, is a method to remove the overhead of physical storage and constant purchase of software for every computer, and every workstation we own and run. Cloud computing provides a robust, ever-growing and changing method for a person to have the same experience with a next-gen phone, tablet, PC or Mac…all you need is an internet connection.
Where a lot of new users to the term “cloud computing” get mistaken involves grid computing versus cloud computing meanings. In grid computing, we use distributed resources, that can do multiple actions for an end result. Computers on a grid that are used in this way are normally connected via a network; as most grid computing models started as university computers that were active late at night. This turned into server farms that made use of those unused resources on timed payment methods from web hosts and web server hosts. Notice the morph into what we now call “cloud computing” today?
Cloud Computing: A History
The idea of cloud computing dates back to the 1950’s, when mainframe computers became available at universities, corporations and other colleges. These computers and computational models used extremely lite-weight thin-clients to access data and run computations, as there no internal computational processing power for those terminals.
As time went on, and as cloud computing models approached the 1990’s and 2000, cloud computing went from expensive, telecomm-based expenses, to methods of software to control things like load balancing, resource monitoring and more. In the 90’s, telecomm communities started to offer VPNs (virtual private networks), that made full use of this technology; virtual distribution of resources, to make use of extra, unused processing power, system resources and storage.
After the dot-com bubble burst in the early part of 2000, Amazon played a key role in all the development of cloud computing by first modernizing their data centers, incorporating new architecture for efficiency as well as providing a method for external users to make use of server and computing resources as needed.
This led Amazon to their launch of Amazon Web Services (AWS), on a utility computing basis in 2006. In 2008, multiple steps towards a more mainstream, and entry-level into “the cloud” for computing and web hosting and storage services were created. These included OpenNebula (the first open-source software for deploying both private and hybrid clouds), Eucalyptus (the first open-source, AWS API-compatible platform for deploying private clouds) and Gartner publically stated the transition that would be of companies and individuals relying on a ‘on-use’ value for computational resources, as well as networking, storage and computing services; while also slowly transitioning from the in-house owned and maintained servers, software and hardware services and methods.
Cloud Computing Now
Now, most web users are using a cloud-based service and never know it. With the advent of cell-phones becoming next-gen phones, the web browser coupled with cloud computing, allows for no applications to be used on those devices, as well as PCs, tablets and Macs. How? And why is this a welcome addition to our technological culture?
Really, it’s about access. In the mid to late 90s, there was a slow trend of internet usage to become quicker and quicker. This removed the bottleneck of network speed, to allow for devices and terminals to be the front-end, while an external web-server could be the back-end of an application; so no more downloaded and installed software for end-users.
For businesses, this removed the restriction of operating systems and browser versions for Software as a Service needs. In fact, from the late 90s to today, those 15+ years have allowed for the creation of nearly every main-stream application for Windows and the Mac, to become a web application; even Adobe now offer the Adobe Creative Cloud, which is an online suite of it’s most popular applications like Photoshop, Elements, After Effects and more.
This move to cloud computing also allowed business from any level, to remove the need of administration of hardware and software on VPNs and web hosting. Private clouds and hybrid clouds for businesses also remove the expenses of hardware purchases at a user-level, and also remove the extreme needs of connecting directly to those networks.
What cloud models are there?
In today’s world, our web technology has grown to the point nearly every aspect of our internet usage is “in the cloud”. Either with web application, social media, email packages or website tools, most of our daily internet usage involves a front-end cloud computing source, or a back-end built and running in the cloud. Let’s check out some of the areas of cloud computing services.
Software as a Service (SaaS)
The nature of cloud computing yielded a new idea in software development – on-demand software, used in any device, at any location; no downloads, no installations. Users and business usually pay for these services on a yearly or monthly basis. The services also allow for different amounts of resources within the package they purchase (user counts, storage counts, bandwidth, profiles, etc).
Maintenance and support goes from the user’s PC or Mac and onto the server…this removes the user, another level of support, from the equation. this is interesting as the owner of the software can create a better product, and it’s implementation can be immediate, without the need for a patch, or downtime for the end-user. Instead, most software can be housed on a development environment, and simply ‘flipped’ as a live instance of the application’s version.
The largest pain software owners encounter during SaaS claims is that the data is never fully secure, since the users’ information is not stored locally. While methods of secure storage and rules (specifically, HIPPA and PCI) as well as methods of transit (HTTPS/SSL) help to alleviate those worries, producers of these services have started to include encrypt methods and rules for end-users.
Infrastructure as a Service (IaaS)
This is the big-boy of web hosting and web server technology for customers that include personal use, small business in the cloud and enterprise-level cloud computing needs. But what are some companies that are involved with infrastructure as a service? And do you need to use these cloud services, as opposed to more traditional physical servers and VPNs?
The main providers of IaaS are Amazon Web Services (AWS) and Rackspace Cloud Services (Cloud Servers). These providers handle the physical resources like memory, CPU usage, HDDs, etc., while allowing you to scale these resources for your exact needs. Anything from a web server for a local band needing only some growing storage and a WordPress install, to a pharmaceutical company dealing with big data and spiking processing power, IaaS fills your needs.
The question of using cloud computing services over traditional, physical servers for computing, hosting, networking and storage comes down to money and scalability. While these are not the closest of family members, in the cloud, they will be. For instance, most cloud computing services that deal with IaaS charge by computing hour, by gigabyte of storage and charge by usage, not by rental or lease of physical units.
Platform as a Service (PaaS)
Platform as a Service is one of the newer concepts of cloud computing. Basically, it allows for programmers and software creators to create, deploy and manage web applications, without any need or knowledge of cloud-based backends and system architecture. This cloud service type uses tools and other vendor-driven softwares to give applications a tier between their software and the cloud architecture they will exist on.
A few of the most notable examples of PaaS platforms is Microsoft’s Windows Azure and AppFog. These allow developers to do what they do best; focus on creating great code, and then deploy it to end-users.
Network as a Service (NaaS)
This basic cloud model focuses on providing users with access to network and data transport services. This is more for small businesses and enterprise level groups who wish to use network solutions on-demand; think utilities like electricity and water.
Typically, Network as a Service deployments include virtual private networks (VPN) and on-demand bandwidth. Also, the mechanisms used to control the amount and quality of these services can be grouped into NaaS.
Database as a Service (DBaaS)
Database management services in the cloud use the DBaaS cloud model. This allows for external and internal database usage, at a lower cost, without a central location and the need for physical maintenance of those databases.
This cloud computing service model will start to see some interesting strides as ideas such as big data and analytics become more used. These topics, in particular, can make use of data storage and processing systems built specifically for those operations; they do one or two things extremely well, for a very specific purpose.
Storage as a Service (STaaS)
Storage as a Service is an architecture model in which a provider provides digital storage on their own infrastructure. This cloud model allows large-scale enterprises to rent out storage space in smaller groups to smaller organizations.
Storage as a service can also be thought of as used by companies to store media files, including video, audio and images, in an effort to have scalable storage space. Service providers of STaaS can serve these files directly from the providers, or even use a proxy method to serve files from the cloud-based service, via their own servers, to the end-user.
Other cloud models
There are some other cloud models for businesses. One, specifically, is BPaaS (Business Process as a Service). This is a pairing of Network as a Service, Infrastructure as a Service and Software as a Service to allow businesses scale physical purchases and IT department costs down by changing their cost model and their support needs.