Professional Documents
Culture Documents
SEWP ZG527
BITS Pilani
Lecture Session – 8 1
Agenda
2
2
BITS Pilani
Cloud Readiness
Structure
A large, monolithic, single-tiered legacy application typically isn't a
good fit for the cloud. Efficiencies are gained when load can be
spread over several instances, so that a failure in one part of the
system can be mitigated without affecting other parts of the
system, or so that scaling can take place where the app needs it.
Dependencies
Applications that depend on specific hardware—such as a
particular chip set or an external device such as a finger- print
reader—might not be a good fit for the cloud, unless those
dependencies are specifically addressed. Similarly, if an
application depends on an operating system or set of libraries that
can- not be used in the cloud, or cannot be virtualized, that is a
3
problem.
BITS Pilani
Cloud Readiness
Connectivity
Self-contained applications or those that depend on resources
that are not reachable by the cloud in question, will not run. In
some situations, work around these issues with custom net-
work setup, but how well this works depends on the chosen
cloud environment.
BITS Pilani
Design Principles for Cloud
Here are some guidelines to keep in mind when designing an
application for the cloud:
• Be a pessimist: Assume everything fails and design backwards. Love
your chaos monkey.
• Put your eggs in multiple baskets: Leverage multiple providers, geo-
graphic regions and availability zones to accommodate for local avail-
ability issues. Design for portability.
• Think efficiency: Inefficient designs will not scale. Efficient designs be-
come cheaper as they scale. Kill off unneeded components or capacity.
• Be paranoid: Design for defense in depth and zero tolerance by building
in security at every level and between every component. Trust no one.
• But not too paranoid: Not every application needs the platinum solution.
Architect for different SLA’s, service tiers and security levels.
• Manage the data: Data is usually the most inflexible and complex area of
a cloud and cloud integration architecture. Don’t short change the ef- fort
in analyzing and addressing data needs.
5
BITS Pilani
Design Principles for Cloud
• Hands off: Leverage automation to increase consistency and quality and
reduce response times.
• Divide and conquer: Pursue partitioning and parallel layering wherever
possible. Make components as small and portable as possible. Use load
balancing between layers.
• Think elasticity: Increasing resources should result in a proportional in-
crease in performance and scalability. Decreasing resources should have
the opposite effect.
• Be dynamic: Enable dynamic configuration changes such as auto scaling,
failure recovery and resource discovery to adapt to changing environ- ments,
faults and workload volumes.
• Stay close: Reduce latency by moving highly interactive components and
data near each other.
• Keep it loose: Loose coupling, service interfaces, separation of concerns,
abstraction and well defined API’s deliver flexibility.
• Be cost aware: Auto scaling, data transmission, virtual software licens- es,
reserved instances, and so on can rapidly increase monthly usage charges.
Monitor usage closely.
6
BITS Pilani
OpenStack
BITS Pilani
OpenStack
10
BITS Pilani
OpenStack
11
BITS Pilani
12
BITS Pilani
13
BITS Pilani
General principles and methodology
14
BITS Pilani
15
BITS Pilani
16
BITS Pilani
17
BITS Pilani
18
BITS Pilani
19
BITS Pilani
20
BITS Pilani
21
BITS Pilani
22
BITS Pilani
23
BITS Pilani
24
BITS Pilani
25
BITS Pilani
Thanks!!!
Queries?
26
BITS Pilani