Over the past few years, we’ve seen more and more companies jump on the cloud computing bandwagon.and 2018 will prove to be no different. This study by Gartner predicts that as soon as next year, “30 percent of the 100 largest vendors’ new software investments will have shifted from cloud-first to cloud-only.” Gartner goes on to say that a “no cloud” policy will become as rare as a “no internet” policy.
Deploying to the cloud has shown to be incredibly beneficial, not only for security and reliability but for developer deployments as well.
It’s no longer enough to simply “move to the cloud”. Different cloud environments can prove to be more fruitful for different teams, based on size, budget, or specific needs.
Whether you’re already utilizing cloud computing resources and looking to make a change, or making the leap of faith for the first time, understanding how to most effectively utilize the cloud can be a daunting task.
The first step is to gain a deeper understanding of each model. From there, you’ll be more equipped to take a look at your organization’s position and make the most informed decision you can.
When a cloud is provided exclusively to one company, it is classified as a private cloud. The cloud can either be owned by the company, a third party vendor, or a combination of the two. The cloud can exist on-premise or off-premise.
If we think of cloud infrastructure as office space, then a private cloud would be when a business has an entire office building of their own. Just as a business can either own the building or rent it, a private cloud can either be owned by the company that uses it, or provided by a third party.
Private clouds give companies more control over their security and reliability measures, as well as management configurations. With this control, businesses can quickly scale up as needed.
As Uncle Ben from Spiderman once said, “With great power comes great responsibility”. This rings true for private cloud management. Unless outsourced, your company is responsible for all of the management, maintenance, and upkeep of your infrastructure. A private cloud can provide a high level of security and reliability, but is also more expensive than a public or community cloud.
Private clouds are best suited for organizations that already own a datacenter and/or have a developed and proven IT infrastructure. Organizations with highly sensitive or secure information, such as credit card companies or federal agencies, are also more likely to use a private cloud.
A public cloud is owned by the cloud provider, who then “rents” the computing resources to multiple customers at the same time.
Going back to our office space analogy, a public cloud would be as if different floors of a office building were rented out to different companies. You could have a technology company operating on the top floor, a bank operating on the middle floor, and a car company operating on the bottom floor. Each company is responsible for operating on and paying rent for their designated floor, but the building (or cloud) is owned by a third party (cloud provider).
Public clouds are much easier to implement than private clouds because all management and maintenance is under the cloud provider’s responsibility. The downside is that companies don’t manage their own security and manage (although this is a benefit for some). The public cloud environment also reduces lead times in testing and deployments because new server instances can be spun up immediately.
Public clouds are best for lean and agile companies who want to minimize operating costs and maintenance, while optimizing for dynamic scale. Companies with unpredictable traffic flows, such as gaming or social networks, benefit from this dynamic scaling. Similarly, companies with cyclical traffic, whether it be daily (i.e. day trading websites) or seasonal (i.e. snow shovel sellers) tend to favor public clouds for this reason.
A community cloud is similar to a public cloud, with a few distinct differences. The cloud is provided exclusively for organizations belonging to a specific industry niche with common interests, whether that be mission, security requirements, or policies. The cloud can exist on-premise or off-premise. and can be owned either by a third party provider or shared by the organizations themselves.
Imagine that same rented office building as before, only this time each floor is operated by a different bank. All of the banks need the same security measures and compliance policies, so the building (or cloud) is configured specifically to meet those needs. The building can be either rented out by a third party, or the banks can pool their money together and own the building outright themselves.
This cloud deployment method can be incredibly beneficial for organizations with common needs. Not only can the cost be drastically reduced by splitting ownership, maintenance and upkeep and also split evenly amongst the organizations. Since all organizations have the same requirements, it’s easy for members of different organizations to jump in and out at different times.
As the name suggests, a hybrid cloud deployment model consists of two or more cloud environments, most commonly private and public cloud. For example, a company may choose to deploy their sensitive and secure processing to a private cloud, while their less sensitive data is processed through a small public cloud.
Imagine a company owning and operating an office building in Kansas City, Missouri for their IT, Finance, and HR departments. Meanwhile, their Marketing and Sales teams operate on a rented floor in an office building in St. Louis.
Hybrid clouds are becoming very popular. In fact, Gartner predicts it will become the most popular cloud model by 2020. Hybrid clouds allow an organization to get the controlled, secure environment of a private cloud, matched with the agile deployments of a public cloud. Although hybrid clouds tend to be the most economical cloud deployment method for companies, they also prove to be the most difficult to manage. Creating seamless integration between private and public clouds is not an easy task and requires a fair amount of time and skill.
NASA takes full advantage of the hybrid cloud model. Its Nebula open source cloud computing project utilizes a private cloud for their research and development. They then share their data on a public cloud for their external partners and the general public. This video from the OpenStack Summit in 2015 explains NASA’s system well.
While not as popular as the previous four models, the cloud federation and intercloud models have been trending up lately and are worth noting as well.
Cloud federation is the use of multiple cloud vendors to create a diverse cloud portfolio. This allows an organization to spread their cloud footprint, and better handle drastic jumps in traffic.
An intercloud model is when one cloud provider rents or wholesales cloud computing resources to another cloud provider. This is beneficial to providers because it allows them to monetize computing resources that otherwise would be unused or idle.
If you’re interested in reading more about cloud federation and the intercloud model, take a look at Cloud Strategy Partners tutorial on cloud services and deployment methods.
Deciding which cloud deployment method is for you isn’t a simple decision. It requires careful thought and planning and can’t be rushed. With an understanding of the different deployment models available, you can now look at your organization from a high level perspective and start to identify which aspects are most important to your team. Is it security? Cost? The ability to be agile and lean?
Once you’ve selected your method for cloud deployment, the cloud computing work is not over. Next, it’s time to start considering which IaaS provider is right for you.
- Fundamentals of the CD/CI Pipeline - February 13, 2018
- A Crash Course Guide to Cloud Deployment Models 2018 - February 12, 2018
- Software Trends for 2018: Continuous Delivery - February 5, 2018
- CI/CD Tools Throwdown: Jenkins vs. TeamCity vs. Bamboo - February 3, 2018
- Software Configuration Management: Patterns, Best Practices, and Tools for Agile and DevOps - January 25, 2018