4. Mission Critical Enterprise/Cloud ApplicationsEugene Ciuran
What is Cloud and how do we use it?
- quick deployment
- virtualize hardware
- replace data center
- turn on/off machines (virtual hardware) as needed - all you need is a credit card
- horizontal - load-balancing
- vertical - improve applications - more hardware
high availability != uptime
If your network is down and servers UP - your application is not AVAILABLE for users.
Availability scale chart
90% - one nine = 36.5 days down
99% - two nines = 4 days down
99,9% - ... = 9 hours
... 53 minues
... 5.3 minutes
from 90% - 99 -- you double the resources
Each step, the cost is doubled.
The best option at the moment is 99.9%
Well, at 2008 Amazon was down for 9 hours... it cost them much.
SLA = Service Level Agreement - agreement between customer and a vendor
SLA is not a legal document!
The most important question is "What do I do when an outage happens? How do I repair a disaster?"
At the point of 5-6 nines you see that cloud will cost you as much as building your own infrastructure!!!!
Hybrid cloud architecture - some data that is not mission-critical is stored in the User part, so when that part goes down , your applications are still working.
Amazon vs Google App Engine vs Rackspace
elastic load-balancer vs static stateless calls
Interesting case study about a project not scaling and going to migrate to a cloud.
"If there is a mission-critical application/data just write it on Java... .Net is great, but if your job depends on it - just write it on Java" - The comment to do on a Java conference :)
- introduced ESB for scaling
- although ESB has many connections, it is not the single-point-of-failure - it is the load-balancer(which was another virtual machine)
(next - page)