Imp Cloud Computing
Imp Cloud Computing
"The cloud" refers to servers that are accessed over the Internet, and the software
and databases that run on those servers. Cloud servers are located in data centers all
over the world. By using cloud computing, users and companies do not have to
manage physical servers themselves or run software applications on their own
machines.
The cloud enables users to access the same files and applications from almost any
device, because the computing and storage takes place on servers in a data center,
instead of locally on the user device. This is why a user can log in to their Instagram
account on a new phone after their old phone breaks and still find their old account in
place, with all their photos, videos, and conversation history. It works the same way
with cloud email providers like Gmail or Microsoft Office 365, and with cloud
storage providers like Dropbox or Google Drive.
2. Private cloud
Private clouds are distributed systems that work on private infrastructure
and provide the users with dynamic provisioning of computing resources.
Instead of a pay-as-you-go model in private clouds, there could be other
schemes that manage the usage of the cloud and proportionally billing of
the different departments or sections of an enterprise. Private cloud
providers are HP Data Centers, Ubuntu, Elastic-Private cloud, Microsoft,
etc.
Examples: VMware vCloud Suite, OpenStack, Cisco Secure Cloud, Dell Cloud
Solutions, HP Helion Eucalyptus
3. Hybrid cloud
A hybrid cloud is a heterogeneous distributed system formed by
combining facilities of the public cloud and private cloud. For this reason,
they are also called heterogeneous clouds.
A major drawback of private deployments is the inability to scale on-
demand and efficiently address peak loads. Here public clouds are
needed. Hence, a hybrid cloud takes advantage of both public and private
clouds.
Examples: AWS Outposts, Azure Stack, Google Anthos, IBM Cloud
Satellite, Oracle Cloud at Customer
4. Community Cloud
Community clouds are distributed systems created by integrating the
services of different clouds to address the specific needs of an industry, a
community, or a business sector. But sharing responsibilities among the
organizations is difficult.
In the community cloud, the infrastructure is shared between
organizations that have shared concerns or tasks. An organization or a
third party may manage the cloud.
Examples: CloudSigma, Nextcloud, Synology C2, OwnCloud, Stratoscale
Vision of cloud computing
The vision of cloud computing revolves around providing on-demand access to
computing resources like storage, servers, databases, networking, software, and more
over the internet, rather than relying on local servers or personal devices. Here’s a
breakdown of the key aspects of this vision:
2. Scalability:
Elasticity: Cloud computing allows organizations to scale resources up or down based on
demand. This means you can quickly expand or shrink storage, computing power, or
bandwidth to accommodate varying levels of usage.
Cost Efficiency: Pay-as-you-go pricing models mean that users only pay for the resources
they consume, avoiding upfront investments in hardware and infrastructure.
3. Resource Optimization:
Multi-Tenancy: Cloud platforms can host multiple users (tenants) on the same physical
infrastructure, optimizing resource utilization and reducing costs.
Automation: Many cloud services automate routine tasks like software updates, backups,
and maintenance, freeing up time for businesses to focus on their core activities.
These are the primary ways in which cloud services are offered. Each model
represents a different level of abstraction and user responsibility.
o Provides virtualized computing resources over the internet, such as virtual
machines, storage, and networks.
o Users manage operating systems, applications, and data but rely on the provider for
physical hardware.
o Examples: Amazon EC2, Google Compute Engine, Microsoft Azure.
o Offers a platform and environment for developers to build, deploy, and manage
applications without dealing with underlying infrastructure.
o It includes servers, storage, databases, and development tools.
o Examples: Google App Engine, Microsoft Azure App Service, Heroku.
o Delivers software applications over the internet, which are accessible through a web
browser or API.
o Users do not manage the underlying infrastructure, just the software configuration.
o Examples: Google Workspace, Salesforce, Microsoft 365.
2. Deployment Models:
These describe how cloud services are deployed based on the level of accessibility
and management.
Public Cloud:
o Services are offered over the public internet by third-party providers. They are
accessible to anyone who wants to use or purchase them.
o Suitable for scalable and cost-effective solutions.
o Examples: Amazon Web Services (AWS), Google Cloud Platform (GCP).
Private Cloud:
Hybrid Cloud:
o Combines elements of public and private clouds, allowing data and applications to
be shared between them.
o Offers flexibility, enabling businesses to keep sensitive data in a private environment
while utilizing the scalability of the public cloud.
o Example: AWS Outposts, Microsoft Azure Stack.
Community Cloud:
The architecture layers help define the core components and how they interact within
the cloud environment.
User Layer:
o Interfaces with users, providing access through web portals, mobile apps, or APIs.
o This is where users interact with SaaS applications or manage services provided by
IaaS or PaaS.
Application Layer:
Platform Layer:
Infrastructure Layer:
Physical Layer:
o The actual physical servers, storage systems, and networking hardware that make
up the cloud data centers.
o Managed and maintained by the cloud provider.
6. Network Model:
Network Services: Includes connectivity options like VPNs, direct connect services, and
virtual private clouds (VPCs).
It handles traffic routing between different cloud services, data centers, and external users.
This layer ensures low latency, high throughput, and secure data transmission.
+------------------+
| User Layer | (End-User Interface)
+------------------+
| Application | (SaaS)
+------------------+
| Platform | (PaaS)
+------------------+
| Infrastructure | (IaaS - VM, Storage, Network)
+------------------+
| Physical | (Data Center Hardware)
+------------------+
| Security & Mgmt | (IAM, Monitoring, Automation)
+------------------+
| Network | (Connectivity, VPCs)
+------------------+
1. Frontend
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.
There are three different Pricing Strategies that are introduced by Cloud
Computing: Tiered Pricing, Per-unit Pricing, and Subscription-based Pricing.
These are explained as following below.
1. Tiered Pricing: Cloud Services are offered in the various tiers. Each tier
offers to fix service agreements at a specific cost. Amazon EC2 uses this
kind of pricing.
2. Per-unit Pricing: The model is based upon the unit-specific service
concept. Data transfer and memory allocation include in this model for
specific units. GoGrid uses this kind of pricing in terms of RAM/hour.
3. Subscription-based Pricing: In this model, users are paying periodic
subscription fees for the usage of the software.
Parallel computing is used in a wide range of applications, including: Big data
analytics, Artificial intelligence, Weather forecasting, Scientific research, and
The Internet of Things (IoT)
Parallel Computing :
It is the use of multiple processing elements simultaneously for solving any
problem. Problems are broken down into instructions and are solved
concurrently as each resource that has been applied to work is working at
the same time.
Advantages of Parallel Computing over Serial Computing are as follows:
1. It saves time and money as many resources working together will reduce
the time and cut potential costs.
2. It can be impractical to solve larger problems on Serial Computing.
3. It can take advantage of non-local resources when the local resources are
finite.
4. Serial Computing ‘wastes’ the potential computing power, thus Parallel
Computing makes better work of the hardware.
Types of Parallelism:
1. Bit-level parallelism –
It is the form of parallel computing which is based on the increasing
processor’s size. It reduces the number of instructions that the system
must execute in order to perform a task on large-sized data.
Example: Consider a scenario where an 8-bit processor must compute the
sum of two 16-bit integers. It must first sum up the 8 lower-order bits,
then add the 8 higher-order bits, thus requiring two instructions to
perform the operation. A 16-bit processor can perform the operation with
just one instruction.
2. Instruction-level parallelism –
A processor can only address less than one instruction for each clock
cycle phase. These instructions can be re-ordered and grouped which are
later on executed concurrently without affecting the result of the
program. This is called instruction-level parallelism.
3. Task Parallelism –
Task parallelism employs the decomposition of a task into subtasks and
then allocating each of the subtasks for execution. The processors
perform the execution of sub-tasks concurrently.
4. Data-level parallelism (DLP) –
Instructions from a single stream operate concurrently on several data –
Limited by non-regular data manipulation patterns and by memory
bandwidth
Why parallel computing?
The whole real-world runs in dynamic nature i.e. many things happen at a
certain time but at different places concurrently. This data is extensively
huge to manage.
Real-world data needs more dynamic simulation and modeling, and for
achieving the same, parallel computing is the key.
Parallel computing provides concurrency and saves time and money.
Complex, large datasets, and their management can be organized only
and only using parallel computing’s approach.
Ensures the effective utilization of the resources. The hardware is
guaranteed to be used effectively whereas in serial computation only
some part of the hardware was used and the rest rendered idle.
Also, it is impractical to implement real-time systems using serial
computing.
Applications of Parallel Computing:
Databases and Data mining.
Real-time simulation of systems.
Science and Engineering.
Advanced graphics, augmented reality, and virtual reality.
Limitations of Parallel Computing:
It addresses such as communication and synchronization between
multiple sub-tasks and processes which is difficult to achieve.
The algorithms must be managed in such a way that they can be handled
in a parallel mechanism.
The algorithms or programs must have low coupling and high cohesion.
But it’s difficult to create such programs.
More technically skilled and expert programmers can code a parallelism-
based program well.