In the first part of this essay, we discussed several factors that actively contribute to the fragility of cloud platforms. Despite the robustness of cloud infrastructures such as AWS or Azure, its massive mainstream adoption drastically increases the potential catastrophic effects of any type of error.
Increasing the resiliency against large and unexpected cloud outages is far from being a trivial task. Technologies that provide an alternative to the centralized models of cloud platforms imply don’t offer the levels of sophistication and the rich feature set of cloud stacks such as Azure, AWS or Google Cloud. Additionally, there is always a financial cost associated with architecting more anti-fragile cloud solutions which results prohibited for most organizations.
The case to avoid the fragility of the cloud on mission-critical applications can be summarized in two main phases: In the near future, we can attempt to mitigate some of the risk by considering enhanced versions of technologies such as Cloudfoundry which provides an infrastructure agnostic cloud programming models. In the loger term, I believe that we are going to see the emergence of decentralized PaaS stacks.
An Enhanced Cloudfoundry
Cloudfoundry is a great platform fro designing cloud infrastructure agnostic applications. However, it is undeniable that the capabilities of Cloudfoundry are relatively limited compared to platforms such as AWS, Azure or Google Cloud. From that perspective, applications built using Cloudfoundry can’t take advantage of some of the vintage services such as BigQuery, Azure Service Bus or AWS Kinesis included in the incumbent PaaS platforms.
An interesting idea in this context would be to extend Cloudfoundry with services that match the capabilities of the different PaaS stacks and adapter that provide the implementation for a specific cloud service .For instance, we could have a Cloudfroundry messaging service with adapters for Azure Service Bus, Google lCloud Pubsub or AWS SQS or a Cloudfoundry Data Warehouse service with adapters for AWS Redshift, Google Spanner or Azure Data Warehouse.
Using this model, we could build Cloudfoundry applications that expand across multiple clouds while taking advantage of the core services of the underlying platform. I would be the first one to admit that this model is far from idea but it could yield interesting results for mission critical applications that expand across multiple clouds.
The Emergence of the Decentralized PaaS
The evolution of blockchain technologies and the emergence of higher-level platforms such as Nxt or Blockstack are effectively creating the first generation of decentralized PaaS technologies. Platform such as Ethereum have been able to provide higher level constructs or blockchain applications in the form of smart contracts or decentralized autonomous organizations(DAO). Now stacks such as Eric Tech, Nxt or Blockstack are attempting to enable the implementation of complete applications with a decentralized backend and are taking the first steps towards decentralized PaaS architectures. Although still in early stages, blockchain-powered PaaS could soon become a viable model for applications trying to avoid the fragility of the cloud.