0% found this document useful (0 votes)
2 views25 pages

CC Unit 3

The document provides an overview of cloud application design, including design considerations, reference architectures, and methodologies for cloud applications. It outlines the components of cloud computing architecture, differentiates between cloud and grid computing, and discusses cloud architecture design principles based on Amazon's Well-Architected Framework. Additionally, it covers data storage approaches, types of storage systems, and the importance of cloud-native development models.

Uploaded by

salmandec18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views25 pages

CC Unit 3

The document provides an overview of cloud application design, including design considerations, reference architectures, and methodologies for cloud applications. It outlines the components of cloud computing architecture, differentiates between cloud and grid computing, and discusses cloud architecture design principles based on Amazon's Well-Architected Framework. Additionally, it covers data storage approaches, types of storage systems, and the importance of cloud-native development models.

Uploaded by

salmandec18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

UNIT-3

Syllabus: Cloud Application Design: Design Considerations, Reference


Architectures, Cloud Application Design Methodologies, Data Storage
Approaches, Multimedia Cloud: Introduction, Case Study: Live Video Streaming
App, Streaming Protocols, Case Study: Video Transcoding APP.

Cloud Application Design: A cloud application is software that runs its


processing logic and data storage between 2 different systems: client-side
and server-side. Some processing takes place on an end user's local hardware,
such as a desktop or mobile device, and some takes place on a remote server.
Cloud Computing Architecture
As we know, cloud computing technology is used by both small and large
organizations to store the information in cloud and access it from anywhere
at any time using the internet connection.
Cloud computing architecture is a combination of service-oriented
architecture and event-driven architecture.
Cloud computing architecture is divided into the following two parts -
o Front End
o Back End
The below diagram shows the architecture of cloud computing

Fig: Cloud Computing Architecture

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 1


Front End
The front end is used by the client. It contains client-side interfaces and
applications that are required to access the cloud computing platforms. The
front end includes web servers (including Chrome, Firefox, internet explorer,
etc.), thin & fat clients, tablets, and mobile devices.

Back End
The back end is used by the service provider. It manages all the resources that
are required to provide cloud computing services. It includes a huge amount of
data storage, security mechanism, virtual machines, deploying models, servers,
traffic control mechanisms, etc.

Components of Cloud Computing Architecture


There are the following components of cloud computing architecture -

1. Client Infrastructure

Client Infrastructure is a Front end component. It provides GUI (Graphical User


Interface) to interact with the cloud.

2. Application

The application may be any software or platform that a client wants to access

A Cloud Services manages that which type of service you access according to
the client’s requirement.

Cloud computing offers the following three type of services:

i. Software as a Service (SaaS) – It is also known as cloud application


services. Mostly, SaaS applications run directly through the web browser
means we do not require to download and install these applications. Some
important example of SaaS is given below –

Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.

ii. Platform as a Service (PaaS) – It is also known as cloud platform services.


It is quite similar to SaaS, but the difference is that PaaS provides a platform for
software creation, but using SaaS, we can access software over the internet
without the need of any platform.

Example: Windows Azure, Force.com, Magento Commerce Cloud, OpenShift.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 2


iii. Infrastructure as a Service (IaaS) – It is also known as cloud
infrastructure services. It is responsible for managing applications data,
middleware, and runtime environments.

Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE),
Cisco Metapod.

4. Runtime Cloud

Runtime Cloud provides the execution and runtime environment to the


virtual machines.

5. Storage

Storage is one of the most important components of cloud computing. It


provides a huge amount of storage capacity in the cloud to store and manage
data.

6. Infrastructure

It provides services on the host level, application level, and network level.
Cloud infrastructure includes hardware and software components such as
servers, storage, network devices, virtualization software, and other storage
resources that are needed to support the cloud computing model.

7. Management

Management is used to manage components such as application, service,


runtime cloud, storage, infrastructure, and other security issues in the backend
and establish coordination between them.

8. Security

Security is an in-built back end component of cloud computing. It implements


a security mechanism in the back end.

9. Internet

