Cloud Computing and Cloud Infrastructure Myths

Share this: [wpsr_retweet] [wpsr_plusone][wpsr_linkedin]

Most common cloud computing questions

The most common question we hear about cloud computing is What is the cloud?. There are a lot of terms, vendor specific definitions and confusion about cloud infrastructure so we’ll first define cloud computing before moving on.

Solid Logic’s cloud computing definition: Instantly scalable, programmatically-controllable compute, storage, and networking resources. 

This definition is also commonly referred to as Infrastructure-As-A-Service (IaaS). Infrastructure-as-a-Service abstracts the physical aspects of IT Infrastructure and provides a set of application programming interfaces (APIs) to control all aspects of the infrastructure. It is very powerful and allows you to basically manage a data center from a development environment or software application.

Many of the people we speak to have never used Amazon Web Services (AWS)Rackspace Cloud or another IaaS cloud provider, for different reasons. We’ve used IaaS for everything from High-Performance Computing to Video Hosting to low-cost development/test or non-production infrastructure. Our experience serves as a guide on which workloads fit well within an IaaS structure and which ones do not. It also allows us to prescribe  a customized, phased approach to cloud integration that minimizes cost and business risk in different ways.

The next comment that normally comes up when speaking to people about cloud infrastructure is: “The cloud sounds great, I hear it saves a lot of money but its just too risky/insecure/complex for us.” 

Organizations that have not yet embraced IaaS or “the cloud”  in their business generally do so for similar reasons. Most of the reasons center around perceptions that may be outdated or untrue – it depends on their scenario.

In our experience, their reasons generally fall into one of the categories below:

  • Cloud Performance (CPU, Disk, Network, Bandwidth, etc.) – I heard cloud servers are slow. The disks are slow and unpredictable. 
  • Budgeting/cost modeling – How do I know or estimate what my costs will be?
  • Cloud Security – It can’t be secure. Its called ‘Public Cloud’. Can other people access my files or servers?
  • Cloud Reliability – Netflix went down so it’s not reliable. What do I do if it goes down?
  • Cloud Compliance – No way, can’t do it – I’m subject to ABC, DEF or XYZ compliance requirements
  • Cloud Audit requirements – No way, the auditors will never buy-in to this.
  • Employee training – How do I find people to manage this?
  • Steep learning curve – How do I get started? Its seems really complex.

Cloud misperceptions abound

As the saying goes, perception is reality, and there are also a lot of misconceptions that increase fear of the technology and prevent people from moving suitable workloads to the cloud.

Popular news sources perpetuate the myths about cloud computing. It seems that every time Amazon Web Services (AWS) (who is by far the largest cloud provider) has any sort of hiccup or downtime, reporters jump on the bandwagon that cloud infrastructure is useless and breaks too often. Here is a link to a Google news search for this: https://www.google.com/news?ncl=dvYSd5T83PVQigMPa1-2GMz-snaDM&q=aws+down&lr=English&hl=en

[wdca_ad id=”2619″ ]

How we’re addressing these concerns

We’re going to address each of these concerns by sharing much of what we’ve learned along the way. We hope to shed some light on what seems to be an increasingly complicated market with more and more terminology and complex jargon used every day.

  1. We’re working on a comprehensive cloud computing benchmarking report. The report will make an apples-to-apples comparison between cloud instance sizes and existing in-house infrastructure. It will use common benchmarking tests that anyone can replicate in their environment. It will allow organizations to make informed business decisions on whether or not they could benefit from integrating “the cloud” into their IT infrastructure and software development approach. Sign up here for a copy of the cloud computing benchmark report.
  2. We’re going to present some cost models and budgets for common scenarios. We’ll integrate both tangible and non-tangible costs and benefits that we’ve searched for but haven’t seen included anywhere else. Contact us for a cost model for a specific use case.
In all we’ll address each of the bullet points above in detail. Stay tuned…

[gravityform id=”4″ name=”Subscribe to our Blog” description=”false” ajax=”false”]

Share this: [wpsr_retweet] [wpsr_plusone][wpsr_linkedin]

Cloud Computing Categories

This post is the second in an on-going series of some of the benefits we’ve identified in our experience in using Cloud Computing technologies, most notably Amazon Web Services (AWS) & different VMware products. The first post focused on some of the financial benefits and cash flow impacts of technologies we use on all client projects.  This post will introduce some differences between “cloud computing” technologies in order to set the statge to discuss how the products in those categories can be used and some of the benefits of them.

Cloud Computing Definitions & Categories

Because “the cloud” is a very vague and overused term these days – we need first define some things before diving into the impact and benefits of them. In the interest of time, we’ll use a summary of Wikipedia’s definitions rather than creating our own.

