Cloud computing is still evolving, thanks to the efforts of some of the most well-known names in technology. Here's a quick look at how cloud computing has evolved from its inception to the present day
Cloud is one of the most important innovations in the history of computing. It has revolutionised the way software engineers build applications – with elasticity, resilience, and security built in – and the way we, as consumers, experience technology. Cloud computing continues to evolve, pioneered by some of the best-known names in tech. Here’s a quick look at the evolution of cloud from inception to today.
Historically, large technology companies that provide internet-scale services to their customers have had to build this infrastructure for themselves. While there had been significant innovation in building and managing such large infrastructures at scale, there was still opportunity to enable more efficiencies. Thanks to the cloud, software engineers today can build applications more quickly, resiliently, and efficiently. Today, a new business idea can be proven out in a matter of weeks instead of months or years. The cloud also offers on-demand infrastructure and services that are easily accessible and have greatly increased capacity. If applications are written well and infrastructure is managed well, the pay-as-you-go model may even help reduce costs.
So, how did the cloud become the new foundation for technology?
By enabling nearly every category of technology product to become a service.
Cloud’s first offerings included basic computing (IaaS – Infrastructure-as-a-Service) and storage, and they evolved to provide higher order platforms and data services (PaaS – Platform-as-a-Service), which makes the experience even more seamless. With this, private data centres that companies formerly built and managed themselves with large IT teams could now be managed on the public cloud, freeing up internal technology teams to focus on ways to help grow the business.
Second, the rise of open-source software in the past decade. Open-sourced code can be used-as is or modified by anybody, and is now included in some commercially licensed products. With more companies open-sourcing their software code and providing enterprise features as well as support, many enterprises nowadays intentionally seek software that has an established open-source base to take advantage of the innovation from the community at large. Open source platforms and systems like Kubernetes, Postgres, and Kafka have become de-facto standards. These open-source innovations act like Lego blocks that can be used to build innovations faster.
Third, SaaS (Software-as-a-service provides applications over the Internet) became a fundamental way of consuming software through APIs (Application Programming Interfaces). For businesses providing SaaS, cloud enables centralised delivery of software upgrades and features in addition to a steadier revenue stream. For consumers, it’s a natural extension of consuming computing as a service and reduces management of software on corporate devices. With the growth of data and AI/ML, the increasingly complex tasks of processing and making sense of the data can now be done by a SaaS provider.
By the way
Being on the cloud is not just about the elastic, resilient, and secure compute platforms and services. It is also about refactoring applications to take advantage of these new compute paradigms – cloud-native principles – which include: applications being split into micro-services or functions with well-defined interfaces to interact with each other; automating continuous testing/ integration, and deployment (CI/CD) to manage the software lifecycle; and building stateless applications to help with scale and resilience.
With all the virtues of adopting the cloud, there remains debate about efficiency, including costs, and portability. While cloud resources are easy to spin-up, there is a lot of discipline needed to spin them down when not in use, as well as architecting the application for optimal usage with greatest efficiency by proactively monitoring the allocated resources for utilisation as well as transforming the applications using serverless principles. As for portability, the omnipresent vendor lock-in principle plays out in the cloud too. It would serve you well to build and deploy applications using generic frameworks which can be deployed and moved between clouds. As one might imagine, this is a fast-emerging area.