The Internet is medium through which front end and back end can interact and
communicate with each other.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 3


The difference between cloud computing and grid computing.

Cloud Computing Grid Computing

Cloud Computing follows client- Grid computing follows a distributed


server computing architecture. computing architecture.

Scalability is high. Scalability is normal.

Cloud Computing is more flexible Grid Computing is less flexible than cloud
than grid computing. computing.

Cloud operates as a centralized Grid operates as a decentralized


management system. management system.

In cloud computing, cloud servers In Grid computing, grids are owned and
are owned by infrastructure managed by the organization.
providers.

Cloud computing uses services like Grid computing uses systems like
Iaas, PaaS, and SaaS. distributed computing, distributed
information, and distributed pervasive.

Cloud Computing is Service- Grid Computing is Application-oriented.


oriented.

It is accessible through standard It is accessible through grid


web protocols. middleware.

Cloud Architecture Design Principles.


Amazon’s Well-Architected Framework aids users in the development of
secure, high-performing, resilient, and efficient infrastructure for their
applications. Cloud architecture design ideas are based on five pillars—

 operational excellence
 security
 reliability
 performance efficiency
 cost optimization

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 4


Cloud Architecture Design Principles

 Operational Excellence is concerned with the operation and monitoring


of systems in order to deliver corporate value and enhance processes
and procedures on a continuous basis. It consists of
 managing and automating changes
 responding to events
 defining standards to successfully manage daily operations.
 Security – Focuses on protecting information and systems. It includes
 confidentiality and integrity of data
 identifying and managing who can do what with privilege
management
 protecting systems
 controls to detect security events
 Reliability – It focuses on the ability to prevent, and quickly recover
from failures to meet business and customer demand. It includes
 foundational elements around setup
 cross project requirements
 recovery planning
 how we handle change.
 Performance Efficiency – It focuses on using IT and computing resources
efficiently. It includes
 selecting the right resource types and sizes based on workload
requirements
 monitoring performance
 making informed decisions to maintain efficiency as business
needs evolve.
 Cost Optimization – It focuses on avoiding un-needed costs. It includes
 understanding and controlling where money is being spent,
 choosing the proper number of resource kinds and the most
relevant resource types
 Scaling to fulfill corporate needs without overspending by
assessing spend over time.

Fig: Design Principles

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 5


Principle Implementation:

For implementation leverage a set of

 Compute services
 Storage services
 Database services
 Analytics services
 Application services
 deployment services
Design Considerations:
Application design for cloud infrastructure needs some key considerations to
leverage the advantages provided by cloud. In the traditional systems
applications were designed with consideration of limited resources. But in the
cloud applications can take advantage of almost unlimited resources and
architects need to consider this change while architecting applications on
cloud.
 Persistence.
 Model-view-controller pattern.
 Statelessness.
 Caching.
 Asynchronous considerations.
 Third-party libraries.
Reference Architectures:
The Cloud Reference Architecture (CRA) helps organizations address the
need for detailed, modular and current architecture guidance for building
solutions in the cloud.

The Cloud Reference Architecture (CRA) serves as a collection of design


guidance and design patterns to support structured approach to deploy
services and applications in the cloud. This means that every workload is
deployed with security, governance and compliance in mind from day one.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 6


It Defines four different views for the Cloud Reference Architecture (CRA):
 User View
 Functional View
 Implementation View
 Deployment View.
 We will be focusing on the Deployment View of the Cloud Reference

Architecture (CRA) for now.

The Cloud Reference Architecture (CRA) Deployment View provides a


framework to be used for all cloud deployment projects, which reduces the
effort during design and provides an upfront guidance for a deployment aligned
to architecture, security and compliance.

Cloud Reference Architecture (CRA) Deployment View as the blueprint for all
cloud projects. What you get from this blueprint, the end goal if you are
wondering, is to help you quickly develop and implement cloud-based
solutions, while reducing complexity and risk.
Therefore, having a foundation architecture not only helps you ensure
security, manageability and compliance but also consistency for deploying

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 7


