ajay chebbi, sr. architect. cloud services for mobile and · pdf fileajay chebbi, sr....
TRANSCRIPT
Resiliency for Cloud Deployed Applications
Ajay Chebbi, Sr. Architect. Cloud services for Mobile and Web
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!
But…
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/
BALANCE IN THE FORCE…
ACHIEVE WE MUST
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
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
Model Controller
Au Au Au
Load balancer Load balancer
Au Az View
Controller Model
Audit Rep
*aaS
*aaS
*aaS
*aaS
Realization of micro services – combination of IaaS, PaaS and SaaS
Audit
Model Controller
Au Au Au
Load balancer Load balancer
Au Az View
Controller Model
Audit Rep
*aaS
*aaS
*aaS
*aaS
Au Az
Load Balancer
View
Controller Model
Microservices dependency graph
https://blog.twitter.com/2013/observability-at-twitter
Twitter “death star”
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
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!
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
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
Get started..
• Best Practices for deploying on Cloud
• Cloud design patterns
• Cloud computing case studies
QnA
May the force be with you!
Thank You.