Cloud is becoming the 1st choice for most enterprise applications, either for building new apps or for extending existing on premises IT infrastructure to a cloud delivered app. This is true for not just side of the table applications but mission critical applications as well. This is true with not just the born in the cloud enterprises - but for old guard enterprises like 100 year old Banks and Airlines who adopted technology before Cloud happened. Public Cloud offers the architectural flexibility, scale on demand and pay per use. However for mission critical applications 99.95 is not enough. It needs to stretch beyond 99.99. There are multiple cloud options that enterprises are investing in like private cloud, public cloud, dedicated cloud offerings from the same vendor. There are also clouds platforms that support open computing standards like Cloudfoundry and Docker. Using these options you can achieve a highly resilient application - be it mobile, web or API.
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Resiliency for Cloud Deployed Applications
1. Resiliency for Cloud Deployed Applications
Ajay Chebbi, Sr. Architect. Cloud services for Mobile and Web
@ajaychebbi
2. Resiliency for Cloud Deployed Applications
• GIDS.DEVOPS/ARCHITECTURE | Conference
• Cloud is becoming the 1st choice for most enterprise applications, either for building
new apps or for extending existing on premises IT infrastructure to a cloud delivered
app. This is true for not just side of the table applications but mission critical
applications as well. This is true with not just the born in the cloud enterprises - but
for old guard enterprises like 100 year old Banks and Airlines who adopted
technology before Cloud happened. Public Cloud offers the architectural flexibility,
scale on demand and pay per use. However for mission critical applications 99.95 is
not enough. It needs to stretch beyond 99.99. There are multiple cloud options that
enterprises are investing in like private cloud, public cloud, dedicated cloud offerings
from the same vendor. There are also clouds platforms that support open
computing standards like Cloudfoundry and Docker. Using these options you can
achieve a highly resilient application - be it mobile, web or API.
3.
4. Deploying applications on the Cloud
• Is a default option for applications for Mobile, Web, API and more
• Not just boutique/born on the cloud companies
– Banks
– Airlines
– Insurance
– B2E is a predominant pattern
• Motivations
– Pay-go: Move cap-ex to op-ex
– Pay-per-use: Variable work loads
– Cognitive/AI: Delivered on cloud
– Innovation: Line of Business is empowered!
6. Uptime/Downtime
“According to Dun and Bradstreet, 59% of Fortune 500 companies
experience an average of 1.6 hours of downtime every week. Whatever the
reason, it is almost guaranteed, whether you are a start-up or an established
firm, that you will experience downtime at some point.
Just over an hour and half of downtime per week may not seem like a huge
number. However, when you consider that the cost of a single hours’
downtime can be anywhere between $15,000 and $1.5 million, it becomes
an issue to take very seriously”
“Calculating The True Cost of Downtime”
http://rfa.com/blog/2015/09/15/calculating-the-true-cost-of-downtime/
8. Understand the 9 game
Availability % Down time per week Down time per day
99% (2 nines) 1.68 hours 14.4 minutes
99.95% 5.04 minutes 43.2 seconds
99.99% (”4 nines") 1.01 minutes 8.66 seconds
https://en.wikipedia.org/wiki/High_availability
9. Micro services – a foundational pattern
• You build your software as micro services (Services, not Servers)
Load balancer
Load balancer
Au Az View
Controller Model
Audit Rep
server1
server2
server3 Audit
ModelController
AuAuAu
Load balancer
Load balancer
Au Az View
Controller Model
Audit Rep
*aaS
*aaS
*aaS
*aaS
10. Realization of micro services – combination of IaaS, PaaS and SaaS
Audit
ModelController
AuAuAu
Load balancerLoad balancer
Au Az View
Controller Model
Audit Rep
*aaS
*aaS
*aaS
*aaS
Au Az
Load Balancer
View
Controller
Model
12. Resiliency patterns – to start with
• Patterns you may employ
– Dedicated Compute
• Provides dedicated capacity
• Relief from “Noisy neighbors” in a multi tenant space
– Retry
• Retry: Temporary resource failures (404, 500)
• With Delay: Throttling victim (http – 429 “TOO MANY REQUESTS”)
– Circuit Breakers
• Fail gracefully on predictable outage
• Limit “blast radius”
– Cache
• Performance
• Isolation from high latency resources
– Blue-Green deploy
• Update with no down time
13. Stateless services
• No memory of last request
– State is handled outside the application (e.g: DB,cache)
– No in-memory session
– Allows horizontal scaling with no loss
– REST is the native language of communication
– If at all – client maintains state (i.e. context)
A dog never remembers the scolding she got in the morning!
A happy dog!
14. Open tech
• Building services on open specs gives you many tools
– Docker
– Kubernetes, Swarm
– Amalgam8
– Mesos
– Terraform
– Cloud Foundry
– VMs
• Multi region / multi vendor cloud
15. 99.98 deployment on Bluemix – use case for a Japanese customer
Go
Router
Containers
Go
Router
Containers
Global Load
balancer
db
London
Dallas
db
Replication
Hotbackup Failover
16. Get started..
• Best Practices for deploying on Cloud
• Cloud design patterns
• Cloud computing case studies