resources. It includes network, security, management infrastructure, naming
convention, hybrid connectivity and more.

Cloud Applications Design Methodologies (Native):


Server less is a cloud-native development model that allows developers to
build and run applications without having to manage servers.
The cloud computing is based on the Internet computation that provides the
shared processing of the resources and the data to the resources. The model is
based on working over the ubiquitous demands with the on demand access to
the shared pool of the configurable computing resources
1. Codebase: A 12 Factor App is always tracked in a version control system
such as Git or Apache Subversion (SVN) in the form of code repository.
This will essentially help you to build your code on top of one codebase,
fully backed up with many deployments and revision control.
2. Dependencies: As the app is standalone and needs to install
dependencies, it is important to explicitly declare and isolate
dependencies.
3. Config: This factor manages the configuration information for the app.
Here you store your configuration files in the environment. This factor
focuses on how you store your data – the database Uniform Resource
Identifier (URI) will be different in development, QA and production.
4. Backing Services: This includes backing service management services
(local database service or any third party service) which depends on over
a network connection. In case of a 12 factor app, the interface to connect
these services should be defined in a standard way.
5. Build, Run, Release: It is important to run separately all the build and
run stages making sure everything has the right libraries. For this, you
can make use of required automation and tools to generate build and
release packages with proper tags. This is further backed up by running
the app in the execution environment while using proper release
management tools like Capistrano for ensuring timely rollback.
6. Stateless Processes: This factor is about making sure the app is executed
in the execution environment as one or more processes. In other words,

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 8


you want to make sure that all your data is stored in a backing store,
which gives you the right to scale out anything and do what you need to
do. During stateless processes, you do not want to have a state that you
need to pass along as you scale up and out.
7. Port Binding: Twelve factor apps are self-contained and do not rely on
runtime injection of a web server into the execution environment to
create a web-facing service.
8. Concurrency: This factor looks into the best practices for scaling the app.
These practices are used to manage each process in the app
independently i.e. start/stop, clone to different machines etc. The factor
also deals with breaking your app into much smaller pieces and then look
for services out there that you either have to write or can consume.
9. Disposability: Your app might have different multiple processes
handling different tasks. So, the ninth factor looks into the robustness of
the app with fast startup and shutdown methods. Disposability is about
making sure your app can startup and takes down fast and can handle
any crash anytime..
10. Dev/Prod Parity: Development, staging and production should be
as similar as possible. In case of continuous deployment, you need to have
continuous integration based on matching environments to limit
deviation and errors. Some of the features of keeping the gap between
development and production small are as follows:
1. Make the time gap small: a developer may write code and have it
deployed hours or even just minutes later.
2. Make the personnel gap small: developers who wrote code are
closely involved in deploying it and watching its behavior in
production.
3. Make the tools gap small: keep development and production as
similar as possible.
11. Logs: Logging mechanisms are critical for debugging. Having
proper logging mechanisms allows you to output the log info as a
continuous stream rather than managing the entire database of log files.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 9


Then, depending on the configuration, you can decide where that log will
publish.
12. Admin Processes: One-off admin processes help in collecting data
from the running application. In order to avoid any synchronization
issues, you need to ensure that all these processes are a part of all
deploys.

Data Storage Approaches:


Cloud Storage is a service that allows to save data on offsite storage system
managed by third-party and is made accessible by a web services API.

Storage Devices

Storage devices can be broadly classified into two categories:


 Block Storage Devices
 File Storage Devices
Block Storage Devices
The block storage devices offer raw storage to the clients. These raw storages
are partitioned to create volumes.
File Storage Devices
The file Storage Devices offer storage to clients in the form of files,
maintaining its own file system. This storage is in the form of Network Attached
Storage (NAS).

Cloud Storage Classes

Cloud storage can be broadly classified into two categories:


 Unmanaged Cloud Storage
 Managed Cloud Storage
Unmanaged Cloud Storage
Unmanaged cloud storage means the storage is preconfigured for the customer.
The customer can neither format, nor install his own file system or change drive
properties.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 10


