logo

Faraz Ali

What is Cloud Computing? History, Types, Prviders and Benifits

What is Cloud Computing? History, Types, Prviders and Benifits

On-demand availability of computer resources over the internet, especially computing power, storage, networking, and more...

So what does the word cloud mean in cloud computing? The term was chosen to signify the abstraction of complex infrastructure and technical details involved in delivering computing services.

So in "essence,"  cloud computing refers to the delivery of a computing service without the need for extensive local infrastructure or expertise.

The concept of cloud computing was introduced between 1950 and 1960, when mainframe computers were in vogue. Back then, terminals were used to access the central computers, which resembles the modern concept of cloud computing.

Before Google, Facebook, and Microsoft, even before the internet, there was a scientist at MIT John MacCharty who first gave the idea of cloud computing, which in his vision was computer utility.

“Computing may someday be organized as a public utility just as the telephone system is a public utility,” Professor John McCarthy said at MIT’s centennial celebration in 1961. “Each subscriber needs to pay only for the capacity he actually uses, but he has access to all programming languages characteristic of a very large system … Certain subscribers might offer service to other subscribers … The computer utility could become the basis of a new and important industry.”

John MacCharty precisely describes today's concept of cloud computing, as nowadays anyone has access to cloud computing as a public utility. He also gives the concept that the best thing a cloud provider should have is the pay-as-you-go model.

IBM released virtual machines in the 1970s with the VM/370 operating system. IBM VM/370 allows multiple VMs to be setup on a mainframe computer. This allows a single computer to run multiple environments at the same time on a single machine. IBM also provides source code for VM/370 to customers to make configurations according to their requirements.

Virtualization is the key technology that makes cloud computing work.

In 1999, Salesforce.com began offering users CRM (customer relationship management) as SaaS (software as a service), which is one type of cloud computing. This software allows users to access their software through a website instead of installing it on their computer.

Salesforce's Sass model, which hosts software and customer data on the internet as a subscription service, became quickly popular among people.

Jeff Bezos founded Amazon.com in 1994 as an online Book store which after becomes world biggest ecommerce platform.

AWS(Amazon Web Services) became a side project at Amazon in 2000 and it was launched in 2006.

The idea for AWS started in 2003 at an executive retreat at Jeff Bezos' house, when the team identified skills they hadn't considered, such as operating system for the internet, fulfilling orders, and offering a broad selection of products. In 2005, AWS senior technologist Allan Vermeulen sketched the initial design principles for a key cloud-computing service on a napkin.

AWS was initially designed to support Amazon's e-commerce business, but was soon made available to other businesses to build, deploy, and scale applications in the cloud. AWS is now the leading cloud computing platform, serving millions of customers worldwide and offering over 200 services across various categories.

There are mainly five types of cloud computing available todays.

1. SaaS (Software as a Service)

Saas, or Software as a Service is a way to provide user a software which will be hosted on their platform and user can access it using subscription model from anywhere in the world over the internet.

There are tons of examples of SaaS that people use frequently.

  • Slack (a business communication platform)
  • Google Analytics 
  • DropBox (storage service)
  • MailChimp (marketing automation and email marketing)
ProsCons
AccessibilityLack of Customization
CheaperDependent on service infrastructure
ScalableCompromise Security
Easy to implementData stored offsite
  1. PaaS (Platform as a Service)

PaaS, or platform as a service, is a cloud computing model that provides a scalable, flexible, and easy-to-manage platform to develop, run, and manage applications.

PaaS allows developers to build, maintain, and manage their applications without caring about infrastructure. PaaS provides and offers various programming tools, frameworks, and databases. The biggest advantage of PaaS is its low risk, simplified development, scalability, and easy migrations.

Examples for PaaS:

  • AWS Elastic Beanstalk
  • Google App Engine
  • Adobe Commerce
  • Quickbase
ProsCons
Cost-effectiveLess Control
Time SaverOngoing Cost
Simplified App DevelopmentUnexpexted Overages

