DEV Community

Cover image for Evolution and use case for cloud computing
Nwike Odigwe
Nwike Odigwe

Posted on

Evolution and use case for cloud computing

With cloud computing being an integral part of modern technology, the evolution in computing and provisioning of computing resources/services aims to provide more efficient and effective ways to store and process data. With limitations to availability and access to computing resources, the need for a system of services – including servers, storage, database, networking, software, analytics, intelligence over the internet to help business gain economies of scale becomes increasingly prevalent.

History of cloud computing

Cloud computing has revolutionized how businesses operate, offering unparalleled flexibility, scalability and cost effectiveness. Cloud computing as we know it today was just a concept that traces back to the 1960’s with the time sharing model. During this time, computers were both huge and expensive, so not all companies were able to afford one. To tackle this, users “time shared” a computer, basically renting access to use a computer’s computational power and share the cost of running it. It was during this time John McCarthy suggested that computing can be organized and provided as a utility just like electricity and water. However, it was not until 1990’s the idea started to gain momentum. The term “cloud computing” was first used by Ramnath Chellappa in a paper on the economies of cloud computing in 1997. There he defined cloud computing as a

computing paradigm where the boundaries of computing will be determined by economic rationale rather than technical limits alone.
In the 1970’s the creation of virtual machines took the time sharing model to a different level. This concept introduced the housing of different computing environment in one physical environment. This key development made it possible for cloud computing to be what we know it to be today.

Cloud computing today

The early 2000 without a doubt marked the pivotal moment in the evolution in cloud computing. In 2006 Amazon web service introduced the world to a new way of accessing and managing computer resources. Rather than investing in expensive physical hardware, businesses are able to gain access to on-demand computer resources. This was revolutionary to how business operate giving the flexibility and scalability potential that cloud computing offered. With organization of different sizes across multiple industries using cloud computing for various use cases. For example in the UK, the percentage of businesses using cloud computing increased from 48% in 2010 to 88% in 2017. Without a doubt, cloud computing has gained major popularity, with major tech companies like Microsoft and Google entering the market with their own cloud platforms, Azure and Google cloud platform respectively.

What is cloud computing.
According to Amazon, cloud computing is the delivery of on-demand computing resources over the internet with a pay-as-you-go pricing. Cloud computing is the provisioning of IT services such as storage, servers, networking, database, analytics, in a way that end users can access at any given time. This model eliminate the need for organizations to own physical hardware, thereby enabling flexibility, scalability and cost-efficiency. Organizations are able to focus more on innovation rather than infrastructure management.

Service models of cloud computing.

As cloud computing continues to grow in popularity, several models and deployment strategies continue to emerge to suit the individual needs of different users. With each model providing you with different level of control, flexibility and management. Some of the models include;

  • Infrastructure as a services(Iaas) – Iaas provides the building blocks of cloud IT. Providing a visualization of computing resources such as networking and storage. Iaas vendors can provide you with the highest level of control and flexibility over your IT resources.
  • Platform as a service (Paas) – Paas removes the need for organizations to manage underlying infrastructure, allowing for effective deployment and management of applications. This improves efficiency, by removing the need for procurement, capacity planning, software maintenance, patching or any other undifferentiated heavy lifting involved in running applications
  • Software as a service (Saas) – Saas provides a complete product, eliminating the need to run and manage the software. Saas vendors like Gmail, CRM software provides you with the software without the need to worry about how the software is run and underlying infrastructure for managing the software. Also known as cloud-based software or cloud application

Essential characteristics of cloud computing

As defined by the National Institute of Standards and Technology (NIST) and widely accepted by the tech industry, some of the characteristics include;

  • On-demand self-service – With on-demand self-service, users can provision computing resources such as database, servers, storage, networking as needed without human intervention.
  • Broad-access network – Services are accessed over the internet through a broad range of devices like, mobile phone, tablets, laptops, ensuring universal access.
  • Resource pooling – Cloud providers are able to service multiple customers know as ‘’tenants’’ with provisional and scalable services, Hence, dynamically allocating computing resources based on demand.
  • Rapid elasticity – Resources can be scaled automatically or manually to meet users demand. This ensures adaptability as well as cost efficiency to fluctuating workload.
  • Measured service – To provide transparency for both the consumer and provider, resource usage is monitored, controlled and reported.
  • Multi tenancy – Cloud providers can support multiple tenants on a single set of shared resources. This ensures cost efficiency while maintaining isolation for data privacy and security.
  • Resilience – Through geographically distributed data centers, cloud computing provides high availability and data recovery capability hence ensuring minimal downtime
  • Security – With robust access controls, encryption and compliance to regulations like the GDPR and HIPAA, cloud providers are able to guarantee data protection