Managed Cloud Storage
Managed cloud storage offers online storage space on-demand. The managed
cloud storage system appears to the user to be a raw disk that the user can
partition and format.
Storage Systems in the Cloud :

There are 3 types of storage systems in the Cloud as follows.


 Block-Based Storage System
 File-Based Storage System
 Object-Based Storage System
Type-1 :

Block-Based Storage System –


 Hard drives are block-based storage systems. Your operating system like
Windows or Linux actually sees a hard disk drive. So, it sees a drive on
which you can create a volume, and then you can partition that volume and
format them.
 For example, If a system has 1000 GB of volume, then we can partition it
into 800 GB and 200 GB for local C and local D drive respectively.
 Remember with a block-based storage system, your computer would see a
drive, and then you can create volumes and partitions.
Type-2 :

File-Based Storage System –


 In this, you are actually connecting through a Network Interface Card
(NIC). You are going over a network, and then you can access the network-
attached storage server (NAS). NAS devices are file-based storage systems.
 This storage server is another computing device that has another disk in it.
It is already created a file system so that it’s already formatted its
partitions, and it will share its file systems over the network. Here, you can
actually map the drive to its network location.
 In this, like the previous one, there is no need to partition and format the
volume by the user. It’s already done in file-based storage systems. So, the
operating system sees a file system that is mapped to a local drive letter.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 11


Type-3 :

Object-Based Storage System –


 In this, a user uploads objects using a web browser and uploading an object
to a container i.e, Object Storage Container. This uses the HTTP Protocols
with the rest of the APIs (example: GET, PUT, POST, SELECT, DELETE).
 For example, when you connect to any website, and you need to download
some images, text, or anything that the website contains. For that, it is a
code HTTP GET request. If you want to review any product then you can
use PUT and POST requests.
 Also, there is no hierarchy of objects in the container. Every file is on the
same level in an Object-Based storage system.
Advantages:
 Scalability: Capacity and storage can be expanded and performance can
be enhanced.
 Flexibility :Data can be manipulated and scaled according to the rules.
Simpler Data Migrations “As it can add and remove the new and old
data when required eliminates disruptive data migrations.
Disadvantages:
 Data centers require electricity and proper internet facility to operate their
work, failing in which system will not work properly .

Multimedia Cloud Introduction:


Multi cloud is the use of two or more cloud providers together, they might be
public, private or a mix of both to achieve the organization’s goals.

Multi cloud allows one organization to use most appropriate and most
beneficial cloud options based on their business requirement that may be
public or private cloud for each separate application.

For example, more than 30 billion pieces of content such as web links,
news stories, blog posts, notes, and photo albums are shared each month on
Facebook. On the other hand, Twitter users are tweeting an average 55 million
tweets a day that includes web links and photo albums. Web pages and other
multimedia content are being delivered through content delivery networks
(CDN) technologies. These technologies optimize network usage through
dedicated network links, caching servers and by increasingly using peer-to-
peer technologies. The concept of a CDN was conceived in the early days of
Internet but it took until the end of 1990’s before CDNs from Akamai and other
commercial providers managed to deliver Web content (i.e., web pages, text,

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 12


graphics, URLs and scripts) anywhere in the world and at the same time meet
the high availability and quality expected by their end users. For example,
Akamai delivers between fifteen to thirty percent of all Web traffic, reaching
more than 4 Terabits per second. Commercial CDNs achieved this by deploying
a private collection of servers and by using distributed CDN software system in
multiple data centres around the world.
Multi cloud is
1. Innovation :
Multi cloud strategy have the flexibility to rapidly innovate while also
taking advantage of the best features every cloud provider gives. This
helps the development teams to focus on innovating without the
limitation of the providers holding them back.
2. Risk Mitigation :
Cloud providers have different locations across the globe that can be
picked to host the cloud environment.
3. Vendor lock-in :
By taking service from multiple cloud providers the risk of getting stuck
on a single provider in case the provider goes out of business or change
their term of service.
4. Power Negotiation :
If there are multiple providers it is easy to negotiate with the providers
for better pricing.
5. Latency :
Being able to select which region to host your cloud environment is very
useful as the organization can pick regions which will have less traffic and
provide lower latency to the customer.
Service providers used in multi load computing :
As multi cloud is a combination of multiple cloud vendors so there is no
specific multi-cloud infrastructure vendor. Instead, it involves a mix of
multiple cloud service providers i.e
 Amazon Web Services (AWS)
 Microsoft Azure
 Google cloud
 IBM
 Oracle etc.
