An Introduction to Cloud Computing

Image courtesy of Wikipedia
Image courtesy of Wikipedia

The world of technology is full of buzz-words, many of which get a handful of people excited before silently fading away into history.  And for decades, the viability of “as-a-Service” offerings has often been affected by bandwidth and hosting limitations with providers charging ridiculous amounts for hosted solutions like email, and other enterprise applications. But of course, in 2002 when Amazon decided it would rent off any excess computing power it had at extremely low rates, things changed…dramatically.  Suddenly the possibilities became endless, and companies began questioning the cost and inconvenience that goes into hosting their own servers for mail, directory access, file systems, databases.  By 2006, with the launch of Amazon’s elastic cloud, it was quite apparent that even the smallest companies could rent computing resources to cater for only what they need.  Suddenly, computing projections for the next 5 years weren’t necessary, if requirements changed next week, pay more.  So, then what exactly is this Cloud, and what are these offerings Platform-as-a-Service, Software-as-a-Service, Infrastructure-as-a-Service?  Let’s break it all down.


In a nutshell, cloud computing refers to any computing solution available to you the end user via the internet or your WAN link.  It refers to computing resources that aren’t your responsibility to manage, but are available for you to use.


Think of when you use Google Docs, access your Google Drive, or even login to salesforce.com, other than maintaining the session to the remote server, your local computing resources aren’t playing any role in computing.  Think of when you store your images on Flikr or Picasa web, your local drives play no role in this.

For enterprise environments, remote locations have always been a huge issue to manage, especially where caching of various network services occurs (directory access, file servers, databases, etc), moving services into the cloud (i.e. Mail, productivity tools, databases) significantly reduces the management overhead.  Small companies that don’t have the budget to have an IT department in every location can find this to be quite feasible.


Software-as-a-Service (SaaS).  Possibly the most popular form of cloud computing, SaaS means, a vendor, i.e. Microsoft, Adobe, Google, can lease a copy of Office, Photoshop or even Google Docs to end users with the promise that they will take full responsibility over ensuring the software is accessible to you the user, from anywhere an Internet link is available.  The biggest advantage of SaaS is the very fact that companies can have significantly smaller IT departments.  And while, this is not the kind of news of you want to hear, it does make business sense.

Platform-as-a-Service (PaaS). When you develop your next Android, iOS or Windows phone app, and are looking to have it hosted somewhere, PaaS providers are the most likely place you’d be looking.  A PaaS offering comes fully equipped with a programming platform, a web server, databases, and an execution environment that makes it possible for an application to be developed and deployed.  But the fun doesn’t stop here, PaaS can also offers a payment and distribution model in the event you do want to monetize your application.  Furthermore, as your application grows, the PaaS infrastructure will scale with your application, removing the need for you to get involved in the DevOps side of things.  The main advantage of PaaS is, if you’re a lone developer looking to offer a professional feeling application, PaaS is an excellent option.  You will focus only developing, debugging and improving your application, while leaving all the delivery and uptime issues to the PaaS provider.

Infrastructure-as-a-Service (IaaS).  In a nutshell, IaaS is having a virtualized network in the cloud.  An IaaS provider, not only makes virtual machines available, they also provide storage, IP addresses, network connections, bandwidth and load balancing capabilities.  If you’re a small company looking to host their own servers, but don’t have the budget to purchase expensive servers, you could invest in an IaaS and access everything from the convenience of a single provider.  The upside of IaaS: 0 hardware costs, which can be quite an expense.  Some providers, can provide, locally available cloud IaaS solutions in the form of Managed Services, and these services could be reachable via the web, or through the local network.


Security is not your concern: Server rooms tend to be the most heavily fortified location with their anti-static tiles, air-conditioners, etc.  And while all that is exciting, for a room you only go into once or twice a month, they sure do get too much attention.  Cloud computing makes it possible for security considerations for servers to be someone else’s concern

Location: everywhere.  You not only have the convenience to manage your infrastructure from anywhere, your data is also stored across a distributed global network of servers, meaning, if a server farm in location A did close own unexpectedly, your data is still available at Farm B, C, D, etc.

Failure is no longer your concern:  With redundancy at the core of every data-centre design, having multiple Internet links is the only failure you’d plan for as every data-centre does promise 99.55% uptime.  While this does sound amazing, it does amount to about 3 hours of downtime a month or about 1.8 Days of downtime a year, which is significantly better than the average IT department.

Scalability:  One of the biggest issues around traditional application deployment involves scalability.  If a network suddenly grows by 50%, buying additional servers, while costly, is not as painful as when you suddenly have to cut back by 75%, what do you do with the extra computing power?  Cloud services are on-demand services, if you want more, you get more, and if you want less, well, you get the gist


It’s the Internet.  Virtually any only attack known to man can be used against you.  From brute force attacks, all the way through to Denial of Service attacks, the Internet is every hacker’s playground, and the Cloud just happens to be found there.

Cost:  As is any service, Cloud computing services are ongoing costs.  And while the short term benefits could outweigh the disadvantages, over time, these little costs add up

Interoperability:  Most cloud providers don’t play well together.  There is no known standard model for deploying *aaS, therefore, Google is free to define the architecture of their cloud in any way they choose and Microsoft, Rackspace or Amazon have no say. At the same time, each provider is looking to tie you in for the long term, therefore some platform specific dependencies can make it difficult to migrate to other platforms.


For Application/Web developers: As is the case when it comes to picking anything else, it’s up to needs.  For example the Google Cloud Platform is home to HTC, Coca Cola, Snapchat, Safari Books Online, Sony Music, Unisoft, Wix and tons of others. At the same time, firms like Pearson, Xerox, BMW, Heineken, etc are hosting applications on Microsoft’s Azure.  As for Amazon Web Services fans, Siemens, Adobe, Vodafone, Intuit, Unilever, 9Gag, Lamborghini, and many other great names, host their apps and sites on the AWS.   Therefore, if you’re looking to host an application or website, these services will prove quite appealing.

For space hogging.  For those of you with Millions of selfies too large to store on your local computers , you’ve probably already maxed out your Flickr and Picasa quotas and are in search of other solutions.   You’ll probably be looking in the direction of Dropbox, Box, Microsoft OneDrive, Google Drive or the Apple iCloud

VPS vs IaaS servers.  As websites grow, the logical next step is probably going VPS then eventually CDN, which is great if money is no object, however, VPS’s might just be a soon-to-be obsolete solution slowly being replaced by dedicated servers sourced directly from providers like Rackspace


Because the cloud is slowly catching up with traditional computing, the certification void is quickly being filled up by providers, to help ensure admins and developers have the right skills.  The Amazon Web Services Certifications and probably the most prestigious, with most recruiters recruiting for Cloud developer roles, or DEvOps engineering roles asking for skills on the AWS platform.  In second place, is probably Microsoft as an Azure Solutions Architect with traceable Windows Skills can be extremely marketable. Especially in environments that would like to stick to Microsoft for seamless integration with existing Microsoft solutions.  For wannabe DevOps engineers for Android applications, Google Certifications are a more realistic bet. #ICTZM

One thought on “An Introduction to Cloud Computing

Comments are closed.