FEATURE : CLOUD
John Graham-Cumming , CTO , Cloudflare , explains how the cloud was not designed for what it must become . He introduces us to the concept of ‘ Supercloud ’ – a global network that ’ s everywhere everyone is , bound together by software that turns the globe into a single cloud that is performant , scalable , available , private and cost-efficient .
In Cloudflare ’ s S-1 document there ’ s a section that begins : “ The Internet was not built for what it has become ”. That sentence expresses the idea that the Internet , which started as an experiment , has blossomed into something we all need to rely upon for our daily lives and work . And that more is needed than just the Internet as was designed ; it needed security and performance and privacy .
Something similar can be said about the cloud : the cloud was not designed for what it must become .
The introduction of services like Amazon EC2 was undoubtedly a huge improvement on the old way of buying and installing racks and racks of servers and storage systems , and then maintaining them .
But by its nature the cloud was a virtualization of the older real world infrastructure and not a radical rethink of what computing should look like to meet the demands of Internet-scale businesses . It ’ s as if steam locomotives were replaced with efficient electric engines but still required a chimney on top and stopped to take on water every 200 miles .
The cloud replaced the rituals of buying servers and installing operating systems with new and now familiar rituals of choosing regions , and provisioning virtual machines , and keeping code artificially warm .
But along the way glimpses of light are seen through the cloud in the form of lambdas , or edges , or functions , or serverless . All are trying to give a name to a model of cloud computing that promises to make developers highly productive at scaling from one to Internet-scale . It ’ s a model that rather than virtualizing machines or disks or wrapping things in containers says : “ write code , we ’ ll run it , don ’ t sweat the details like scaling or location ”.
We ’ re calling that the Supercloud .
The foundations of the Supercloud are compute and data services that make running any size application efficient and infinitely scalable without the baggage of the cloud as it exists today .
The foundations of the Supercloud
Some years ago a movement called NoSQL developed new ways of storing and processing data that didn ’ t rely on databases . Key-value stores and document stores flourished because rather than thinking about data at the granularity of databases or tables or even rows , they made a direct connection between code and data at a simple level .
You can think of NoSQL as a drive towards granularity . And it worked . NoSQL stores , KVs , object stores ( like R2 ) abound . The rise of MapReduce for processing data is also about granularity ; by breaking data processing into easily scaled pieces ( the map and the reduce ) it was possible to handle huge amounts of data efficiently and scale up and down as needed .
The same thing is happening for cloud code . Just as programmers didn ’ t always want to think in databasesized chunks , they shouldn ’ t have to think about VM- or container-sized chunks . It ’ s inefficient and has nothing to do with the actual job of writing code to create a service . It ’ s unnecessary work that distracts from the real value of programming something into existence .
In distributed programming theory , granularity has been around for a long time . The CSP model is of
Welcome to the Supercloud – built for scale and performance
40 INTELLIGENTCIO NORTH AMERICA www . intelligentcio . com