Security in Multi-cloud environment :
A multi-cloud environment needs to be monitored by a third party, and they
have to be provided with proper administration rights too. Also, they would
have to check on the infrastructure on a regular basis as it will keep
changing.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 13


Some drawbacks of using Multi-cloud:
 Talent Management, Cost estimation, Optimization and Reporting,
Security Risks,

To provide good media services, multimedia computing has grown as a


eminent technology for generating edit, process and search media contents,
such as images, video, audio, graphics, and so on. Now a days for multimedia
applications and services over the Internet and mobile wireless networks, there
are strong demands for cloud computing because of the huge amount of
calculations required for serving millions of Internet or mobile users at the
same time. In this new cloud-based multimedia computing model, users store
and process their multimedia application data in the cloud in a distributed
manner, eliminating full installation of the media application software on the
users’ computer or device and thus reducing the burden of multimedia
software maintenance and upgrade as well as sparing the computation of user
devices and saving the battery of mobile phones.

For multimedia computing in a cloud, continuous bursts of multimedia


data access, huge processing, and transmission in the cloud would create a
threshold in a general purpose cloud because of tough multimedia QoS
requirements and large amounts of users’ simultaneous accesses at the Internet
scale. However, for multimedia applications, in addition to the CPU and storage
requirements, another very important factor is the QoS requirement for
bandwidth, delay, and jitter. Therefore, using a general-purpose cloud in the
Internet to deal with multimedia services may suffer from unacceptable media
QoS or QoE. Mobile devices have limitations in memory, computing power, and
battery life; thus, they have even more prominent needs to use a cloud to
address the tradeoff between computation and communication.

mobile media applications and services, because of the power requirement for
multimedia and the time-varying features of the wireless channels, QoS
requirements in cloud computing for mobile multimedia applications and
services become more stringent than those for the Internet cases. To meet
multimedia’s QoS requirements in cloud computing for multimedia services
over the internet and mobile wireless networks, we tell the main concepts of
multimedia cloud computing for multimedia computing and communications,
shown in Figure

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 14


Case Study: Live Video Streaming App:
Introduction: Mobile applications with video streaming have become a
valid alternative to offline meetings. In addition, social media
applications, doctor-on-demand projects, and virtual events software also
apply video streaming functionality.
At The APP Solutions, we often receive requests from potential clients for video
streaming app development. Clients, who consider The APP Solutions as a tech
partner, are looking for evidence that we have expertise in video streaming and
social media app development.
We decided to build a proof of concept of a video streaming application to
ensure the ownership of the tech expertise.We also gave a detailed description
of the overall architecture, feature list, and technologies we applied.

Implement the following mobile screens and use cases:

 Sign up / Sign in. Users can sign up/sign in to the system.


 View profile. Users can view their and other users’ profile data.
 Edit profile. Users can edit their profile data, such as name, avatar, and bio.
 Search. Users can search for other users by name and follow them.
 Start streaming. Users can start real-time video streaming.
 View streamings list. Users can view the list of active streams.
 Join the stream. Users can participate in the streaming of another user as a
viewer.
Integrate several authorization methods, such as:
 Email and Password
 Google authorization
 Facebook authorization
 Apple authorization

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 15


Our Solution - Video Streaming App Proof of Concept
We developed a proof of concept of a video streaming application with the
basic functionality of a social media app to show off our tech expertise in live
broadcasting and demonstrate how such a project may look.
Implemented features:
 Sign-in/Sign-up via email and password, Facebook, Google, and Apple ID.

 User Profile

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 16


 Search for followers, follow and unfollow functionality

 View the list of active video streams

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 17


 Broadcasting videos to subscribers and receiving reactions

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 18


