Cloud - 1 Unit Notes
Cloud - 1 Unit Notes
Cloud - 1 Unit Notes
Cloud Computing referred as the accessing and storing of data and provide
services related to computing over the internet. It simply referred as it remote
services on the internet manage and access data online rather than any local
drives. The data can be anything like images, videos, audios, documents, files
etc
In 2002, Amazon started Amazon Web Services (AWS), Amazon will provide
storage, computation over the internet. In 2006 Amazon will launch Elastic
Compute Cloud Commercial Service which is open for Everybody to use.
After that in 2009, Google Play also started providing Cloud Computing
Enterprise Application as other companies will see the emergence of cloud
Computing they also started providing their cloud services. Thus, in 2009,
Microsoft launch Microsoft Azure and after that other companies like Alibaba,
IBM, Oracle, HP also introduces their Cloud Services. In today the Cloud
Computing become very popular and important skill.
Advantages :
It is easier to get backup in cloud.
It allows us easy and quick access stored information anywhere and
anytime.
It allows us to access data via mobile.
It reduces both hardware ad Software cost, and it is easily maintainable.
One of the biggest advantage of Cloud Computing is Database Security.
Disadvantages :
It requires good internet connection.
User have limited control on the data.
The most widely used cloud computing applications are given below -
1. Art Applications
Cloud computing offers various art applications for quickly and easily design attractive
cards, booklets, and images. Some most commonly used cloud art applications are
given below:
i Moo
Moo is one of the best cloud art applications. It is used for designing and printing
business cards, postcards, and mini cards.
ii. Vistaprint
Vistaprint allows us to easily design various printed marketing products such as
business cards, Postcards, Booklets, and wedding invitations cards.
Adobe creative cloud is made for designers, artists, filmmakers, and other creative
professionals. It is a suite of apps which includes PhotoShop image editing
programming, Illustrator, InDesign, TypeKit, Dreamweaver, XD, and Audition.
2. Business Applications
Business applications are based on cloud service providers. Today, every organization
requires the cloud business application to grow their business. It also ensures that
business applications are 24*7 available to users.
i. MailChimp
iii. Salesforce
Salesforce platform provides tools for sales, service, marketing, e-commerce, and more.
It also provides a cloud development platform.
iv. Chatter
Chatter helps us to share important information about the organization in real time.
v. Bitrix24
vi. Paypal
Paypal offers the simplest and easiest online payment mode using a secure internet
account. Paypal accepts the payment through debit cards, credit cards, and also from
Paypal account holders.
vii. Slack
Slack stands for Searchable Log of all Conversation and Knowledge. It provides
a user-friendly interface that helps us to create public and private channels for
communication.
viii. Quickbooks
A list of data storage and backup applications in the cloud are given below -
i. Box.com
ii. Mozy
Mozy provides powerful online backup solutions for our personal and business data.
It schedules automatically back up for each day at a specific time.
iii. Joukuu
Joukuu provides the simplest way to share and track cloud-based backup files. Many
users use joukuu to search files, folders, and collaborate on documents.
Google G Suite is one of the best cloud storage and backup application. It includes
Google Calendar, Docs, Forms, Google+, Hangouts, as well as cloud storage and tools
for managing cloud apps. The most popular app in the Google G Suite is Gmail. Gmail
offers free email services to users.
4. Education Applications
Cloud computing in the education sector becomes very popular. It offers various online
distance learning platforms and student information portals to the students. The
advantage of using cloud in the field of education is that it offers strong virtual
classroom environments, Ease of accessibility, secure data storage, scalability, greater
reach for the students, and minimal hardware requirements for the applications.
Google Apps for Education is the most widely used platform for free web-based email,
calendar, documents, and collaborative study.
Chromebook for Education is one of the most important Google's projects. It is designed
for the purpose that it enhances education innovation.
It allows educators to quickly implement the latest technology solutions into the
classroom and make it available to their students.
5. Entertainment Applications
Entertainment industries use a multi-cloud strategy to interact with the target
audience. Cloud computing offers various entertainment applications such as online
games and video conferencing.
i. Online games
Today, cloud gaming becomes one of the most important entertainment media. It offers
various online games that run remotely from the cloud. The best cloud gaming services
are Shaow, GeForce Now, Vortex, Project xCloud, and PlayStation Now.
Video conferencing apps provides a simple and instant connected experience. It allows
us to communicate with our business partners, friends, and relatives using a cloud-
based video conferencing. The benefits of using video conferencing are that it reduces
cost, increases efficiency, and removes interoperability.
6. Management Applications
Cloud computing offers various cloud management tools which help admins to manage
all types of cloud activities, such as resource deployment, data integration, and disaster
recovery. These management tools also provide administrative control over the
platforms, applications, and infrastructure.
i. Toggl
Toggl helps users to track allocated time period for a particular project.
ii. Evernote
Evernote allows you to sync and save your recorded notes, typed notes, and other
notes in one convenient place. It is available for both free as well as a paid version.
It uses platforms like Windows, macOS, Android, iOS, Browser, and Unix.
iii. Outright
Outright is used by management users for the purpose of accounts. It helps to track
income, expenses, profits, and losses in real-time environment.
iv. GoToMeeting
GoToMeeting provides Video Conferencing and online meeting apps, which allows
you to start a meeting with your business partners from anytime, anywhere using mobile
phones or tablets. Using GoToMeeting app, you can perform the tasks related to the
management such as join meetings in seconds, view presentations on the shared
screen, get alerts for upcoming meetings, etc.
7. Social Applications
Social cloud applications allow a large number of users to connect with each other using
social networking applications such as Facebook, Twitter, Linkedln, etc.
i. Facebook
Facebook is a social networking website which allows active users to share files,
photos, videos, status, more to their friends, relatives, and business partners using the
cloud storage system. On Facebook, we will always get notifications when our friends
like and comment on the posts.
ii. Twitter
iii. Yammer
Yammer is the best team collaboration tool that allows a team of employees to chat,
share images, documents, and videos.
iv. LinkedIn
2. Traditional Computing :
Traditional Computing, as name suggests, is a possess of using physical data
centers for storing digital assets and running complete networking system for
daily operations. In this, access to data, or software, or storage by users is
limited to device or official network they are connected with. In this computing,
user can have access to data only on system in which data is stored.
Advantages of Traditional Computing :
Control: With traditional computing, an organization has full control over the
hardware and software it uses, allowing for customization and optimization of
the computing environment.
Security: Traditional computing offers a high level of data security, as
sensitive data can be stored on-premises and protected by firewalls,
encryption, and other security measures.
Reliability: Traditional computing is not dependent on internet connectivity,
making it less vulnerable to service disruptions or data loss.
Compatibility: Traditional computing environments can be tailored to meet
the specific needs of an organization, ensuring compatibility with existing
software and systems.
Data Ownership: With traditional computing, an organization owns and
controls all of its data, reducing concerns about data privacy and regulatory
compliance.
Disadvantages of Traditional Computing :
Cost: Traditional computing can be more expensive than cloud computing,
as it requires significant capital expenditures for hardware and software, as
well as ongoing maintenance and support expenses.
Scalability: Traditional computing can be difficult to scale up or down to
meet changing needs, as it requires additional hardware or software to be
added to the environment.
Accessibility: Traditional computing may not allow for remote access to
applications and data, limiting the ability of users to work from anywhere.
Maintenance: Traditional computing environments require ongoing
maintenance and upgrades to ensure security and performance, which can
be time-consuming and expensive.
Limited Storage Capacity: Traditional computing environments may have
limited storage capacity, requiring organizations to periodically purchase
additional hardware to accommodate growing data volumes.
Difference between Cloud Computing and Traditional Computing :
Cloud Computing Traditional Computing
It is ability to access data anywhere at User can access data only on system in which
any time by user. data is stored.
It requires fast, reliable and stable It does not require any internet connection to
internet connection to access information access data or information.
anywhere at any time.
Cloud service is served by provider’s It requires own team to maintain and monitor
support team. system that will need a lot of time and efforts.
Parallel Computing
Before taking a toll on Parallel Computing, first, let’s take a look at the
background of computations of computer software and why it failed for the
modern era.
Computer software was written conventionally for serial computing. This meant
that to solve a problem, an algorithm divides the problem into smaller
instructions. These discrete instructions are then executed on the Central
Processing Unit of a computer one by one. Only after one instruction is finished,
next one starts.
A real-life example of this would be people standing in a queue waiting for a
movie ticket and there is only a cashier. The cashier is giving tickets one by one
to the persons. The complexity of this situation increases when there are 2
queues and only one cashier.
So, in short, Serial Computing is following:
1. In this, a problem statement is broken into discrete instructions.
2. Then the instructions are executed one by one.
3. Only one instruction is executed at any moment of time.
Look at point 3. This was causing a huge problem in the computing industry as
only one instruction was getting executed at any moment of time. This was a
huge waste of hardware resources as only one part of the hardware will be
running for particular instruction and of time. As problem statements were
getting heavier and bulkier, so does the amount of time in execution of those
statements. Examples of processors are Pentium 3 and Pentium 4.
Now let’s come back to our real-life problem. We could definitely say that
complexity will decrease when there are 2 queues and 2 cashiers giving tickets
to 2 persons simultaneously. This is an example of Parallel Computing.
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
.
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.
Future of Parallel Computing: The computational graph has undergone a
great transition from serial computing to parallel computing. Tech giant such as
Intel has already taken a step towards parallel computing by employing
multicore processors. Parallel computation will revolutionize the way computers
work in the future, for the better good. With all the world connecting to each
other even more than before, Parallel Computing does a better role in helping
us stay that way. With faster networks, distributed systems, and multi-processor
computers, it becomes even more necessary.
1. Behaviour
2. Policy
3. Semantic
4. Syntactic
5. Transport
6. Portability
It is the process of transferring the data or an application from one framework to
others, making it stay executable or usable. Portability can be separated into
two types: Cloud data portability and Cloud application portability.
Cloud data portability –
It is the capability of moving information from one cloud service to another
and so on without expecting to re-enter the data.
Cloud application portability –
It is the capability of moving an application from one cloud service to another
or between a client’s environment and a cloud service.
Categories of Cloud Computing Interoperability and portability :
The Cloud portability and interoperability can be divided into –
Data Portability
Platform Interoperability
Application Portability
Management Interoperability
Platform Portability
Application Interoperability
Publication and Acquisition Interoperability
1. Data Portability –
Data portability, which is also termed as cloud portability, refers to the
transfer of data from one source to another source or from one service to
another service, i.e. from one application to another application or it may be
from one cloud service to another cloud service in the aim of providing a
better service to the customer without affecting it’s usability. Moreover, it
makes the cloud migration process more easier.
2. Application Portability –
It enables re-use of various application components in different cloud PaaS
services. If the components are independent in their cloud service provider,
then application portability can be a difficult task for the enterprise. But if
components are not platform specific, porting to another platform is easy and
effortless.
3. Platform Portability –
There are two types of platform portability- platform source portability and
machine image portability. In the case of platform source portability, e.g.
UNIX OS, which is mostly written in C language, can be implemented by re-
compiling on various different hardware and re-writing sections that are
hardware-dependent which are not coded in C. Machine image portability
binds application with platform by porting the resulting bundle which requires
standard program representation.
4. Application Interoperability –
It is the interoperability between deployed components of an application
deployed in a system. Generally, applications that are built on the basis of
design principles show better interoperability than those which are not.
5. Platform Interoperability –
It is the interoperability between deployed components of platforms deployed
in a system. It is an important aspect, as application interoperability can’t be
achieved without platform interoperability.
6. Management Interoperability –
Here, the Cloud services like SaaS, PaaS or IaaS and applications related to
self-service are assessed. It would be pre-dominant as Cloud services are
allowing enterprises to work-in-house and eradicate dependency from third
parties.
7. Publication and Acquisition Interoperability –
Generally, it is the interoperability between various platforms like PaaS
services and the online marketplace.
The below figure represents an overview of Cloud interoperability and
portability :
CLOUD INTEROPERABILITY AND PORTABILITY
3. Diagonal Scalability –
It is a mixture of both Horizontal and Vertical scalability where the resources are
added both vertically and horizontally.
Difference Between Cloud Elasticity and Scalability :
Cloud Elasticity Cloud Scalability
It is a short term planning and adopted just Scalability is a long term planning and
to deal with an unexpected increase in adopted just to deal with an expected
demand or seasonal demands. increase in demand.
4
Private Cloud
Hybrid Cloud
Multi-Cloud
Public
Factors Cloud Private Cloud Community Cloud Hybrid Cloud
Scalability
High High Fixed High
and Flexibility
Software as a Service(SaaS)
Software-as-a-Service (SaaS) is a way of delivering services and applications
over the Internet. Instead of installing and maintaining software, we simply
access it via the Internet, freeing ourselves from the complex software and
hardware management. It removes the need to install and run applications on
our own computers or in the data centers eliminating the expenses of hardware
as well as software maintenance.
SaaS provides a complete software solution that you purchase on a pay-as-
you-go basis from a cloud service provider. Most SaaS applications can be run
directly from a web browser without any downloads or installations required.
The SaaS applications are sometimes called Web-based software, on-
demand software, or hosted software.
Advantages of SaaS
1. Cost-Effective: Pay only for what you use.
2. Reduced time: Users can run most SaaS apps directly from their web
browser without needing to download and install any software. This reduces
the time spent in installation and configuration and can reduce the issues
that can get in the way of the software deployment.
3. Accessibility: We can Access app data from anywhere.
4. Automatic updates: Rather than purchasing new software, customers rely
on a SaaS provider to automatically perform the updates.
5. Scalability: It allows the users to access the services and features on-
demand.
The various companies providing Software as a service are Cloud9 Analytics,
Salesforce.com, Cloud Switch, Microsoft Office 365, Big Commerce, Eloqua,
dropBox, and Cloud Tran.
Disadvantages of Saas :
1. Limited customization: SaaS solutions are typically not as customizable as
on-premises software, meaning that users may have to work within the
constraints of the SaaS provider’s platform and may not be able to tailor the
software to their specific needs.
2. Dependence on internet connectivity: SaaS solutions are typically cloud-
based, which means that they require a stable internet connection to function
properly. This can be problematic for users in areas with poor connectivity or
for those who need to access the software in offline environments.
3. Security concerns: SaaS providers are responsible for maintaining the
security of the data stored on their servers, but there is still a risk of data
breaches or other security incidents.
4. Limited control over data: SaaS providers may have access to a user’s
data, which can be a concern for organizations that need to maintain strict
control over their data for regulatory or other reasons.
Platform as a Service
Anything as a Service
on-demand computing
On-demand computing (ODC) is a delivery model in which computing resources are made available
to the user as needed. The resources may be maintained within the user's enterprise or made available
by a cloud service provider. The term cloud computing is often used as a synonym for on-demand
computing when the services are provided by a third party -- such as a cloud hosting organization.
The on-demand business computing model was developed to overcome the challenge of enterprises
meeting fluctuating demands efficiently. Because an enterprise's demand for computing resources
can be unpredictable at times, maintaining sufficient resources to meet peak requirements can be
costly. And cutting costs by only maintaining minimal resources means there are likely insufficient
resources to meet peak loads. The on-demand model provides an enterprise with the ability
to scale computing resources up or down whenever needed, with the click of a button.
The model is characterized by three attributes: scalability, pay-per-use and self-service. Whether the
resource is an application program that helps team members collaborate or provides additional
storage, the computing resources are elastic, metered and easy to obtain.
When an organization pairs with a third party to provide on-demand computing, it either subscribes
to the service or uses a pay-per-use model. The third party then provides computing resources
whenever needed, including when the organization is working on temporary projects, has expected or
unexpected workloads or has long-term computing requirements. For example, a retail organization
could use on-demand computing to scale up their online services, providing additional computing
resources during a high-volume time, such as Black Friday.
On-demand computing normally provides computing resources such as storage capacity, or hardware
and software applications. The service itself is provided with methods including virtualization,
computer clusters and distributed computing.
Cloud computing is a general term for anything that involves delivering hosted services over the
internet. These services are divided into different types of cloud computing resources and
applications.
For example, on-demand computing often involves cloud computing methods, such as
infrastructure as a service (IaaS), software as a service (SaaS), desktop as a service
(DaaS), platform as a service (PaaS), managed hosting services, as well as cloud
storage and backup services. These methods offer the following:
DaaS is a form of cloud computing where a third party hosts the back end of
a virtual desktop infrastructure
PaaS is a model in which a third-party provider hosts customer applications on
their infrastructure. Hardware and software tools are delivered to users over the
internet.
Managed hosting services are an IT provisioning and cloud server hosting model
where a service provider leases dedicated servers and associated hardware to a
single customer and manages those systems on the customer's behalf.
Cloud storage is a service model where data is transmitted and stored securely
on remote storage systems, where it is maintained, managed, backed up and
made available to users over a network.
These cloud-based services are typically made on-demand and in real time for users.
Computing resources are delivered using a shared pool of servers, storage devices,
networks and applications.
Cloud hosting providers may provide an enterprise-level control panel where they can
quickly view and scale up or down their cloud services. An organization could use
this to scale their storage space, speed, software applications, servers or networks.
o Removes the need to purchase, maintain and upgrade hardware. The cloud
service organization managing the on-demand services handles resources
such as servers and hardware, system updates and maintenance.
User friendly. Many on-demand computing services in the cloud are user friendly enabling most
users to easily acquire additional computing resources without any help from their IT
department. This can help to improve business agility.
Cut costs. Saves money because organizations don't have to purchase hardware or software to
meet peaks in demand. Organizations also don't have to worry about updating or maintaining
those resources.
But organizations must also be concerned about the unauthorized use of added resources via on-
demand computing, as shadow IT can pose security risks. For this reason, many IT departments
perform periodic cloud audits to identify unauthorized use of on-demand applications and
other rogue IT.
According to a report from Gartner, cloud-based platform services may increase to $109.6 billion in
corporate spending in 2022 -- which is up from $86.9 billion in 2021. Likewise, Gartner predicts a
26% increase in spending on cloud-based platform services. Spending on IaaS is also forecasted by
Gartner to show one of the highest growth rates at 31% in 2022 compared to other cloud categories.
Large vendors such as Amazon Web Services, HPE, IBM and Microsoft offer on-demand computing
products. Microsoft, for example, provides Azure SaaS and AWS offers pay-as-you go pricing with
its IaaS offerings. As more of these services become available, there is a greater chance that
enterprises will look to on-demand computing as a way to facilitate the challenges of fluctuating
computing resource needs.
Learn more about the characteristics of cloud computing, including on-demand computing and self-
service provisioning.
But the demand for cloud computing might vary for different users or
organizations based on several factors. So, a business cannot just have a static
number of resources for their ever changing dynamic demands. To avoid
crashing of server or slowdown of the system during a sudden spike, a concept
was introduced in cloud computing called Cloud Elasticity. You can learn more
about cloud computing and its advantages by taking Cloud Computing classes.
Cloud Elasticity
Now that we have learned what elasticity means in cloud computing let us learn
why it is important. Without Cloud Elasticity, businesses would be forced to pay
for largely unutilized capacity and manage it through OS updates, patching, and
component failures. In many ways, cloud computing is defined by its elastic
nature, which also sets it apart from traditional computing paradigms including
client-server, grid computing, and legacy infrastructure.
Elastic computing has made it incredibly simple and easy to manage cloud
services. Nowadays, businesses may use resources for infrastructure, storage,
computing, etc. with a staggering amount of freedom. Organizations look for
cost savings, scalability, and agility to boost digital transformation and business
competitiveness. Elastic cloud storage makes all of this possible. So, this
answers our question of why is elasticity important in cloud computing.
1. Instances
2. Storages
3. OS Support
4. Networks
5. Backup Files
6. Regions
Elastic cloud computing service providers allow users to deploy instances across
various regions and availability zones. This prevents the failure of one of your
applications from spreading to others. Availability zones are discrete areas that
offer other zones in the same region cost-efficient, economical, and low-latency
network connectivity.
1. Agility
Cloud Elasticity avoids the need to plan for unforeseen demand spikes by
removing the requirement to buy, configure, and install new infrastructure when
demand changes. This allows enterprises to meet any unexpected demand,
whether it results from a seasonal spike in demand.
With on-premises computing, firms had to buy more resources than they would
typically need to prepare for unforeseen demand surges. With cloud elasticity,
this is no longer necessary.
2. Availability
Organizations can benefit from fault tolerance and high availability for their
infrastructure and applications more easily thanks to cloud elasticity. To reduce
downtime as much as possible, it is feasible to automatically clone servers that
are close to failing before they fail.
With cloud services, file access has become seamless and always available.
There are other possibilities to access and modify data, and alternate backups
reduce the likelihood of system failure.
3. Capacity
Businesses can use elastic cloud computing to access an infinite amount of
storage. Because it is virtual, anyone on the network can access it anytime.
4. Pay-as-you-go
One of the key factors in elastic cloud computing's rising popularity and rapid
adoption rate is its attractive pay-for-what-you-use feature. Elastic computing
differs from on-premises computing in that you only pay for the resources you
use and nothing more. Contrary to on-premises computing, where you pay the
same amount regardless of how many resources you use, you only pay for what
you use. This aids businesses in saving a large sum that was previously being
wasted on unused resources.
According to Amazon, businesses that use their instance scheduler with their
EC2 cloud service can save more than 70% compared to those that do not.
The cost of your hardware and software is the main disadvantage of on-premises
computing irrespective of how you use it.
5. Cost Efficiency
With elastic computing, businesses can avoid the high expenditures and expenses
associated with expanding their data centers. You no longer have to incur
additional expenses for unused capacity thanks to elastic computing. In the past,
companies had to buy more resources even if they weren't needed every day to
be ready for an unanticipated increase in demand. The pay-as-you-go approach,
which only charges for the capacity that you use, has, however, found a solution
to this issue.
With elastic computing, firms can substantially cut costs because they no longer
need to invest in expensive IT equipment and just pay for what they use.
6. Speed
The days of adding more servers to the infrastructure to handle spikes in website
traffic or bandwidth usage are long gone. The issue with this effort was that it
frequently included meticulous capacity planning that had to be done months in
advance, as well as bearing extremely high upfront expenses for purchasing and
configuring technology.
The IT staff are relieved that the time of maintaining, updating, and
implementing IT infrastructure is now in the past.
Cloud technology is very eco-friendly because it uses fewer resources.
Challenges in Cloud Elasticity
Elasticity in the cloud might not be for everyone. If there is an online market for
your goods or services that is largely stable, cloud scalability can be enough on
its own.
For instance, if your company does not sometimes or seasonally face surges in
server demand, you might not mind adopting scalability without elasticity.
Remember that scalability cannot be achieved without elasticity.
1. Security
Elastically scaling cloud services may influence current security operations and
necessitate their redesign. Due to the transient nature of elastic systems, the
incident response may suffer. For instance, a server facing a security risk shuts
down when demand decreases.
2. Lock-in
Although all of the main public cloud providers provide the Cloud Elasticity
solution, they are all built differently, which forces businesses to work only with
one vendor for their cloud requirements.
Customers can use services from big public cloud providers like Amazon Web
Services, Google Cloud Platform, and Microsoft Azure to use cloud elasticity,
but these services also run the risk of vendor lock-in. The "golden handcuffs" of
the public cloud may ensnare you, preventing you from leaving even when you
can see its advantages.
3. Provision Time
Despite the fact that all of the main public cloud providers provide the Cloud
Elasticity solution, they are all built differently, which forces businesses to work
only with one vendor for their cloud requirements.
Customers can use services from big public cloud providers like Amazon Web
Services, Google Cloud Platform, and Microsoft Azure to use cloud elasticity,
but these services also run the risk of vendor lock-in. The "golden handcuffs" of
the public cloud may ensnare you, preventing you from leaving even when you
can see its advantages.
You can match the number of resources allocated with the number of resources
required at any given time, thanks to cloud elasticity. With cloud scalability, you
may modify the resources that are already in place to accommodate changing
application demands. You can achieve this by adding or removing resources to
existing instances—vertically scaling up or down—or by adding or removing
resources from existing instances—horizontally scaling out or in.
The application or chip design project avoids slowing down due to a shortage of
resources by scaling up or out. When you don't require the resources, you may
statically support a smaller environment by scaling down the infrastructure.
The below table shows the difference between elasticity and scalability in cloud
computing:
1. Security
Provide enough security at each tier. Both data at rest and data in transit should
be encrypted using a system. Create, distribute, and rotate keys frequently, and
also revoke access rights to protect your credentials. Additionally, you should
regularly maintain the operating system and the applications that operate on
instances by patching, upgrading, repairing, and securing them.
Setting up a procedure for data backup and recovery is crucial for several
reasons. You can choose from a variety of adaptable and dependable backup and
recovery solutions offered by various cloud service providers. Regularly backing
up your EBS via snapshots and image generation is also essential. The current
configuration can be saved in this way to serve as a template for new instances.
Another procedure that you should adhere to is replicating data in a methodical
manner and deploying application data across several availability zones.
3. Storage
With elastic cloud computing, you can accommodate and store as much data as
you want, and it has infinite storage capacity. Use elastic block storage space
(EBS) for the operating system rather than your data in this case. On the instance
storage, you can also keep your temporary data.
Another important point to keep in mind is that the data kept in the instance
storage will automatically destroy itself once the process has been stopped, thus,
you should hibernate or stop using your instance.
4. Automation
6. Monitoring
If you have no idea how many resources are idle, you will incur a hefty price
because the cloud service provider will bill you whenever a resource is used,
even if only briefly. If resources are unused for a prolonged period, you should
think about stopping them or terminating them entirely. As a result, registering
for a monitoring tool will cause warnings to be sent out any time a resource is
idle or underutilized, allowing you to minimize wasteful spending and optimize
the value of a service.
Looking to boost your career in IT? Get certified in ITIL, the industry standard
for IT service management. Enhance your skills with our ITIL certification
program and open doors to endless opportunities. Don't miss out, enroll today!
In this article, you will learn about the difference between Parallel
Computing and Distributed Computing. But before discussing the differences, you
must know about parallel computing and distributed computing.
Parallel Computing
It is also known as parallel processing. It utilizes several processors. Each of the
processors completes the tasks that have been allocated to them. In other words,
parallel computing involves performing numerous tasks simultaneously. A shared
memory or distributed memory system can be used to assist in parallel computing. All
CPUs in shared memory systems share the memory. Memory is shared between the
processors in distributed memory systems.
Advantages
1. It saves time and money because many resources working together cut down
on time and costs.
2. It may be difficult to resolve larger problems on Serial Computing.
3. You can do many things at once using many computing resources.
4. Parallel computing is much better than serial computing for modeling,
simulating, and comprehending complicated real-world events.
Disadvantages
Distributing Computing
There are various benefits of using distributed computing. It enables scalability and
makes it simpler to share resources. It also aids in the efficiency of computation
processes.
Disadvantages
1. Data security and sharing are the main issues in distributed systems due to
the features of open systems
2. Because of the distribution across multiple servers, troubleshooting and
diagnostics are more challenging.
3. The main disadvantage of distributed computer systems is the lack of
software support.
Here, you will learn the various key differences between parallel computing and
distributed computation. Some of the key differences between parallel computing
and distributed computing are as follows:
Usage It helps to improve the It allows for scalability, resource sharing, and
system performance the efficient completion of computation tasks.
Distributed Computing
Distributed computing refers to a system where processing and
data storage is distributed across multiple devices or systems,
rather than being handled by a single central device. In a
distributed system, each device or system has its own
processing capabilities and may also store and manage its own
data. These devices or systems work together to perform tasks
and share resources, with no single device serving as the
central hub.
One example of a distributed computing system is a cloud
computing system, where resources such as computing power,
storage, and networking are delivered over the Internet and
accessed on demand. In this type of system, users can access
and use shared resources through a web browser or other client
software.
Components
There are several key components of a Distributed Computing
System
Devices or Systems: The devices or systems in a
distributed system have their own processing capabilities and
may also store and manage their own data.
Network: The network connects the devices or systems in
the distributed system, allowing them to communicate and
exchange data.
Resource Management: Distributed systems often have
some type of resource management system in place to
allocate and manage shared resources such as computing
power, storage, and networking.
The architecture of a Distributed Computing System is typically a
Peer-to-Peer Architecture, where devices or systems can act as
both clients and servers and communicate directly with each
other.
Characteristics
There are several characteristics that define a Distributed
Computing System
Multiple Devices or Systems: Processing and data storage
is distributed across multiple devices or systems.
Peer-to-Peer Architecture: Devices or systems in a
distributed system can act as both clients and servers, as
they can both request and provide services to other devices
or systems in the network.
Shared Resources: Resources such as computing power,
storage, and networking are shared among the devices or
systems in the network.
Horizontal Scaling: Scaling a distributed computing system
typically involves adding more devices or systems to the
network to increase processing and storage capacity. This
can be done through hardware upgrades or by adding
additional devices or systems to the network..
Advantages and Disadvantages
Advantages of the Distributed Computing System are:
Scalability: Distributed systems are generally more scalable
than centralized systems, as they can easily add new devices
or systems to the network to increase processing and storage
capacity.
Reliability: Distributed systems are often more reliable than
centralized systems, as they can continue to operate even if
one device or system fails.
Flexibility: Distributed systems are generally more flexible
than centralized systems, as they can be configured and
reconfigured more easily to meet changing computing needs.
There are a few limitations to Distributed Computing System
Complexity: Distributed systems can be more complex than
centralized systems, as they involve multiple devices or
systems that need to be coordinated and managed.
Security: It can be more challenging to secure a distributed
system, as security measures must be implemented on each
device or system to ensure the security of the entire system.
Performance: Distributed systems may not offer the same
level of performance as centralized systems, as processing
and data storage is distributed across multiple devices or
systems.
Applications
Distributed Computing Systems have a number of applications,
including:
Cloud Computing: Cloud Computing systems are a type of
distributed computing system that are used to deliver
resources such as computing power, storage, and networking
over the Internet.
Peer-to-Peer Networks: Peer-to-Peer Networks are a type
of distributed computing system that is used to share
resources such as files and computing power among users.
Distributed Architectures: Many modern computing
systems, such as microservices architectures, use distributed
architectures to distribute processing and data storage
across multiple devices or systems.
Types of Cloud
Cloud computing is Internet-based computing in which a shared pool of
resources is available over broad network access, these resources can be
provisioned or released with minimum management efforts and service-provider
interaction.
Types of Cloud
1. Public cloud
2. Private cloud
3. Hybrid cloud
4. Community cloud
5. Multicloud
Public Cloud
Public clouds are managed by third parties which provide cloud services over
the internet to the public, these services are available as pay-as-you-go billing
models.
They offer solutions for minimizing IT infrastructure costs and become a good
option for handling peak loads on the local infrastructure. Public clouds are the
go-to option for small enterprises, which can start their businesses without large
upfront investments by completely relying on public infrastructure for their IT
needs.
The fundamental characteristics of public clouds are multitenancy. A public
cloud is meant to serve multiple users, not a single customer. A user requires a
virtual computing environment that is separated, and most likely isolated, from
other users.
Public cloud
1. High Scalability
2. Cost Reduction
3. Reliability and flexibility
4. Disaster Recovery
Disadvantages of using a Public cloud are:
1. Loss of control over data
2. Data security and privacy
3. Limited Visibility
4. Unpredictable cost
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.
1. Media industry: Media companies are looking for quick, simple, low-cost
ways for increasing the efficiency of content generation. Most media
productions involve an extended ecosystem of partners. In particular, the
creation of digital content is the outcome of a collaborative process that
includes the movement of large data, massive compute-intensive rendering
tasks, and complex workflow executions.
2. Healthcare industry: In the healthcare industry community clouds are used
to share information and knowledge on the global level with sensitive data in the
private infrastructure.
3. Energy and core industry: In these sectors, the community cloud is used to
cluster a set of solution which collectively addresses the management,
deployment, and orchestration of services and operations.
4. Scientific research: In this organization with common interests in science
share a large distributed infrastructure for scientific computing.
Multicloud