Tech companies have been storing data and running programs on local hard drives for decades. But cloud computing, a less expensive, more scalable way of storing and analyzing data, has taken center stage in recent years. It is a key element providing the necessary platform for enabling the internet of things.
What is cloud computing?
According to IBM, cloud computing, or “the cloud,” is the delivery of on-demand computing resources—everything from applications to data centers—over the Internet on a pay-for-use basis. Amazon and Microsoft, leading cloud providers, offer a similar definition.
This means that cloud computing uses the internet instead of your computer’s hard drive to access remote servers and processors that perform intensive compute and storage tasks over the internet.
Types of Cloud computing
There are several types of cloud as outlined by Amazon:
Infrastructure as a Service (IaaS):
Infrastructure as a Service, sometimes abbreviated as IaaS, contains the basic building blocks for cloud IT and typically provides access to networking features, computers and data storage space. Infrastructure as a Service provides enterprises with a high level of flexibility and management control over your IT resources and is most similar to existing IT resources that many departments and developers are familiar with today.
Platform as a Service (PaaS):
Platforms as a service remove the need for organizations to manage the underlying infrastructure (usually hardware and operating systems) and allows companies to focus on the deployment and management of their applications. This helps them be more efficient as they don’t need to worry about resource procurement, capacity planning, software maintenance, patching, or any of the other undifferentiated heavy lifting involved in running your application.
Software as a Service (SaaS):
Software as a Service provides a completed product that is run and managed by the service provider. In most cases, people referring to Software as a Service are referring to end-user applications. With a SaaS offering you do not have to think about how the service is maintained or how the underlying infrastructure is managed; you only need to think about how you will use that particular piece software. A common example of a SaaS application is web-based email where you can send and receive email without having to manage feature additions to the email product or maintaining the servers and operating systems that the email program is running on.
Providing cover over data
According to Amazon, whether you are running applications that share photos to millions of mobile users or you’re supporting the critical operations of your business, the “cloud” provides rapid access to flexible and low cost IT resources. The online marketplace and cloud provider says that users don’t need to make large upfront investments in hardware and spend a lot of time on the heavy lifting of managing that hardware. Instead, cloud computing can provision exactly the right type and size of computing resources you need to power your newest bright idea or operate your IT department.
Amazon goes on to list a number of benefits for adopting cloud computing:
Trade capital expense for variable expense
Instead of having to invest heavily in data centers and servers before you know how you’re going to use them, you can only pay when you consume computing resources, and only pay for how much you consume.
Benefit from massive economies of scale
By using cloud computing, you can achieve a lower variable cost than you can get on your own. Because usage from hundreds of thousands of customers are aggregated in the cloud, providers can achieve higher economies of scale which translates into lower pay as you go prices.
Stop guessing capacity
Eliminate guessing on your infrastructure capacity needs. When you make a capacity decision prior to deploying an application, you often either end up sitting on expensive idle resources or dealing with limited capacity. You can access as much or as little as you need, and scale up and down as required with only a few minutes notice.
Increase speed and agility
In a cloud computing environment, new IT resources are only ever a click away, which means you reduce the time it takes to make those resources available to your developers from weeks to just minutes. This results in a dramatic increase in agility for the organization, since the cost and time it takes to experiment and develop is significantly lower.
Stop spending money on running and maintaining data centers
Cloud computing lets you focus on your own customers, rather than on the heavy lifting of racking, stacking and powering servers.
Go global in minutes
Easily deploy your application in multiple regions around the world with just a few clicks. This means you can provide a lower latency and better experience for your customers simply and at minimal cost.
Amazon aren’t the only ones invested in cloud computing. Just about every major technology company is using this form of storage and analysis. IBM published its own list of cloud computing benefits:
Flexibility
- Scalability
- Cloud infrastructure scales on demand to support fluctuating workloads.
- Storage options
- Users can choose public, private, or hybrid offerings depending on security needs and other considerations.
- Control choices
- Organizations can determine their level of control with as-a-service options. These include software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS).
- Tool selection
- Users can select from a menu of prebuilt tools and features to build a solution that fits their specific needs.
- Security features
- Virtual private cloud, encryption, and API keys help keep data secure.
Efficiency
- Accessibility
- Cloud-based applications and data are accessible from virtually any Internet-connected device.
- Speed to market
- Developing in the cloud enables users to get their applications to market quickly.
- Data security
- Hardware failures do not result in data loss because of networked backups.
- Savings on equipment
- Cloud computing uses remote resources, saving organizations the cost of servers and other equipment.
- Pay structure
- A “utility” pay structure means users only pay for the resources they use.
Strategic value
- Streamlined work
- Cloud service providers (CSPs) manage underlying infrastructure, enabling organizations to focus on application development and other priorities.
- Regular updates
- Service providers regularly update offerings to give users the most up-to-date technology.
- Collaboration
- Worldwide access means teams can collaborate from widespread locations.
- Competitive edge
- Organizations can move more nimbly than competitors who must devote IT resources to managing infrastructure.
With clouds come storms
Cloud computing is an essential feature of any large-scale IoT deployment. It is a way for leading tech companies to offer enterprises and individuals their own space to store and use the ever-growing pile of data being gathered by smart devices. But not everything about storing data on the internet is beneficial when compared to older, hardware-centric methods.
Cloud Academy, an educational platform on cloud computing, provides a list of disadvantages for this solution.
Downtime
This may be one of the worst disadvantages of cloud computing. No cloud provider, even the very best, would claim immunity to service outages. Cloud computing systems are internet based, which means your access is fully dependent on your Internet connection. And, like any hardware, cloud platforms themselves can fail for any one of a thousand reasons.
Can your business absorb a prolonged bout of frequent outages or slowdowns? And don’t think it doesn’t happen. 2014 saw more than a few incidents where service providers like DropBox faced an outage for as long as two days. Consider these two key points:
- Which of your business processes can be delayed or halted if the service provider goes down?
- When your internet connection is down, all your applications drop offline.
Cloud Computing disadvantages: Security and privacy
Any discussion involving data must address security and privacy, especially when it comes to managing sensitive data. We mustn’t forget Code Space and what happened to it after its AWS EC2 console was hacked and its data eventually deleted, forcing the company to close doors forever. By leveraging a remote cloud based infrastructure, a company basically outsources everything it has.
Of course, your cloud service provider is expected to manage and safeguard the underlying hardware infrastructure of a deployment, however remote access is your responsibility and, in any case, no system is perfectly secure. You’ll have to carefully weigh all the risk scenarios.
After the recent leaks of celebrity pictures and countless millions of user login credentials, the privacy of your cloud-based data is another consideration. How much can you trust your provider? Can you face this, which is one of the riskiest disadvantages of cloud computing?
Cloud Computing disadvantages: Vulnerability to attack
In cloud computing, every component is potentially accessible from the Internet. Of course, nothing connected to the Internet is perfectly secure and even the best teams suffer severe attacks and security breeches. But since cloud computing is built as a public service and it’s easy to run before you learn to walk. No one at AWS checks your administration skills before granting you an account: all it takes to get started is a valid credit card.
Limited control and flexibility
To varying degrees (depending on the particular service) cloud users have limited control over the function and execution of their hosting infrastructure. Cloud provider EULAs and management policies might impose limits on what customers can do with their deployments. Customers are also limited to the control and management of their applications, data, and services, but not the backend infrastructure. Of course, none of this will normally be a problem, but it should be taken into account.
Cloud Computing platform dependencies
Implicit dependency, also known as “vendor lock-in” is another of the disadvantages of cloud computing. Deep-rooted differences between vendor systems can sometimes make it impossible to migrate from one cloud platform to another. Not only can it be complex and expensive to reconfigure your applications to meet the requirements of a new host, but migration could also expose your data to additional security and privacy vulnerabilities.
Cloud Computing costs
Cloud computing – especially on a small scale and for short term projects – can be pricey. Though it can allow you to reduce staff and hardware costs, the overall price tag could end up higher than you expected. Until you’re sure of what will work best for you, it’s a good idea to experiment with a variety of offerings.