Technological influences for Cloud computing: Universal Connectivity, Excess Capacity, Open Source Software
Without universal connectivity (universal access to the internet), cloud computing would not be able to progress or advance. Fast, broadband networks, available to all, allows cloud computing to serve and connect businesses, organizations and customers. Thankfully, cloud computings growth is supported by the ongoing worldwide expansion of broadband connections.
According to itfacts.biz:
“As the total number of broadband lines in the world passes 400 mln, Point Topic forecasts that the total in the 40 biggest broadband countries in the world will grow from 393 mn by the end of 2008 to 3 bn by 2025”
The promise of cloud computing is that whenever you want to ramp up a new instance (or hundreds of instances), you can do so with just the click of a button.
For cloud providers, this presents a capacity challenge.
Cloud providers need to ensure that whenever you need compute capacity, they have it ready for you to use. In other words, cloud providers always need to have unused servers ready and waiting for you whenever you choose to click that button. From a business standpoint, spare capacity is never a good thing. Just like any company doesn’t want to be stuck with excess product they can’t sell, cloud providers want to be monetizing every last piece of hardware they own and run. Not to mention the fact that they still need to pay for these servers. Rent, electricity, the hardware itself, setup, and maintenance all cost money.
At the same time, cloud providers can’t be monetizing all of their servers or else customers wouldn’t be able to ramp up their compute when they needed to. So how can cloud providers both leave servers open for new customers AND monetize them?
“Everyday Amazon adds enough compute capacity to its global fleet to power Amazon.com.”
– James Hamilton, VP & Distinguished Engineer, Amazon.com.
The dawn of Spot Instances
Amazon Web Services was the first cloud provider to address this challenge, and did so with a brilliant offering called “Spot Instances”. Announced back in 2009, Spot Instances were launched to solve this very problem. Spot Instances (aka spare capacity at AWS) is how AWS packages their spare capacity to customers – by selling them at a massive discount (usually around 80% off On-Demand prices). This attractive pricing comes with a major caveat. Once AWS needs your Spot Instance for an On-Demand customer, your Spot Instance will be terminated with just two minutes notice. By doing so, AWS was able to monetize their spare capacity without closing them off to new customers
There exists a place for open-source software in cloud computing, in a number of different forms, however there is a mix of opinions towards its use. The people and organisations in favor of using open-source software can cite various advantages, including:
- Lack of license fees and no need to pay for updates/upgrades
- Use of open file formats
- Open and accessible source code
- Easy adoption and low barriers for new users
- New applications can be easily developed and integrated
- Software that can be modified and redistributed
- Avoidance of proprietary lock-in
Proprietary technology can often emerge from the use of open-source software – cloud providers that use software like Linux can customize the services by modifying the source code.
People prefer open source software to proprietary software for a number of reasons, including:
Control. Many people prefer open source software because they have more control over that kind of software. They can examine the code to make sure it’s not doing anything they don’t want it to do, and they can change parts of it they don’t like. Users who aren’t programmers also benefit from open source software, because they can use this software for any purpose they wish—not merely the way someone else thinks they should.
Training. Other people like open source software because it helps them become better programmers. Because open source code is publicly accessible, students can easily study it as they learn to make better software. Students can also share their work with others, inviting comment and critique, as they develop their skills. When people discover mistakes in programs’ source code, they can share those mistakes with others to help them avoid making those same mistakes themselves.
Security. Some people prefer open source software because they consider it more secure and stable than proprietary software. Because anyone can view and modify open source software, someone might spot and correct errors or omissions that a program’s original authors might have missed. And because so many programmers can work on a piece of open source software without asking for permission from original authors, they can fix, update, and upgrade open source software more quickly than they can proprietary software.
Stability. Many users prefer open source software to proprietary software for important, long-term projects. Because programmers publicly distribute the source code for open source software, users relying on that software for critical tasks can be sure their tools won’t disappear or fall into disrepair if their original creators stop working on them. Additionally, open source software tends to both incorporate and operate according to open standards.