Streaming Protocols:
There are six common streaming protocols that professional broadcasters should
be familiar with, including HLS, RTMP, SRT, MSS, and MPEG-DASH, and WebRTC.
Let’s take some time to explore some of the background and technical
requirements for the most popular protocols.

1. HTTP Live Streaming (HLS):


HLS streaming is an alternative protocol developed by Apple. HLS stands for HTTP
Live Streaming, and today it is the most widely used streaming protocol on the
internet. However, this was not always the case because when Flash was still
around, the top streaming protocol was RTMP.

HLS is an adaptive bitrate protocol and also uses HTTP servers. This protocol is an
evolving specification, as Apple continually adds features and regularly improves
HLS.
Video Codecs Supported:
 H.264
 H.265 / HEVC
Audio Codecs Supported:
 AAC
 MP3
Transport/Package Format:
 MPEG-2 TS
Playback Support:
 iOS and macOS devices
 Safari, Chrome, Firefox, and Edge web browsers
 Many set-top boxes, such as Roku
 Many online video players, such as JW Player and the Dacast all-device video
player
Segment Duration:
 10 seconds (can be manually reduced as part of reducing latency)
If you want to connect with viewers who use Apple devices, HLS streaming is one
of the best protocols for live streaming.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 19


2. Real-Time Messaging Protocol (RTMP)

Real-Time Messaging Protocol (RTMP) is a protocol that was previously used to


deliver videos to the Adobe Flash player. RTMP was developed by Macromedia
with the primary use case of working with Adobe Flash player, but as you already
know, Flash player is now dead.
To understand the popularity of RTMP as a delivery protocol, consider that at one
point, Adobe Flash Player was installed in about 99% of desktops in the West.
RTMP was heavily used for many years.

Video Codecs Supported:


 H.264
 MP4
 x264
Audio Codecs Supported:
 AAC-LC
 AAC
Transport/Package Format:
The transport/package format for RTMP is unavailable.
Playback Support:
 Flash Player
 Adobe AIR
 RTMP-compatible players
Segment Duration:
 The segment duration for RTMP is unavailable.
If you need a stream with low latency, where there is a minimal delay in the
processing of the data, RTMP ingest is one of the best video streaming standards to
use.

2. 3. Secure Reliable Transport (SRT)


Secure Reliable Transport (SRT) is a relatively new streaming protocol from
Haivision, a leading player in the online streaming space. SRT is an open-source
protocol that is likely the future of live streaming. This video streaming protocol is
known for its security, reliability, and low latency streaming.
Video Codecs Supported:
 SRT is media and content agnostic, so it supports all video codecs.
Audio Codecs Supported:
 SRT is media and content agnostic, so it supports all audio codecs.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 20


Transport/Package Format:
 SRT is media and content agnostic, so it supports all transport and package
formats.
Playback Support:
 Haivision does not specify playback support for SRT.
Segment Duration:
 Haivision does not specify segment duration for SRT.
If you want to be on the cutting edge of video streaming protocols, you may want
to consider adapting SRT.

4. Microsoft Smooth Streaming (MSS)


MSS is a streaming protocol that Microsoft developed in 2008 to meet early needs
for adaptive bitrate streaming. This video streaming protocol was known for being
cost-effective, reducing buffering, and offering optimized performance.
Video Codecs Supported:
 H.264
 VC-1
Audio Codecs Supported:
 AAC
 WMA
Transport/Package Format:
 MP4 fragments
Playback Support:
 Browsers with the Silverlight plugin
 Xbox
 Windows Phone
 iOS devices
 Windows computers
 Many Smart TVs
Segment Duration:
 2-4 seconds
If you are looking for the best streaming protocol for Windows devices, be sure to
consider MSS.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 21


5. Dynamic Adaptive Streaming over HTTP (MPEG-DASH):

