Cloud Workload
Guidelines
LEE JEN WEI
1
Cloud-Readiness Key Considerations
2
Key Application Considerations How To Address It
Performance If app does not perform in
cloud, the desired savings
evaporate
• Identify and fix performance constraints
• Decouple compute-intensive components
• Fine tune using actual usage patterns
Elasticity Applications must be
designed to scale out/up for
agility and scale in/down for
cost savings.
• Do no design a monolithic application
• Break it into scalable components to
maximize scale-up and down, out and in
Resilience Less control and visibility.
Build the application ready
for failure.
• Ensure the application is designed to
recover from failure
• Build components loosely coupled
• Perform tests for failure scenarios
Security New risk and vulnerabilities in
a shared environment.
Security should be built-in,
verified and monitored.
• Check security, use https / VPN
• Encrypt privacy sensitive information
• Test all 3rd party components
Cloud Application Workloads Suitability
3
Suitable Workloads Less Suitable Workloads
Service Oriented Architecture (SOA) Applications that involve extremely
sensitive data, regulatory or legal risk in
disclosure. Require special treatment to
run on cloud.
Development & Test,
Proof of concepts
Applications that are run on the private
networks or high performance hardware
that are very performance- sensitive
Applications that are expected to be hit
periodically/seasonally with sudden burst
/surges of high traffic or load
Applications that require frequent and/or
voluminous transactions against on-
premise databases that cannot be
migrated
Applications that run infrequently but require
significant computing resource
Applications that run on legacy platforms
that are typically not supported or having
weak support by cloud provider
Applications that require massive storage and
growth volume
Applications that run in different time zones or
regions
Cloud Application Workloads Suitability
4
Suitable Workloads Less Suitable Workloads
Applications that are used by remote or mobile
workers to manage their time and activity
Extend storage capacity
Extend archiving capability
Cloud Workload Examples
5
Workload Examples
Web sites, Mobile
Apps, Social
Web Portal sites, Mobile App backend, Mobile Web sites,
Microsites, CMS, Intranet portals, etc
Proof of concepts,
Development/Testing
Product/software evaluations, Personalisation (eg. Ab
Initio),
Distributed load/performance testing, etc
Sporadic Compute-
intensive Applications
Promotions or events driven applications, high volume
mass email / push notification applications
Analytics Map Reduce jobs, batch jobs, Memory/Storage/Compute
resource intensive applications
Storage, Archiving Mobile app data backup,
Storing high volume of static assets/objects (eg. Images,
video files) on AWS S3 and access via web service
provided by S3,
Application archive log files, etc
Collaboration Enterprise Social Networking/collaboration apps, Web
conferencing apps, File-sharing apps, etc
Cloud Architecture Best Practices
6
Best Practice Description
1. Design for failure and
nothing will fail
• Design for hardware/software failure
• Build mechanism to handle the failures
• Impervious to reboots and relaunches
• Self-healing and self-recoverable from failures
2. Decouple your
components
• SOA design principle
o More loosely coupled, bigger and better it scales
• No tight dependencies of components
• Build asynchronous systems
• Enable scaling horizontally
3. Implement elasticity • Elasticity implementation
o Proactive Cyclic scaling – periodic at fixed intervals
o Proactive Event-based Scaling
o Auto-scaling based on Demand
• Automate infrastructure
• Bootstrap the server instances
4. Think parallel • Design architecture that parallelizes
o Requesting data
o Storing data
o Processing data or executing jobs
• Multi-thread requests, asynchronous, thread-safe
Cloud Architecture Best Practices
7
Best Practice Description
5. Keep dynamic data
closer to the compute
and
Static data closer to end
user
• Reduce latency
• Reduce cost
o Charged for bandwidth in/out of cloud
• Move large datasets to be processed outside into cloud
first before computation
• Applications consuming data generated in cloud should
be hosted in cloud
o Take advantage of in-cloud free data transfer and
lower latencies
• Static data (eg. Images, video, audio, PDF, js, css files, use
content delivery service
o Caching at edge location, lower access latency
o Faster access to popular objects
6. Security • Protect your data in transit
• Protect your data at rest
• Protect your access credentials
• Secure your Applications
1. Design for Failure and Nothing will Fail – AWS Example
8
Design For Failure – AWS tactics
2. Decouple your Components – AWS Example
9
Decoupling Components using Queues
3. Implement Elasticity – AWS Example
10
Automate the Infrastructure
4. Think Parallel – AWS Example
11
Implementing Parallelization
5. Keep Dynamic Data closer to the Compute and
Static Data closer to End User – AWS Example
12
Implementing Data Tactics
6. Security – AWS Example
13
Securing your Applications using Security Groups

Cloud workload guidelines

  • 1.
  • 2.
    Cloud-Readiness Key Considerations 2 KeyApplication Considerations How To Address It Performance If app does not perform in cloud, the desired savings evaporate • Identify and fix performance constraints • Decouple compute-intensive components • Fine tune using actual usage patterns Elasticity Applications must be designed to scale out/up for agility and scale in/down for cost savings. • Do no design a monolithic application • Break it into scalable components to maximize scale-up and down, out and in Resilience Less control and visibility. Build the application ready for failure. • Ensure the application is designed to recover from failure • Build components loosely coupled • Perform tests for failure scenarios Security New risk and vulnerabilities in a shared environment. Security should be built-in, verified and monitored. • Check security, use https / VPN • Encrypt privacy sensitive information • Test all 3rd party components
  • 3.
    Cloud Application WorkloadsSuitability 3 Suitable Workloads Less Suitable Workloads Service Oriented Architecture (SOA) Applications that involve extremely sensitive data, regulatory or legal risk in disclosure. Require special treatment to run on cloud. Development & Test, Proof of concepts Applications that are run on the private networks or high performance hardware that are very performance- sensitive Applications that are expected to be hit periodically/seasonally with sudden burst /surges of high traffic or load Applications that require frequent and/or voluminous transactions against on- premise databases that cannot be migrated Applications that run infrequently but require significant computing resource Applications that run on legacy platforms that are typically not supported or having weak support by cloud provider Applications that require massive storage and growth volume Applications that run in different time zones or regions
  • 4.
    Cloud Application WorkloadsSuitability 4 Suitable Workloads Less Suitable Workloads Applications that are used by remote or mobile workers to manage their time and activity Extend storage capacity Extend archiving capability
  • 5.
    Cloud Workload Examples 5 WorkloadExamples Web sites, Mobile Apps, Social Web Portal sites, Mobile App backend, Mobile Web sites, Microsites, CMS, Intranet portals, etc Proof of concepts, Development/Testing Product/software evaluations, Personalisation (eg. Ab Initio), Distributed load/performance testing, etc Sporadic Compute- intensive Applications Promotions or events driven applications, high volume mass email / push notification applications Analytics Map Reduce jobs, batch jobs, Memory/Storage/Compute resource intensive applications Storage, Archiving Mobile app data backup, Storing high volume of static assets/objects (eg. Images, video files) on AWS S3 and access via web service provided by S3, Application archive log files, etc Collaboration Enterprise Social Networking/collaboration apps, Web conferencing apps, File-sharing apps, etc
  • 6.
    Cloud Architecture BestPractices 6 Best Practice Description 1. Design for failure and nothing will fail • Design for hardware/software failure • Build mechanism to handle the failures • Impervious to reboots and relaunches • Self-healing and self-recoverable from failures 2. Decouple your components • SOA design principle o More loosely coupled, bigger and better it scales • No tight dependencies of components • Build asynchronous systems • Enable scaling horizontally 3. Implement elasticity • Elasticity implementation o Proactive Cyclic scaling – periodic at fixed intervals o Proactive Event-based Scaling o Auto-scaling based on Demand • Automate infrastructure • Bootstrap the server instances 4. Think parallel • Design architecture that parallelizes o Requesting data o Storing data o Processing data or executing jobs • Multi-thread requests, asynchronous, thread-safe
  • 7.
    Cloud Architecture BestPractices 7 Best Practice Description 5. Keep dynamic data closer to the compute and Static data closer to end user • Reduce latency • Reduce cost o Charged for bandwidth in/out of cloud • Move large datasets to be processed outside into cloud first before computation • Applications consuming data generated in cloud should be hosted in cloud o Take advantage of in-cloud free data transfer and lower latencies • Static data (eg. Images, video, audio, PDF, js, css files, use content delivery service o Caching at edge location, lower access latency o Faster access to popular objects 6. Security • Protect your data in transit • Protect your data at rest • Protect your access credentials • Secure your Applications
  • 8.
    1. Design forFailure and Nothing will Fail – AWS Example 8 Design For Failure – AWS tactics
  • 9.
    2. Decouple yourComponents – AWS Example 9 Decoupling Components using Queues
  • 10.
    3. Implement Elasticity– AWS Example 10 Automate the Infrastructure
  • 11.
    4. Think Parallel– AWS Example 11 Implementing Parallelization
  • 12.
    5. Keep DynamicData closer to the Compute and Static Data closer to End User – AWS Example 12 Implementing Data Tactics
  • 13.
    6. Security –AWS Example 13 Securing your Applications using Security Groups