Cloud computing

From Internet Computer Wiki
Jump to: navigation, search

Before 2006, the operation of online systems and services involved the use of server computers, which had to be purchased and installed in traditional data centers. As a consequence, capital expenditure on equipment, and hardware maintenance and configuration skills, were necessary requirements. This changed when the Amazon Web Services cloud computing service was launched in March 2006, which allowed customers to spin up virtual server computers at the click of a button.

The customers of cloud computing services are provided with an admin interface through which they can spin up and destroy cloud computing "instances". Instances are virtual server computers, for which the customer is given a username and password that they can use to login and install and run software for their purposes.

In practice, cloud services run multiple instances on each physical server computer that they operate, and different customers share the same hardware devices. This is possible because instances are only guaranteed a fraction of the computing power available to the underlying physical server computers. In principle, an instance may even be briefly paused and then relocated from one server computer to another by the cloud service — the customer has no interaction with the cloud computing provider's underlying hardware infrastructure, which remains under their full control.

A customer of a cloud computing service no longer has to purchase, install, configure and maintain their own hardware. This greatly improves convenience, reduces the skills they need, and provides the flexibility to scale computing activities up and down with need. For example, a startup social media service that suddenly becomes successful, can quickly scale in the cloud by spinning up instances, without which they would need to purchase physical server computers, ship them to data centers, and install and configure them en masse at short notice.

Not surprisingly, cloud computing has become enormously successful because of the convenience and flexibility that it provides. Economies of scale have driven consolidation among a few Big Tech cloud computing service providers, comprising Amazon Web Services, Google Cloud and Microsoft Azure. Between them, they now operate several million server machines from a small number of centralized mega data centers, which are used to run instances for customers.

Outside the Internet Computer universe, today, web3 services and applications perform the vast majority of their data processing and storage on cloud services. In fact, even the blockchains they use run in the cloud. For example, most Ethereum nodes run on AWS. In addition, other trusted services used by blockchain developers, such as Infura and Alchemy, also run on the cloud.

The danger is that Big Tech's cloud computing services could switch off or severely disrupt most web3 services and applications, and most blockchains, simply by tearing down their instances. That this is possible was amply demonstrated when Amazon Web Services shut down the Parler social media service for political reasons. A change in the regulatory environment, or competitive dynamics, could trigger the cloud providers do the same to the blockchain ecosystem with little warning.

Sometimes the danger is hidden several layers down. For example, many of those building web3 services and applications using Ethereum rely heavily on the cloud, and also interact with the Ethereum blockchain via local nodes run by the Infura service. Another similar service is Alchemy. The problem is that these services also run on the cloud, and cloud service providers can instruct them to censor or switch off their users.

Such is the dependency on cloud, that when cloud services suffer outages, this disrupts supposedly decentralized services and blockchains. For example, when Amazon Web Services had an outage, this took down a decentralized exchange.

Another danger is that malicious employees working for cloud services could hack the web3 services and blockchains that depend on them to steal tokens from their users by exploiting a variety of attack vectors. Not only must cloud services that are used directly be trusted, but also cloud services used indirectly by other trusted services like Infura and Alchemy.

These problems do not afflict the Internet Computer ecosystem. The blockchain is hosted by a sovereign network which does not have any nodes running on cloud services, and it provides an architecture that allows developers to build web3 services and applications that run entirely on-chain, without the need for cloud computing or centralized traditional IT.

Outside of the Internet Computer universe, cloud computing is also used manipulate the value of various blockchains, by increasing the number of nodes in their network. Because cloud instances can be spun up with little work and without capital investment, those wishing to juice the value of their tokens use them to spin up thousands of nodes, which provides the impression of greater network decentralization than actually exists.

This is very similar to the manipulation of TVL (total value locked) in DeFi ecosystems, to add value to the hosting blockchain.

It's important to remember that cloud instances of any kind can be spun up without investment, but they can also be switched off by the cloud provider and disappear in a puff of smoke.

The Internet Computer blockchain aims to replace cloud computing entirely by providing an efficient high performance public decentralized network hosted by nodes run by independent node providers from independent data centers.