The last protocol in our review is MPEG-DASH. This is one of the newest streaming
protocols, and it is beginning to see broader adoption.
Dynamic Adaptive Streaming over HTTP (DASH) which is also known as MPEG-
DASH, uses standard HTTP web servers. This reduces the cost and technical
difficulty of implementation when compared to legacy methods of streaming like
RTP.
MPEG-DASH is also an adaptive bitrate (ABR) protocol. This means it will
automatically detect changes in the internet connection speed of the viewer and
serve the best available quality video at any given time. ABR streaming reduces
buffering and enhances the viewers’ experience.
Video Codecs Supported:
 H.264 (the most common codec)
 H.265 / HEVC (the next-generation successor)
 WebM
 VP9/10
 Any other codec (MPEG-DASH is codec agnostic)
Audio Codecs Supported:
 AAC
 MP3
 Any other codec (MPEG-DASH is codec agnostic)
Transport/Package Format:
 MP4 fragments
 MPEG-2 TS
Playback Support:
 Native support on Android devices
 Plays back on most Samsung, LG, Philips, Panasonic, and Sony TVs made after
2012
 Works on Chromecast
 Supported on YouTube and Netflix
 Not natively supported via HTML5, but players can be implemented via
Javascript and Media Source Extensions
Segment Duration:
 Variable
6.WebRTC
Web Real-Time Communication (WebRTC) is relatively new compared to the
others on our list and technically not considered a streaming protocol, but often
talked about as though it is. It is what’s largely responsible for your ability to
participate in live video conferences directly in your browser.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 22


Video Codecs Supported:
 H.264

 VP8 + VP9
Audio Codecs Supported:
 PCMU

 PCMA
 G.711
 G.722
 Opus
Playback Support:
 Native support on Android devices

 As of 2020, iOS Safari 11 and newer versions support WebRTC


 Works on Google Chrome, Mozilla Firefox, and Microsoft Edge
 Supported by YouTube and Google
Segment Duration:
 Not applicable

Case Study: Video Transcoding APP:


When a video is first recorded by a phone or camera, the raw video data is too
large to store locally, much less send over the web. For example, an hour of
1080p 60fps uncompressed video is around 1.3 terabytes.

To bring the size of this raw data down to a more manageable size, the data
must be compressed. The software that is used to compress this data is called a
codec (a combination of the words coder and decoder). A codec applies an
algorithm to compress video data, encoding it so that it can be easily stored and
sent. Once compressed, the data is packaged into a file format, called a
container. Containers have extensions you may have seen, like .mp4 or .mov.

When playing a video this process is reversed. A media player opens the
container, and the same codec is used to decode the video data and display it on
the device.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 23


Encoded videos are decoded with the same codec for playback
Video transcoding and its inherent challenges

This process of conversion is called video transcoding. The process of


ingesting a video file and transcoding it to specific formats and file sizes is
coordinated and facilitated by a transcoding pipeline.

Every business that delivers video files on the internet will consider how they
are going to handle this process of transcoding their videos. Unfortunately, the
video transcoding process possesses its own inherent challenges that need to
be addressed when negotiating a transcoding solution.

First, transcoding large video files takes a very long time. Transcoding a single
60 minute HD video can take anywhere from two to six hours, and sometimes
more.

Second, transcoding is demanding on memory and CPU. A video transcoding


process will happily eat all the CPU and memory that are thrown at it.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 24


Transcoding on a single local machine may be a viable option for individuals
that only transcode a few videos per month. However, businesses that have
regular video demand will not find this to be a feasible option, and will
generally choose between one of two professional transcoding solutions.

IMPORTANT QUESTIONS
2 Marks:
1. What Are the Cloud Storage Classes?
2. List Any 4 Streaming Protocols in cloud computing.
3. What are the Cloud Reference Architecture views?

5/10 Marks:
1. Explain about Cloud Computing Architecture.
2.List and Explain CC design Principles.
3. What are the Cloud Application Design Methodologies?
4.Illustrate Cloud Computing Streaming Protocols.

PAPPI REDDY Associate Professor Dept. of CSE. VISWAM ENGINEERING COLLEGE 25

You might also like