Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TME4093 Cloud Computing

Download as pdf or txt
Download as pdf or txt
You are on page 1of 60

CLOUD COMPUTING

TME4093 Advanced Topic in Software Engineering


At the end of this learning unit students will be able:
1. Understood the Cloud Computing Architecture
2. Explained the concepts and characteristics of cloud
computing
3. Differentiate the commercial and open-source cloud
solutions
Understanding the Basics of Cloud Computing
Cloud computing is taking the world by storm. In fact,

94% of workloads and compute instances has been processed

through cloud data centers from 2021, compared to only 6% by

traditional data centers, according to research by Cisco.


What is the cloud?
National Institute of Standards and Technology (NIST):
➢ Cloud computing is a model for enabling ubiquitous, convenient, 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.
CLOUD Internet

Tech speak that describes


software and services that run
through the Internet (or an
intranet) rather than on private
servers and hard drives.
CLOUD COMPUTING
• Provides virtually unlimited computing resources
which can be easily accessed.
• With the advent of cloud computing, the
frontier of computing resource sharing has
been greatly advances to utility-based,
market-oriented computing.
Conceptual model was formally
proposed in the 1980s
CLOUD
Development started in the 1990s
COMPUTING
Services started with serving e-mails
On-demand
Resource Pooling
self-service
CHARACTERISTICS

Broad Network Rapid Elasicity


Access

Measured Services
On-demand
self-service

Users can access computing services via


the cloud when they need to without interaction
from the service provider. The computing services
should be fully on-demand so that users have
control and agility to meet their evolving needs.
Broad Network
Access

Cloud resources are available over


the network and can be accessed
through standard interfaces.

E.g., Mobile Phones, Laptops, and personal


digital assistant.
Resource Pooling

The provider’s computing resources are pooled to


serve multiple consumers using a multitenant model.
Within this model, different physical
ad virtual resources are dynamically
assigned and reassigned according
to consumer demand.
Rapid Elasticity

Successful resource allocation requires elasticity.


Resources must be assigned accurately and quickly with
the ability to absorb significant increases and decreases
in demand without service interruption or quality
degradation.
Measured
Services

Cloud systems automatically control and optimize


resource use by leveraging a metering capability at
some level of abstraction appropriate to the type of
service (e.g., storage, processing, bandwidth and active
user accounts). Resource usage can be monitored,
controlled and reported, providing transparency for the
provider and consumer.
CLOUD
ARCHITECTURE
Infrastructure as a Service
IaaS
Platform as a Service
PaaS
Software as a Service
SaaS
Infrastructure as a Service

Provides the capability of provisioning


computation, storage, networks, and
other fundamental computing
resources on which the operating
systems and applications can be
deployed.
For example, many businesses use IaaS to support workload spikes
during busy seasons (like holidays).

Popular IaaS providers include:

•Amazon Web Services (AWS)


•Microsoft Azure
•Google Cloud Platform (GCP)
Platform as a Service

Provides a computing platform on


which consumers can develop
software using the tools and
libraries from the cloud provider,
and deploy the software onto cloud
services.
This service layer is primarily geared towards
developers and operations professionals. Service
providers rent out cloud-based platforms for users to
develop and deliver applications.
Software as a Service

Supports software and data to be


hosted on the cloud and provided as
services. Cloud consumers or users
usually access this type of service
through a Web browser.

A popular application of SaaS is


Gmail.
Available for open access and use by
the general public. Usually provided,
managed, and operated by a company.
Consumers are charged for what they
consume.
The advantage of using a public cloud is the
increased efficiency and subsequent cost-
effectiveness from shared resources. Public
clouds are typically cheaper than private and
hybrid cloud solutions (as well as traditional on
premise computing) because they rely on
economies of scale.
Provisioned for exclusive use by a single
organization. It may be owned, managed,
and operated by a business, an academic
institution, a government organization, or
a consortium of them.
Private clouds can reside on-site or off-
site. The distinguishing feature is the
single, private tenant who maintains
greater control over the IT services. Private
clouds are popular choices for
organizations who have high priorities on
security and compliance.
Community Clouds are initiated to
serve a community with common
interests, such as mission,
security, compliance, jurisdiction,
and others.
Hybrid Clouds are a combination of two or
more of the aforementioned cloud types built
for specific concerns or needs.
Public and private clouds can be combined
to achieve cost-efficiency and on-demand
computing power.
Review of Cloud Computing Resources
• Commercial Clouds
Commercial IT enterprises are increasingly providing cloud services in
their products.

