In a previous blog I explained what cloud computing is and the different service models around it. Another aspect of cloud computing is how these different service models can be deployed or delivered to the end users. Typically a cloud based solution can be deployed either publicly privately, or a hybrid of the two. As far as functionality there is not much difference between these deployment types. The difference lies pretty much in how 1) how access is gained and 2) who controls/owns the resources being used. Understanding these different deployment models and their respective pros/cons go a long way when deciding on the right cloud based solution for your personal or business needs.
Three cloud computing deployment types:
- Public Cloud
- Private Cloud
- Hybrid Cloud
To assists with understanding, lets first recap what “cloud computing” is. As we stated before, a cloud is basically a pool of computing resources (CPU, RAM, Disk space, bandwidth) or an application made available for use over a network. In most cases, this network is the internet. Cloud computing is essentially the use of these network accessible resources. The public cloud model is pretty much the standard and most commonly found example of cloud computing today. More than likely, in one way or another we’ve all used public clouds in some capacity. Dropbox, Facebook, GMAIL, Flickr, Salesforce CRM, and other internet based applications, are all typical examples public cloud offerings. In the public cloud model, access to the pool of computing resource is made available to whoever wishes to pay for it. Public cloud users benefit from having access to large pool of computing resource (infrastructure) but will save, by only paying for the resources they actually use. If they so wish to scale up or down in resources, this is done easily. Now, the term “public” may lead many to think of this deployment model as insecure, that anyone can gain access to your data, but that is not necessarily true. In this sense, the term public simply means that others have access to this same pool of resources (not your data). How secure your data is on this cloud depends on the vendor and the security protocols they follow. The owner of the cloud defines all the security measures and permissions (i.e. each user receives an ID and password to access his/her data). Additionally, the owner of the cloud handles all the maintenance and upkeep of the resources being used.
- Access to vast amount of computing resource
- Scalable to fit your business needs
- All maintenance and app level managing handled by vendor
- Pay as you go cost model
- No control over resource
- Less secure than private cloud
In a private cloud the resources are not shared with others. Only one organization or entity is has access to computing resources in this model. A private cloud may be located on the premise of its users/owners or located externally and managed by a third party vendor as in the public cloud model. In either case, what makes a private cloud “private” is the fact that only one organization has the access to the computing resources. Due to the unshared nature of private clouds, users are able to benefit from the additional security and privacy. In some cases, a private cloud may not even be accessible via the internet, but only through some other network setup by the provider, adding an additional layer of security. If a private cloud is using the internet, then strict permissions are set into place to restrict any unauthorized access. On the downside private clouds have significantly higher costs and lack the on demand scalability as available with public clouds. With “on premise” private clouds the owners (who are also the users), incur the costs of purchasing the hardware resource as well as the overhead of managing and maintaining that hardware.
- Full control over resources
- Increased security over public domains
- No on demand scalability
- Higher costs
- Management overhead
Organizations are also utilizing cloud computing through a mix of both private cloud infrastructure and public, otherwise known as a hybrid cloud. There are few common use cases for hybrid clouds. In a hybrid cloud some portion of the computing infrastructure is held in a private cloud and another in a public cloud. This allows for the user entity to take advantage of the benefits of the both models. For example, a business may have certain mission critical info they feel the need to have secured within their own network, yet still want to take advantage of the benefits the public cloud has to offer with less sensitive data. Or an organization may have a private cloud they use regularly, but also have a backup public cloud incase the private one goes down or during times of peak/high volume when their private cloud resources are not enough to handle the demand.
- flexibility to custom fit cloud solution
- ability to transition gradually to public cloud
- Increased complexity
- higher cost that public cloud
Recommendation for software teams
As a software shop ourselves, we feel it is best that software teams elect a hybrid cloud model. From software development team perspective, items such as your main codebase and certain sensitive documents may be best kept on a private cloud ensuring its security. While development tools like issue trackers, or CRM tools can be hosted on a public cloud. The two clouds can then be integrated as part of same network using VPN / SSL technologies.
Overall, cloud computing has brought new level of convenience to the computing landscape. The move to the cloud will continue to gain popularity due to the numerous advantages and benefits to reap. Have any more questions or concerns you’d like to us about? Please contact us or drop a comment below.