Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 15

APPLICATION

ARCHITECTURE FOR
CLOUD
Cloud Application Architecture

 It is the design of a software application that defines


internal subcomponents and interaction between
modules and interface with external applications or
services.
 It is a design or plan that defines what the application
will contain and how it will interact with infrastructure
components.
 The application itself is designed to automate specific
business tasks in a coherent and logical manner to
help users conveniently interact with others to store
and share data.
Cloud Application Architecture
continue..

 In traditional architecture ,one or more servers


interact with the database using a middle –tier
software or application framework.
 Many organizations are in the process of porting and
migrating existing internal applications to public or
private clouds.
 Applications need to be fundamentally architected
and written for use in the cloud otherwise it will
work similar to traditional on –premise applications
installed on a cloud.
Cloud Application Requirement

 For working with the cloud applications,


requirements and architecture must be the first
two documents to be written and reviewed .
 There are two types of requirements functional
and non-functional.
 Functional requirements list the purpose and the
objective of the application .Non-functional
requirements include performance ,response
time, built-in security,replication,ease of use,
productivity,agility,backups,business
continuity,scalibility and modularity.
Cloud Application Requirements
Application Requirements & Constraints
• Business needs
• Required outcomes
• Enterprise Vision
• Legal Limitations when hosting in cloud
• Regulatory Requirements
• Cloud standards
• Use of Existing templates
• Corporate policies for cloud use

Non-Functional Requirements
• Performance & Response Time
• Security
Functional Requirements • Service availability in the cloud
• Required Features • Backup to other clouds
• Business Goals • Extension to Hybrid clouds
• User Requirements • Localization
• Compatibility with other cloud
platforms
• Support for end-user devices
Architecture for traditional Verses Cloud
Applications

 Architecture for an application destined for a


multi-tenant public or private cloud is
different from the traditional applications
that only reside on a traditional ,on-premise
infrastructure.
 In the cloud, the resources are separated by a
layer and the applications must be able to
scale horizontally, use resources when it is
needed and be cost-effective to operate.
Assumptions for traditional and cloud
Applications(contd..)

 Many application architects bring their


long held assumptions that have earlier
worked well. Many of these may conflict
with new paradigms in social, mobile and
cloud areas.
 The architects need to know what to
discard and what new practices to adopt.
Old and New paradigms and Architecture
Principles

Traditional Assumptions:
 Application depends on the homogeneity of the infrastructure
 Applications can have access to device to device files, which
will be unchanged and static.
 Application exist in a single location
 Database can be used to ensure data & process integrity.
 Applications will deal with structured data and pre-defined
format.
 Applications will have a fixed format for input and outputs.
Developers can assume a ‘recorder’pattern.
Old and New paradigms and
Architecture Principles(contd)
New Thoughts and Patterns:
Applications will be running in a highly dynamic and possibly hybrid cloud
environment.
Applications will run on virtualized resources and
can be instantly moved to another set of resources . Also the amount of resources
will vary.
 Applications are distributed across multiple locations .A logical separation of
resources may or may not exist among these locations.
 Applications must be aware of data integrity and be able to manage integrity issues.
Applications accommodate different media types and various data types for the same
field or information.
Applications must be designed around social, intepersonal communications.
Fundamental Requirements for Cloud
Application Architecture.

 Cloud Applications must be flexible ,Dynamic


and Distributable.
 Cloud Applications must be architected and
installed for unknown and varying
geographic locations.
 Cloud Applications must account for pricing
of resource access and utilization.
 Cloud Applications must take care of data
integrity and consistency.
Fundamental Requirements for Cloud
Application Architecture(Continue..)

 Cloud Applications must process various


information types.
 Cloud Applications must be more Mobile-
Aware.
 Applications must do lot more than just
accepting and storing input.
CLIENT-SERVER Architecture for cloud
applications

 The Powerful ,Internet connected users devices combined


with the cost benefits of the cloud have led to a new
application architecture called client-cloud architecture
 The developers have to write two applications:

1. Server Application for the cloud: This is architected


for a private or a public cloud such as Amazon AWS,
Microsoft Azure, Google App Engine or any of the
various cloud application platforms.
CLIENT-SERVER Architecture for cloud
applications(contd..)
2. Client Application for the client devices: This
includes smart phones, tablets, laptops etc.
The application could be deployed via a
native iOS or Android application or a Web
browser on a laptop or desktop.
Advantage of client-server
Architecture
 The emerging online app store and market
place facilitates the distribution of client-side
applications. This the SIV and developer
reduce the operating expenses by pushing a
lot of functionality, processing and logic into
the client application.
 It reduces the cloud service utilization and
expenses for the end user and application
providers.
Advantage of client-server
Architecture(contd..)
 It allows various development organizations
to be “hardware free” such as servers ,storage
,network etc.
 Faster response for the end users.

You might also like