For example, Amazon offers several types of cloud services including IaaS
and PaaS. Windows Azure provides PaaS, with which users can quickly
build, deploy, and manage applications across a global network of
Microsoft-managed data centers.
Popular Commercial Cloud Services
• Google App Engine (GAE)

It offers automatic scaling for Web applications


and dynamically allocates computing resources
on-demand.

GAE is a cost-free up to a limited level of consumed resources.


Fees are charged for additional storage, bandwidth, or instance operating hours
required by the application.
• Salesforce
The Salesforce platform provides different services for consumers to deliver
transformative apps for costumer relationship management (CRM) business,
including:
1. Force.com – to build employee apps and customize the Salesforce experience.
2. Heroku – for creating customer apps in any programming language.
3. Database.com – for sharing and storing data securely in the cloud database.
4. Site.com - for delivering Websites and digital marketing.

5. Identity - for a singe, social, trusted identity in the cloud.

6. AppExchange – as a trusted cloud computing application marketplace.

7. ISVforce - for building powerful commercial apps for cloud customers.

8. Remedyforce – for delivering next generation IT service management on the


cloud.
• Joyent
One of the IT vendors that provide cloud computing services including
programmable load balancing computing storage. VPV (Virtual Private
Network), and firewall services.
It is different from many cloud providers (such as amazon) who use
Zen technology for virtualization, Joyent develops its own virtualization
software, SmartOS, to ensure the stability and security of the service.
• Rackspace
In July 2010, Rackspace, joined by leaders from across
technology industries like NASA, Citrix, Dell NTTDATA,
Rightscale and others lunched a new opensource cloud
initiative OpenStack project. From its initiation, OpenStack
as designed to be open sourse and to build common ground
for cloud providers as well as customers.
• GoGrid
It offers a world’s first Web-based management console for multiserver
management. Through the console or APIs, cloud consumers can provision
and scale virtual and physical servers, storage, networking, load balancing
and firewalls in real time to VMware’s ESXi, which provides a tool to cope
with the automatic creation, configuration and maintenance of virtual
machines.
• Tplotform
a cloud solution that that provide a development platform for Web
mining applications. It is typical PaaS inspired by Google cloud
technology. It’s infrastructure is supported by three components:
• Tianwang File System(TFS) similar to the google File System(GFS)
• BigTable data storage mechanism
• Mapreduce programming model
• Apache VCL
It is an open-source system for remote accessing of computing
resources through a Web interface. The resources are typically housed
in data center. It can serve as a broker to access stand-alone machines.
VCL framework includes:
1. Web client
2. Database server
3. Multiple Management nodes
Review of Cloud Computing Resources
Top 5 Open Source Cloud Solutions
1. Seafile
2. OwnCloud
3. Pydio
4. Ceph
5. Cozy
1. Seafile
The service promotes itself as a file syncing and online
collaboration tool, with a focused on data security. You can either utilize
their cloud service, SeaCloud.cc or set up your own hosted service. Its all
available in all major platforms. It’s core server is C and Python. It has two
editions:
• Community
• Business
Special features:
• File editor: a versatile online editor for different types of files with full text file
search.
• File Sync: a cross-platform file sync with differential sync to minimize bandwidth
usage
• Built-in file encryption: you can encrypt your personal libraries with a password
before syncing to the server.
• Team collaboration: permission control, activity notification and versioning make
sharing and collaboration easy and efficient.
2. OwnCloud
A versatile self-hosted file sync and share server. It’s written in PHP and
Javascript. It supports all major operating systems. OwnCloud makes use of
WebDav, an extension of HTTP, to allow remote access and transfers. It can
integrate with databases such as Oracle, MariaDB, SQLite, and PostgreSQ.
Special features
• Multiplatform storage: you can store your picture, documents, calendar and
contacts on your own home server, public OwnCloud providers or on a rented VPS.
• Document editor: you can work with others in real time in the same document.
• Versioning and undelete: the previous versions of file are retained and deleted
ones can be restored.
• Activity feed: you can receive live notifications about your data and the activity on
our server.
3. Pydio
The software is written in PHP and JavaScript and its available on all major
platforms. It’s one of the more popular open cloud storage solutions due to its large
portfolio of users both private and corporate such as Red Hat and Oracle.
Special features
• PydioSync: an intuitive, highly customizable cross-platform sync tool.