Virtualization – “In computing, virtualization (or virtualisation) is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, storage device, or network resources.” The most notable example of this software is made by VMware (ESX, Workstation, etc.).

Source: http://en.wikipedia.org/wiki/Virtualization

Cloud Computing & Infrastructure As A Service (IaaS) – “Cloud computing refers to the delivery of computing and storage capacity[citation needed] as a service to a heterogeneous community of end-recipients. The name comes from the use of clouds as an abstraction for the complex infrastructure it contains in system diagrams[citation needed]. Cloud computing entrusts services with a user’s data, software and computation over a network.”  Amazon Web Services (AWS), Rackspace, etc doxycycline tablets 50mg. would fall under this category.

Source: http://en.wikipedia.org/wiki/Cloud_computing &

Platform As A Service (PaaS) – “Platform as a service (PaaS) is a category of cloud computing services that provide a computing platform and a solution stack as a service. Along with SaaS and IaaS, it is a service model of cloud computing. In this model, the consumer creates the software using tools and libraries from the provider. The consumer also controls software deployment and configuration settings. The provider provides the networks, servers and storage.” Heroku, PHPFog, AppFog, etc would fit into this category.

Source: http://en.wikipedia.org/wiki/Platform_as_a_service

Cloud Computing Technology Stages

These categories have been introduced over the past nine or so years and have matured considerably in recent years. Many of the products that we looked at a year ago and felt were not ready for prime time are now ready Our use of cloud computing technology has matured considerably and we’ve followed the path shown in the diagram below.

Our preference at this point is to use a Platform-As-A-Service where appropriate. When that is not possible, we’ll use a customized configuration running on Amazon Web Services or another cloud provider.  In the next post we’ll discuss some of the benefits of this approach and the impact these decisions have had on our development process.

[gravityform id=”4″ name=”Subscribe to our Blog” description=”false” ajax=”false”]

Cloud Computing Cost Benefits – Cash Flow Impact

We’re heavy users of cloud computing technologies – primarily Amazon Web Services (AWS) and services built on top of it. The decision to embrace this technology has been very important to our client projects. There are many reasons behind this, but here is the first of the major reasons behind the decision (we’ll cover the others in later posts).

Cloud Computing Reduces Costs & Improves the Cash Flow of an Uncertain Project

Many of the projects we work on begin with some kind of prototype to confirm the client’s expectations or project goals. If the project goes well, the client then moves on to a larger roll-out and larger subsequent phases. If it doesn’t then the project ends. Because of this, there is a lot of variability and uncertainty in any estimates used to project infrastructure requirements or pricing models. Our preferred method of managing this risk is to use a variable cost compute model and leading services (IaaS, PaaS, SaaS, etc). While doing this, we develop everything to be standard compliant so we can switch to a better option in the future as the clients needs change.

Examples:

  • Recently we completed a prototype/proof of concept project with an expected internal user base of around 300 users. About a week after launch we ended up with 750+ internal users due to the popularity of the program. We were able to transparently scale up once there was sufficient demand (not before) with zero downtime. We also did this using a variable-cost model so the ‘estimation risk’ to the client was greatly reduced.
  • We designed the infrastructure for a site that hosted and displayed user submitted videos for a large internet based comedy contest. There was no accurate way to predict how popular the contest would be so we used an entirely variable-cost model to build and deploy the solution. The solution used a few different AWS This allowed the site to scale up and down based on actual demand and traffic, which we believed was a reasonable proxy for revenue.
  • We’re currently working on an advanced prototype project now that does some complex analysis on ~210GB of structured and unstructured data. Again, the project is a prototype with an uncertain future. Instead of taking a leap and estimating what size hardware to buy or making any other decisions based on limited information, we’re using Amazon Web Services to build a cluster of servers to test our product. Our projections show we’ll be able to build the cluster for about 80-90% less than the cost of a single server. This estimate doesn’t factor in other items necessary to make a complete comparison, but is a good starting point.

Conclusion

There are certainly some situations where ‘the cloud’ doesn’t make sense financially or operationally, but generally if the pricing model full factors everything in, and takes into account a measure of uncertainty, the benefit is clearly on the side of cloud services like AWS.We’ll go through an example cost model in the future to further clarify this. Until then, the AWS pricing tool should give some good ideas on pricing comparisons – especially under situations needing lots of computational power for a short time. Its pretty clear that for certain use cases, the cloud is the only way to go from a pricing standpoint.

Its a whole different animal to estimate the requirements and cost model for a well defined and modeled project. If the project you’re working on has a high variability (i.e. standard deviation) then its almost certainly more cost-effective to go with a cloud solution. Even if the costs are equal or slightly higher, we feel its cheap insurance and safety to go with a more adaptive solution.

[gravityform id=”4″ name=”Subscribe to our Blog” description=”false” ajax=”false”]