CC Unit-3.1 Notes
CC Unit-3.1 Notes
a)Scalability :-
Scalability is an important factor that drives the application designers to move to cloud
computing environments. Building applications that can serve millions of users without taking a hit
on their performance has always been challenging.
With the growth of cloud computing application designers can provision adequate resources
to meet their workload levels. However, simply provisioning more and more resources may not bring
performance gains if the applications are not designed to scale well.
Traditional approaches were based on either over- provisioning of resources to handle the
peak workload levels expected or provisioning based on average workload levels.
Both approaches have their disadvantages.
-While the over- provisioning approach leads to underutilization of resources and increased costs,
-the approach based on average workload levels can lead to traffic overloads, slow
response times, low throughputs and hence loss of opportunity to serve the customers.
In order to leverage the benefits of cloud computing such as dynamic scaling, the following
design considerations must be kept in mind:
Loose coupling of components: By designing loosely coupled components, it is possible to scale
each component independently.
Asynchronous communication: By allowing asynchronous communication between components, it
is possible to add capacity by adding additional servers when the application load increases.
Stateless design: Stateless designs that store state outside of the components in a separate database
allow scaling the application components independently.
Database choice and design: Choice of the database and the design of data storage schemes affect the
application scalability. Decisions such as whether to choose a traditional relational database (SQL
approach) with strict schemas or a schema-less database (No-SQL approach) should be made after
careful analysis of the application's data storage and analysis requirements.
c)Security:-
Security is an important design consideration for cloud applications given the out- sourced
nature of cloud computing environments.
In domains such as healthcare there are several government laws that require the applications
to ensure security of health information of patients.
Key security considerations for cloud computing environments include:
-Securing data at rest
-Securing data in motion
-Authentication
-Authorization
-Identity and access management
-Key management
-Data integrity
-Auditing
Design decisions such as loosely coupled components help in reducing the application
maintenance and upgradation time.
e)Performance:-
Applications should be designed while keeping the performance requirements in mind.
Performance requirements depend on the type of the application, For example applications which
experience high database read-intensive workloads, can benefit from read-replication or caching
approaches.
There are various metrics that are used to evaluate the application performance, such as
response time, throughput, etc.
For a good user experience a response time less than 4 seconds is generally acceptable.
However certain applications may have even more strict requirements.
2
P.Srinivasulu, Assoc. Professor, Cloud Computing
Dept. of CSE, PBRVITS, Kavali.
Reference Architectures for Cloud Applications
Introduction:-
Multi-tier cloud applications can have various deployment architecture alternatives.
Choosing the right deployment architecture is important to ensure that the application meets the
specified performance requirements.
Below diagram shows a typical deployment architecture for e-Commerce, Business-to-
Business, Banking and Financial applications.
Both relational and non-relational data stores are shown in this deployment. A content
delivery network (CDN) which consists of a global network of edge locations is used for media
delivery. CDN is used to speed up the delivery of static content such as images and videos.
Architecture for compute intensive applications:-
Below diagram shows typical deployment architecture for compute intensive applications such as
Data Analytics, Media Transcoding, etc.
4
P.Srinivasulu, Assoc. Professor, Cloud Computing
Dept. of CSE, PBRVITS, Kavali.
The above diagram shows web, application, storage, computing/analytics and database tiers.
The analytics tier consists of cloud- based distributed batch processing frameworks such as Hadoop
which are suitable for analyzing big data.
Data analysis jobs (such as MapReduce) are submitted to the analytics tier from the
application servers. The jobs are queued for execution and upon completion the analyzed data is
presented from the application servers.
5
P.Srinivasulu, Assoc. Professor, Cloud Computing
Dept. of CSE, PBRVITS, Kavali.
6
P.Srinivasulu, Assoc. Professor, Cloud Computing
Dept. of CSE, PBRVITS, Kavali.