• User interface: rich web application with customizable UI.

• REST API: manage all files operations with Pydio APIs.

• Plugin architecture: use existing plugins or create your own.


4. Ceph
It stores data on a distributed server cluster written in C++ and Perl. This
feature makes it highly scalable, secure and freely available. It is also available on all
major platforms. It provides an interface for object, block and file level storage through
a RADOS gateway. As a result, it can support APIs from both Amazon S3 and OpenStack
Swift.
Special features
• Object storage: a partial or complete reading and writing, object level key-value
mappings, unlimited storage to file systems.

• VM compatibility: it can run as a client-based virtual machine.

• Highly scalable: it can scale up to Exabyte without a single point of failure.


5. Cozy
It is currently available on all major platforms like: Windows, Mac, Linux, iOS
and Android. It’s even available on cheap hardware like Raspberry Pi devices. Cozy goes
beyond just a file sharing and sync tool, it’s a complete app engine written in
JavaScript. Its features allow you to maintain your own data using pre-installed web
apps.
Special features
• Cloud management: your data is safe and always at your disposal.

• Faster access: you can manage your cloud from your local network.

• Extended storage: you can always plug in a new personal hard drive.

• No subscription fees: no extra costs thanks if you’re willing to invest in


self-hosting.
Benefits of using the cloud
for your business
There are many potential advantages to adopting
cloud-based solutions for your business.
Depending on your business and data need,
migrating to a cloud environment can result in
the following benefits…
Cost Savings
Cloud solutions are particularly affordable for smaller
businesses who don’t have the capital to build out and
manage their own IT infrastructures.
Greater efficiencies and economies of scale mean more
money in your pocket in the long run.
Reliability
A managed cloud platform is generally much
more reliable than an in-house IT infrastructure,
with fewer instances of downtime or service
interruptions. Most providers offer 24/7 support
and over 99.9% availability.
Mobility
Cloud-based solutions open up opportunities
for more remote work and higher productivity
and efficiency as everyone is assured access
to the same updated information at the touch
of a button.
Top Cloud Computing Trends And Statistics
1. The growth of cloud computing will continue to accelerate.
2. The adoption of cloud-native applications will continue to
grow.
3. The use of artificial intelligence (AI) and machine learning
(ML) in cloud computing will continue to grow.
4. The use of edge computing will continue to grow.
5. The use of blockchain in cloud computing will continue to
grow.
Cloud Computing Companies and Services (Image source: imelgrat.me)
References:
• https://www.lucidchart.com/blog/cloud-computing-basics

• https://www.inforisktoday.com/5-essential-characteristics-cloud-computing-a-4189

• http://www.cloudstorage101.com/open-source-cloud-storage/

• Yang C. & Huang, Q. (2014) Spatial Cloud Computing: A Practical Approach. CRC Press.

• https://kinsta.com/blog/google-cloud-vs-aws/

• https://www.techtarget.com/searchcloudcomputing/
Case Study Analysis:
Real-World Cloud Computing Implementations
Objective:
Analyze real-world cloud computing implementations.

Activity:
The students are required to analyze case studies of companies that have
adopted cloud computing, assess the benefits, challenges, and outcomes,
and present their findings.
Case Study #1: Netflix
Netflix is a global streaming service that offers on-demand video content,
including movies, TV shows, and documentaries. With millions of
subscribers worldwide, Netflix requires a scalable and reliable
infrastructure to deliver content seamlessly.
Case Study #2: Spotify
Spotify is a leading music streaming service that offers a vast library of
songs, podcasts, and playlists. It requires a robust infrastructure to manage
millions of simultaneous streams and personalized user experiences.
Case Study #3: Tik Tok shop, Grab & Shoppee
TikTok Shop Grab Shopee
Shopee is a leading e-commerce
TikTok Shop is an e-commerce feature Grab is a leading Southeast Asian platform in Southeast Asia,
within the TikTok app, enabling users to super app offering ride-hailing, providing a wide range of
buy and sell products directly through food delivery, and financial products and services to
the platform. services. consumers.

You might also like