Reduced operational burden; added complexity with multi-cloud

  1. IaaS (Infrastructure as a Service)

PaaS is a type of cloud computing in which a CSP(cloud service provider) provides access to computer resources such as storage, computing power, networking and tons of service through internet.

Some examples for IaaS CSPs:

  • AWS (Amazon Web Services)
  • Microsoft Azure
  • GCP (Google Cloud platform)
  • Alibaba Cloud
ProsCons
Scalability: Provides flexible scalability options, allowing businesses to scale resources up or down based on demand.Management Complexity: Requires more management effort compared to higher-level cloud services, as users are responsible for managing the infrastructure.
Customization: Offers extensive customization options, allowing users to tailor infrastructure components to their specific requirements.Initial Setup Time: Setting up and configuring infrastructure can be time-consuming, especially for complex deployments.
Control: Provides users with greater control over the underlying infrastructure, enabling fine-grained configuration and optimization.Resource Management: Users are responsible for resource provisioning, monitoring, and optimization, which can be complex and time-intensive.
Cost Transparency: Offers transparent pricing models, allowing users to have better visibility into their infrastructure costs.Potential Over-provisioning: Without proper monitoring and optimization, there's a risk of over-provisioning resources, leading to increased costs.
Security: Allows users to implement custom security measures tailored to their specific needs, providing greater control over security policies.Security Responsibilities: Users bear the responsibility for implementing and managing security measures, including network security and access controls.
Flexibility: Supports a wide range of operating systems, programming languages, and applications, enabling diverse workload deployments.Vendor Lock-in: Users may face vendor lock-in if they heavily rely on proprietary IaaS features or APIs.
Scalability: Offers rapid scalability, allowing users to quickly provision additional resources to accommodate growth or sudden spikes in demand.Dependency on Internet Connectivity: Relies on internet connectivity for accessing and managing cloud resources, which may pose challenges in certain scenarios.
Disaster Recovery: Provides built-in disaster recovery features, such as backup and replication, helping ensure data resilience and business continuity.Performance Variability: Performance may vary depending on factors such as shared resources, network latency, and virtualization overhead.
  1. FaaS (Function as a Service)

Function as a Service (FaaS) is a cloud computing model that allows developers to manage, create and run applications without having to maintain or build insfrastructure. In this model CPSs manage all the insfrastructure including all aspects of computing envirements, middlewares, Operating systems, hardware and applications.

FaaS is a serverless way to run modular pieces of code on the edge. Developers can write and update code that can be executed in response to events, such as a user clicking on a web application element. With FaaS, the CSP automatically manages the physical hardware, virtual machine operating system, and web server software management.

some example for FaaS:

  • AWS Lambda
  • Google Cloud Functions
  • Alibaba Cloud Function Compute
  • IBM Cloud Functions
ProsCons
Scalability: Scales automatically based on demand, handling varying workloads efficiently.Cold Start: May experience latency during initial function invocation due to cold start times.
Cost-effective: Pay only for the resources used during function execution, minimizing overhead.Vendor Lock-in: Relies heavily on the FaaS provider's ecosystem, making migration challenging.
Increased developer productivity: Allows developers to focus solely on writing code without worrying about infrastructure management.Limited Execution Time: Functions are typically restricted in execution duration, which may not suit all use cases.
Elasticity: Can quickly scale up or down in response to workload changes, ensuring optimal resource utilization.Resource Constraints: Limited control over underlying infrastructure resources, which may affect performance in specific scenarios.
Reduced operational complexity: Abstracts away infrastructure management tasks, reducing operational overhead for development teams.State Management: Stateless nature of functions may introduce complexities in managing and persisting state across invocations.
Event-driven architecture: Well-suited for event-driven and asynchronous workloads, enabling seamless integration with various event sources.Debugging and Monitoring: Debugging and monitoring distributed systems can be more challenging compared to traditional architectures.
Fault tolerance: FaaS platforms often provide built-in mechanisms for fault tolerance and resilience, enhancing application reliability.Limited Language Support: Support for programming languages may be limited compared to traditional platforms.
On-demand execution: Functions are invoked only when needed, reducing resource wastage during idle periods.Security Concerns: Introducing more attack surfaces, potentially increasing security risks if not properly managed.
  1. CaaS (Container as a Service)

CaaS, or Containers as a Service, is a cloud computing model where users can deploy, manage, and scale containers without the complexity of handling the underlying infrastructure. In CaaS, container orchestration platforms such as Kubernetes or Docker Swarm abstract away the complexities of container management, allowing developers to focus on building and deploying applications quickly and efficiently. CaaS provides a flexible and scalable environment for running containerized applications, making it easier to deploy microservices-based architectures and streamline DevOps workflows.

  • Amazon Elastic Container Service (ECS)
  • Google Kubernetes Engine (GKE)
  • Microsoft Azure Kubernetes Service (AKS)
  • Docker Enterprise
  • Red Hat OpenShift
ProsCons
Simplifies deploymentDependency on third-party infrastructure
ScalablePotential vendor lock-in
Efficient resource utilizationLimited control over underlying infrastructure
Enables microservices architectureSecurity concerns due to shared environment

some of the famouse Cloud Service Providers:

  1. Amazon Web Services (AWS):

    • Amazon Elastic Compute Cloud (EC2): Provides resizable compute capacity in the cloud.
    • Amazon Simple Storage Service (S3): Offers scalable object storage for data backup, archival, and analytics.
    • Amazon Relational Database Service (RDS): Manages relational databases in the cloud, supporting multiple database engines like MySQL, PostgreSQL, Oracle, and SQL Server.
    • Amazon Lambda: Facilitates serverless computing, allowing you to run code without provisioning or managing servers.
  2. Microsoft Azure:

    • Azure Virtual Machines: Similar to AWS EC2, it offers scalable computing capacity in the cloud.
    • Azure Blob Storage: Provides massively scalable object storage for unstructured data.
    • Azure SQL Database: Fully managed relational database service built for app development and deployment.
    • Azure Functions: Allows you to run small pieces of code, or "functions," without having to provision or manage infrastructure.
  3. Google Cloud Platform (GCP):

    • Google Compute Engine: Infrastructure as a Service (IaaS) offering virtual machines on Google's global infrastructure.
    • Google Cloud Storage: Object storage designed to store large, unstructured data sets.
    • Google Cloud SQL: Fully managed relational database service for MySQL, PostgreSQL, and SQL Server.
    • Google Cloud Functions: Serverless execution environment for building and connecting cloud services.
  4. IBM Cloud:

    • IBM Virtual Servers: Offers scalable virtual servers on IBM's global cloud infrastructure.
    • IBM Cloud Object Storage: Provides scalable, durable, and highly available object storage.
    • IBM Db2 on Cloud: Fully managed SQL database service.
    • IBM Cloud Functions: Enables the deployment of event-driven, serverless functions.
  5. Oracle Cloud:

    • Oracle Compute: Provides scalable computing resources in the cloud.
    • Oracle Object Storage: Scalable, highly available, and durable storage for large amounts of unstructured data.
    • Oracle Autonomous Database: Self-driving, self-securing, and self-repairing database service.
    • Oracle Functions: Serverless computing platform for building and deploying applications without managing infrastructure.
  1. Scalability: Cloud services can scale up or down quickly to accommodate changing workloads and demand. This scalability ensures that businesses only pay for the resources they need, optimizing cost efficiency.

  2. Cost Efficiency: Cloud computing eliminates the need for upfront infrastructure investments and ongoing maintenance costs associated with physical servers. It operates on a pay-as-you-go model, where businesses only pay for the resources they consume.

  3. Flexibility and Accessibility: Cloud services can be accessed from anywhere with an internet connection, allowing employees to work remotely and collaborate more effectively. This flexibility also enables businesses to quickly adapt to changing market conditions and customer demands.

  4. Reliability and Redundancy: Cloud providers typically offer robust infrastructure with built-in redundancy and failover mechanisms, ensuring high availability.

Loading comments...