Cloud computing adoption use case

According to the International Data Cooperation (IDC) the estimated spending on cloud services/computing is estimated to exceed USD 1 Trillion in 2024. Cloud compute has a varied range of use cases across various industries and these include;

  • Scale Infrastructure – Rapid horizontal and vertical scaling to easily accommodate the varied demand of businesses. This gives businesses access to configure compute capacity as a fully self-managed cloud service for any type of workload.
  • Disaster recovery and backup – Companies like google and Dropbox use cloud services to offer data backup and recovery. This provides cost effective redundancy to protect data against the effect of system failure.
  • Build and test cloud native applications – cloud offers on-demand end-user self-service to helps streamline the development and testing of cloud applications. Through rapid provisioning of test and development servers, it reduces development bottleneck.
  • Artificial intelligence and machine learning (AI/ML) – cloud technology makes it possible for storing and processing huge volume of data also at high speed as in the case of OpenAI where cloud resources are used to train large-scale AI models like ChatGPT.
  • Support edge and IoT environments – cloud computing addresses the issue of latency and downtime by bring data sources closer to the edge. This proximity to data source can be beneficial to business providing faster insights, improved response time and better bandwidth availability.

Benefit of cloud computing

In comparison to traditional on-premise IT that requires businesses to own physical infrastructure, cloud computing offers a range of benefits which include;

  • Cost-effectiveness – Cloud computing allow businesses to abstract the need to purchase and maintain mainframe computers and other on-premise infrastructures. Businesses only have to pay for cloud based infrastructure and according to usage. This provides cost efficiency in the development and maintenance of applications.
  • Increased speed and agility – Cloud computing empowers DevOps and other development teams through availability of infrastructure required to run enterprise applications without the need to configure supporting hardware and install software. This allows for teams to effectively collaborate and ensure access to needed resources.
  • Unlimited scalability – Cloud services are easily scalable, ensuring that the needed resources are not overprovisioned. Instead of purchasing infrastructure that sits idle during period of low traffic, cloud computing can scale up or down during period of spikes and dips in traffic.
  • Enhanced strategic value – One of the competitive advantage cloud computing offers to businesses is the provision of various up-to-date innovations. For instance in retail, banking, and other customer facing industries, generative AI virtual assistance delivered over the cloud can deliver better customer response time and free up teams to focus on higher level work.

Challenges of cloud computing

Given the numerous advantages and benefits of cloud computing, there however are challenges that impacts it’s adoption and use. Below are the pressing challenges that business may need to address;

  • Security and privacy – Data security and privacy is a major concern when switching to cloud computing. User and Organizational data stored in the cloud is critical and private. Not only are the data vulnerable to breaching but also adhering to compliance laws like the GDPR and HIPAA adds a level of complexity.
  • Cost management – If not monitored, the pay-as-you-go model could incur a high cost for business. With Idle and underutilized services adding to operational cost. Unused resources could also be a reason for incurring high cost. If for example you turn on a service or an instance of a cloud and forget to turn it off, this could result in incurring high cost
  • Performance challenge – Latency in cloud computing can be as a result of inefficient load balancing. This means that the server cannot effectively split incoming traffic to provide the best user experience. If performance in unsatisfactory, this could lead to loss of users and loss to the business.
  • Skill gap – Cloud computing requires highly specialized knowledge. Also continuous evolution in cloud computing requires the continuous up skilling of IT professionals so they can actively understand be better equipped to develop and manage cloud applications with maximum reliability.
  • Downtime and reliability - Cloud services are susceptible to outage due to technical failures and cyber-attacks. The provision of resources in real time can prove to be highly vulnerable in the case of limited bandwidth or sudden outage.

Summary

The inception and evolution of cloud computing has fundamentally changed the way businesses operate, offering limitless scalability and flexibility in how computing resources can be allocated. This saves cost on procurement and management of on-premise infrastructure thereby resulting in cost efficiency in development and deployment of applications. Cloud computing continues to revolutionize how businesses operating allowing businesses to concentrate on innovation rather than complex IT infrastructure with the shift from Iaas to Paas and to Saas. These service model will probably develop further with some of the recent trends such as serverless computing that allows developers focus solely on writing code. These evolutions aim to provide increasingly advanced and integrated solutions to meet the needs of businesses. Cloud computing aims to provide incredibly advanced automations, Intelligence and personalization resulting in increased efficiency and agility

Top comments (0)