Introduction To Cloud Computing
Introduction To Cloud Computing
Introduction To Cloud Computing
Cloud computing refers to the on-demand delivery of IT resources – including servers, storage,
databases, networking, software, analytics, intelligence, and more – over the internet with pay-
as-you-go pricing. These resources are delivered as services, eliminating the need for companies
to invest in and maintain their own physical infrastructure. Think of it as renting computing
power instead of buying your own computer.
Utility Computing: Treats computing resources like a utility (e.g., electricity) where you
pay for what you use.
Service Orientation: Focuses on delivering IT capabilities as well-defined services with
clear interfaces.
Grid Computing: Harnesses the combined processing power and resources of multiple
computers to tackle large-scale tasks.
Hardware Virtualization: Creates virtual machines that mimic the functionality of a
physical computer, allowing for efficient resource utilization on a single physical
machine.
The National Institute of Standards and Technology (NIST) defines cloud computing as a model
for enabling ubiquitous, on-demand network access to a shared pool of configurable computing
resources (e.g., networks, servers, storage, applications, and services) that can be rapidly
provisioned and released with minimal management effort or service provider interaction. This
definition highlights several key characteristics:
On-demand self-service: Users can provision and configure resources as needed without
human interaction.
Broad network access: Resources are accessible over the internet from various devices.
Resource pooling: Resources are dynamically allocated and shared among multiple
users.
Rapid elasticity: Resources can be scaled up or down quickly to meet changing
demands.
Measured service: Resource usage is metered for pay-as-you-go billing.
Cloud Computing can be defined as the practice of using a network of remote servers hosted on
the Internet to store, manage, and process data, rather than a local server or a personal computer.
Companies offering such kinds of cloud computing services are called cloud providers and
typically charge for cloud computing services based on usage.
Cloud computing offers various service models to cater to different needs:
Software as a Service (SaaS): SaaS enables consumers to use the software of the service
provider on demand. The consumer does not have to manage any server- or network-
related issues, except possibly certain configuration settings.
Platform as a Service (PaaS): PaaS gives cloud users the tools to develop applications on
the underlying cloud infrastructure from the cloud provider. The cloud user does not have
to manage the infrastructure itself.
Infrastructure as a Service (IaaS). The deepest layer, in which the user is able to manage
the operating system, storage and sometimes the network. The applications that are
deployed determine how these resources are used. Figure 2.3 shows examples of these
applications
The cloud deployment model identifies the specific type of cloud environment based on
ownership, scale, and access, as well as the cloud’s nature and purpose. The location of the
servers you’re utilizing and who controls them are defined by a cloud deployment model. It
specifies how your cloud infrastructure will look, what you can change, and whether you will be
given services or will have to create everything yourself. Relationships between the
infrastructure and your users are also defined by cloud deployment types.
i. Public Cloud
The public cloud makes it possible for anybody to access systems and services. The public cloud
may be less secure as it is open to everyone. The public cloud is one in which cloud
infrastructure services are provided over the internet to the general people or major industry
groups. The infrastructure in this cloud model is owned by the entity that delivers the cloud
services, not by the consumer. It is a type of cloud hosting that allows customers and users to
easily access systems and services. This form of cloud computing is an excellent example of
cloud hosting, in which service providers supply services to a variety of customers. In this
arrangement, storage backup and retrieval services are given for free, as a subscription, or on a
per-user basis. For example, Google App Engine etc.
Less secure: Public cloud is less secure as resources are public so there is no guarantee of
high-level security.
Low customization: It is accessed by many public so it can’t be customized according to
personal requirements.
The private cloud deployment model is the exact opposite of the public cloud deployment model.
It’s a one-on-one environment for a single user (customer). There is no need to share your
hardware with anyone else. The distinction between private and public clouds is in how you
handle all of the hardware. It is also called the “internal cloud” & it refers to the ability to access
systems and services within a given border or organization. The cloud platform is implemented
in a cloud-based secure environment that is protected by powerful firewalls and under the
supervision of an organization’s IT department. The private cloud gives greater flexibility of
control over cloud resources.
Better Control: You are the sole owner of the property. You gain complete command
over service integration, IT operations, policies, and user behavior.
Data Security and Privacy: It’s suitable for storing corporate information to which only
authorized staff have access. By segmenting resources within the same infrastructure,
improved access and security can be achieved.
Supports Legacy Systems: This approach is designed to work with legacy systems that
are unable to access the public cloud.
Customization: Unlike a public cloud deployment, a private cloud allows a company to
tailor its solution to meet its specific needs.
Less scalable: Private clouds are scaled within a certain range as there is less number of
clients.
Costly: Private clouds are more costly as they provide personalized facilities.
iii. Hybrid Cloud
By bridging the public and private worlds with a layer of proprietary software, hybrid cloud
computing gives the best of both worlds. With a hybrid solution, you may host the app in a safe
environment while taking advantage of the public cloud’s cost savings. Organizations can move
data and applications between different clouds using a combination of two or more cloud
deployment methods, depending on their needs.
Flexibility and control: Businesses with more flexibility can design personalized
solutions that meet their particular needs.
Cost: Because public clouds provide scalability, you’ll only be responsible for paying for
the extra capacity if you require it.
Security: Because data is properly separated, the chances of data theft by attackers are
considerably reduced.
v. Multi-Cloud
We’re talking about employing multiple cloud providers at the same time under this paradigm, as
the name implies. It’s similar to the hybrid cloud deployment approach, which combines public
and private cloud resources. Instead of merging private and public clouds, multi-cloud uses many
public clouds. Although public cloud providers provide numerous tools to improve the reliability
of their services, mishaps still occur. It’s quite rare that two distinct clouds would have an
incident at the same moment. As a result, multi-cloud deployment improves the high availability
of your services even more.
You can mix and match the best features of each cloud provider’s services to suit the
demands of your apps, workloads, and business by choosing different cloud providers.
Reduced Latency: To reduce latency and improve user experience, you can choose cloud
regions and zones that are close to your clients.
High availability of service: It’s quite rare that two distinct clouds would have an incident
at the same moment. So, the multi-cloud deployment improves the high availability of
your services.
Complex: The combination of many clouds makes the system complex and bottlenecks
may occur.
Security issue: Due to the complex structure, there may be loopholes to which a hacker
can take advantage hence, makes the data insecure.
As of now, no such approach fits picking a cloud deployment model. We will always consider
the best cloud deployment model as per our requirements. Here are some factors which should be
considered before choosing the best deployment model.
1) Cost: Cost is an important factor for the cloud deployment model as it tells how much
amount you want to pay for these things.
2) Scalability: Scalability tells about the current activity status and how much we can scale
it.
3) Easy to use: It tells how much your resources are trained and how easily can you manage
these models.
4) Compliance: Compliance tells about the laws and regulations which impact the
implementation of the model.
5) Privacy: Privacy tells about what data you gather for the model.
Each model has some advantages and some disadvantages, and the selection of the best is only
done on the basis of your requirement. If your requirement changes, you can switch to any other
model.
Architecture of cloud computing is the combination of both SOA (Service Oriented Architecture)
and EDA (Event Driven Architecture). Client infrastructure, application, service, runtime cloud,
storage, infrastructure, management and security all these are the components of cloud
computing architecture.
Frontend
Backend
1. Frontend
Frontend of the cloud architecture refers to the client side of cloud computing system. Means it
contains all the user interfaces and applications which are used by the client to access the cloud
computing services/resources. For example, use of a web browser to access the cloud platform.
2. Backend
Backend refers to the cloud itself which is used by the service provider. It contains the resources
as well as manages the resources and provides security mechanisms. Along with this, it includes
huge storage, virtual applications, virtual machines, traffic control mechanisms, deployment
models, etc.
Conclusion
Cloud Computing architecture provides a structural framework for designing, implementing and
managing cloud-based solutions. Cloud Computing Architecture provides benefits like
scalability, flexibility, and cost-effectiveness. It also solve related to security, reliability, and
performance.