Cloud
Cloud
Cloud Computing means storing and accessing the data and programs on remote servers
that are hosted on the internet instead of the computer’s hard drive or local server. Cloud
computing is also referred to as Internet-based computing; it is a technology where the
resource is provided as a service through the Internet to the user. The data that is stored can
be files, images, documents, or any other storable document.
Mainframe computing in the 1950s and the internet explosion in the 1990s came together to
give rise to cloud computing. Since businesses like Amazon, Google, and Sales force
started providing web-based services in the early 2000s. The term “cloud computing” has
gained popularity. Scalability, adaptability, and cost-effectiveness are to be facilitated by
the concept’s on-demand internet-based access to computational resources.
These days, cloud computing is pervasive, driving a wide range of services across markets
and transforming the processing, storage, and retrieval of data
The following are some of the Operations that can be performed with Cloud Computing
Storage, backup, and recovery of data
Delivery of software on demand
Development of new applications and services
Streaming videos and audio
A cloud can be private, public or a hybrid. A public cloud sells services to anyone on the
internet. A private cloud is a proprietary network or a data centre that supplies hosted services
to a limited number of people, with certain access and permissions settings. A hybrid cloud
offers a mixed computing environment where data and resources can be shared between both
public and private clouds. Regardless of the type, the goal of cloud computing is to provide
easy, scalable access to computing resources and IT services.
Cloud computing architecture refers to the components and sub-components required for
cloud computing. These components typically refer to:
1. Front end ( Fat client, Thin client)
2. Back-end platforms ( Servers, Storage )
3. Cloud-based delivery and a network ( Internet, Intranet, Intercloud )
Cloud computing deployment models describe how cloud resources are offered to and used
by individuals or organizations. These models define the environment where your data,
applications, and services are stored and managed. There are four main deployment models:
Public Cloud, Private Cloud, Hybrid Cloud, and Community Cloud. Let’s explore each
in detail with simple explanations.
1. Public Cloud
The public cloud is a type of cloud service that is available to everyone over the internet. It is
owned and managed by a third-party provider, such as Amazon Web Services (AWS),
Microsoft Azure, or Google Cloud. The provider is responsible for maintaining the
infrastructure, and users simply rent the resources they need, such as storage, computing
power, or software.
The public cloud is like renting a house where you don’t have to worry about maintenance or
repairs. You pay only for what you use, and the service is shared among many users. It’s very
convenient and cost-effective for businesses that don’t want to invest in their own
infrastructure. However, since it’s shared, it may not be suitable for storing very sensitive or
confidential information.
2. Private Cloud
A private cloud is designed specifically for one organization and is not shared with others. It
can be hosted either on the organization’s premises or by a third-party provider. This model
gives the organization complete control over the cloud environment, including its security,
customization, and management.
Think of the private cloud as owning your own house. You have complete control over how it
is maintained and used, but you also bear all the costs and responsibilities. Private clouds are
commonly used by organizations that handle sensitive data, such as banks or government
agencies, because they offer higher security and privacy compared to public clouds.
3. Hybrid Cloud
The hybrid cloud is a combination of public and private clouds. It allows organizations to use
both types of clouds depending on their needs. For example, a company might use a private
cloud to store sensitive data and a public cloud for running applications with less critical
information.
This model provides flexibility and cost savings. It’s like owning a house but using a hotel
for occasional stays when you need extra space. However, managing a hybrid cloud can be
challenging because it requires coordinating between two different environments.
4. Community Cloud
This model is like a shared apartment where everyone has a common purpose and shares the
expenses. It is particularly useful for industries or groups that have specific compliance or
security requirements.
IaaS is the foundational layer of cloud computing. It provides users with access to virtualized
hardware resources such as servers, storage, and networks. These resources are delivered
over the internet, allowing users to avoid the cost and complexity of purchasing and
maintaining physical hardware.
With IaaS, the cloud provider manages the hardware, while the user is responsible for
installing and maintaining the operating system, applications, and data. This model is highly
flexible and scalable, making it suitable for businesses that need to quickly adapt to changing
demands. For example, a company can easily add more storage or computing power during
peak times and scale down during quieter periods.
Example: Amazon EC2, Microsoft Azure Virtual Machines, Google Compute Engine
PaaS builds on IaaS by providing not just hardware but also a complete development
environment. This includes tools, operating systems, and frameworks that developers can use
to create, test, and deploy applications.
In this model, the cloud provider manages the underlying infrastructure, including servers,
storage, and networking, as well as the tools and software required for development. The user
only focuses on developing and managing their applications. This simplifies the development
process, as developers don’t need to worry about infrastructure details like installing updates
or ensuring compatibility between components.
Example: Google App Engine, Microsoft Azure App Services, AWS Elastic Beanstalk.
SaaS is the top layer of the cloud reference model and provides users with fully developed
software applications delivered over the internet. These applications are ready to use, and
users don’t need to worry about installation, maintenance, or updates, as everything is
managed by the cloud provider.
SaaS is designed for end-users who want to use specific applications for tasks like email, file
storage, or video conferencing. Examples include email services, online file storage, and
collaboration tools. The simplicity of SaaS lies in its ease of access—users only need an
internet connection and a web browser to use these services.
1. on-Demand Self-Service: This means users can access and use cloud resources, like
storage or computing power, whenever they need them, without waiting for manual approval
or setup by a provider.
2. Broad Network Access: Cloud services are available over the internet and can be
accessed from anywhere using various devices, such as laptops, smartphones, or tablets. This
ensures flexibility and convenience, allowing users to work or access data from any location.
3. Resource Pooling: Cloud providers use a shared pool of resources (such as servers,
storage, and networks) to serve multiple users. These resources are allocated dynamically
based on user demand. It’s like a power grid where electricity is distributed to various
households based on their needs.
4. Scalability and Elasticity: Cloud computing allows resources to scale up or down easily,
depending on the user's needs. For example, if a website gets more traffic, the cloud can
automatically provide more servers to handle it. Once the traffic reduces, the extra servers are
scaled down, saving costs.
5. Measured Service: Cloud computing follows a pay-as-you-go model. Users are only
charged for what they use, whether it’s storage, bandwidth, or processing power. It’s like
paying your electricity bill—you're charged based on your actual consumption.
6. Security: Cloud providers implement advanced security measures to protect data and
resources. This includes encryption, firewalls, and regular updates to ensure data is safe from
cyber threats. However, users must also follow best practices to maintain security on their
end.
8. Cost Efficiency: Cloud computing eliminates the need for businesses to invest in
expensive hardware or infrastructure. Instead, they can rent resources as needed, reducing
upfront costs and on-going maintenance expenses.
9. Flexibility and Accessibility: Users can access cloud services from any device with an
internet connection. This flexibility allows for remote work, easy collaboration, and seamless
integration across different platforms.
1. Cost Savings
Cloud computing reduces the need to buy expensive hardware and software. You only
pay for what you use, which makes it affordable, especially for small businesses. It
also eliminates the cost of maintaining servers and other infrastructure.
2. Scalability
you can easily scale resources up or down depending on your needs. For example, if
your business grows, you can add more storage or computing power. If demand
decreases, you can scale back to save costs.
3. Accessibility and Flexibility
Cloud services are accessible from anywhere with an internet connection. This makes
it easy for remote teams to collaborate and for users to access data and applications on
the go.
4. Automatic Updates
Cloud providers handle updates and maintenance, so you don’t have to worry about
keeping software or systems up-to-date. This ensures better performance and security
without extra effort.
5. Disaster Recovery
Cloud computing makes it easy to back up and recover data. In case of hardware
failure or other issues, you can quickly restore your data from the cloud, reducing
downtime.
6. High Performance and Reliability
Cloud providers often have multiple servers in different locations, ensuring high
availability and reliability. If one server fails, others can take over without disrupting
the service.
1. Internet Dependency
Cloud computing requires a reliable internet connection. If your connection is slow or
unavailable, accessing your data and services can be challenging.
2. Security and Privacy Concerns
Although cloud providers implement strong security measures, storing sensitive data
on the cloud can still pose risks. Unauthorized access, data breaches, or hacking are
potential concerns.
3. Limited Control
In the cloud, much of the control over infrastructure and applications lies with the
provider. This lack of direct control can be a disadvantage for businesses that need
customized solutions.
4. Costs for Long-Term Use
While cloud computing reduces upfront costs, it may become expensive in the long
run, especially for businesses that require extensive use of resources.
5. Downtime Risks
Even the best cloud providers can face outages. If the provider’s servers go down,
your services and data may become temporarily unavailable.
6. Compliance Issues
Businesses in regulated industries may face challenges ensuring their data complies
with specific legal or regulatory requirements when using cloud services.
7. Data Transfer Speed
Moving large amounts of data to or from the cloud can take time, especially if the
internet connection is not fast enough.
Distributed Computing
Distributed Computing refers to a system where multiple computers work together to solve
a single problem or perform tasks. These computers are interconnected through a network
and share resources, workloads, and data to achieve a common goal. Instead of relying on one
powerful computer, distributed computing uses many smaller computers to perform
computations efficiently.
In distributed computing, tasks are divided into smaller pieces and assigned to different
computers, called nodes. These nodes communicate with each other, coordinate their efforts,
and combine their results to complete the task. For example, when a large dataset needs to be
analysed, each node may process a small portion of the data and then share the results with
the rest of the system.
1. Improved Performance: Tasks are divided among many computers, leading to faster
processing and reduced workload on a single machine.
2. Scalability: New computers can be added to the system to handle increased demands.
3. Cost Efficiency: Instead of relying on one expensive, high-performance computer,
distributed computing uses multiple cheaper machines.
4. Fault Tolerance: The system can recover from failures because tasks are distributed
across multiple nodes.
5. Resource Sharing: Resources like storage, data, and processing power are shared,
making the system efficient.
1. Internet Search Engines: Companies like Google use distributed computing to index
and search billions of web pages across many servers.
2. Cloud Computing: Services like Google Drive or Microsoft Azure rely on
distributed systems to store and process data.
3. Scientific Research: Projects like SETI@home use distributed computing to analyse
signals from space, dividing the work among thousands of volunteer computers.
4. E-commerce Platforms: Websites like Amazon use distributed computing to manage
large volumes of user requests and transactions efficiently.
Web 2.0 refers to the second generation of the internet, where websites became more
interactive, user-friendly, and participative compared to the earlier static version of the web
(Web 1.0).
1. User-Generated Content
In Web 2.0, users are not just passive viewers but active participants. They can create
and share their own content through blogs, social media, videos, and more. For
example, platforms like YouTube and Wikipedia rely on user contributions.
2. Interactivity
Websites became dynamic and interactive, allowing users to interact with content and
other users in real-time. Features like commenting, liking, and sharing were
introduced, making the web a two-way communication platform.
3. Social Media and Networking
the rise of platforms like Facebook, Twitter, and Instagram made it easier for people
to connect and share experiences with others globally.
4. Rich User Interface (UI)
Web 2.0 websites use technologies like AJAX and JavaScript to create responsive and
visually appealing interfaces. This made web applications feel more like desktop
software, improving usability.
5. Collaboration and Sharing
Tools like Google Docs, Drop box, and wikis allow users to collaborate on projects
and share files in real-time. This fostered teamwork and made remote collaboration
easier.
6. Web Applications
Web 2.0 introduced web-based applications that mimic traditional software, such as
online word processors, spread sheets, and photo editors. These applications are
accessible through browsers without requiring installation.
Web 2.0 relies on several key technologies that enable its dynamic and interactive nature: