Welcome!

@CloudExpo Authors: Elizabeth White, Flint Brenton, Liz McMillan, Rostyslav Demush, Pat Romanski

Related Topics: @CloudExpo, Microservices Expo

@CloudExpo: Article

Lessons from the Amazon Cloud Outage

Best Practices for Resilient Cloud Applications

As reported in SYS-CON and elsewhere, we found the Amazon's cloud crashed, taking sites like Reddit, Foursquare, Quora, Hootsuite, Indaba, GroupMe, Scvngr, Motherboard.tv and few more down with it.

As reported several components of Amazon Cloud portfolio like, EC2, Elastic Block Store (EBS), Relational Database Service (RDS), Elastic Beastalk, CloudFormation and lately MapReduce were all impacted.

Amazon has given the following explanation for the crash at this time:

"A networking event triggered a large amount of re-mirroring of EBS [Extended Block Store] volumes ... This re-mirroring created a shortage of capacity ... which impacted new EBS volume creation as well as the pace with which we could re-mirror and recover affected EBS volumes."

While this issue will be solved for now, this has created a huge impact on the Cloud Adoption for the large enterprises. However, the traditional high availability best practices always hold good for Cloud also and this issue cannot be seen as the failure of Cloud, rather more on the implementation. The following best practices will guard the cloud applications on top of the out of the box high availability options provided by the Cloud Provider like Amazon.

Ensure Application Controlled Scalability
We have got components like Auto Scaling, Elastic Load Balancing and Cloud Watch etc... These will help the scalability by monitoring the resource usage and automatically allocate new instances.

However this is achieved, if the application is aware of its usage and scales accordingly.

One such implementation pattern is a Routing Server, where the application characteristic like the type of the user, geography or the kind of transaction determines the target destination to be process the request and load balance accordingly.

Making the data aware scaling rules configurable without restarting the servers will go a long way in adjusting the routing mechanism to specific servers in case of regions or availability Zones are down due to the unknown reasons. This will also ensure that scalability rules can be dynamically altered in cases of catastrophic situations, such that some high priority transactions can continue to be served and low-priority transactions can be put on hold.

Stay Disconnected
Even though the typical application consists of multiple logical and physical components, it is best to decouple each of these components, so that each layer interacts with the   next layer in an asynchronous manner.

While there are some applications like banking, stock trading and online reservation which requires real time and stay connected nature, most applications in today's scenario can still take the advantage of a disconnected architecture.

Use reliable messaging and request / response framework so that the end users are never aware that their request is queued rather they get a feeling that their request is taken care and got a satisfactory response. This will ensure that even if some physical servers or logical components are down we can still not impact the end user.

Keep Transactions Smaller
The best path to ensure transparent application fail over and recoverability is to ensure that the transactions are as small as possible, and each step ensures a logically meaningful step within the overall process from an end-user perspective.

Remember some legacy applications of the previous era, which accepts transaction data for several fields and pages and used to have a Single SAVE button, and if anything happens, the end user lost all the data requiring to be re-entered, this needs to be avoided at all cost and the systems should be designed to be a combination of logically smaller steps that tied together in a loose coupled manner.

VEET: The User Entered Data
In a disconnected environment, end users are not there to fix the data entry errors or provide additional information, so that best fault tolerant systems are designed when the user is made to enter minimal data and the pattern of VEET (Validate Extract Enrich Transform) is applied to the user data.

Validate: Once the transaction inputs are entered and accepted, they stay as a meaningful information across the system components and no need to correct any data.

Extract: Never accept the information which can be derived, this will ensure that the errors are avoided on the known data.

Enrich: Accumulate the information from the existing information, so that the information need not be entered by the user. For example if the user enters the zipcode, the City, state and other information can automatically be retrieved.

Transform: Transform from one form to another form as it is meaningful to the system flow.

The above steps ensure that we can recover gracefully from failures, which will be transparent to the user.

Keep the Backup Data to the Lowest Granularity for Recovery
We have seen the storage mechanisms like Amazon EBS (Amazon Elastic Block Store) have in built fault tolerant mechanism such that volumes are replicated automatically. This is a very good feature. But more the data is backup as a raw volumes, we should also think about the ability to quickly recover and get going in case of disasters.

Typically database instances take some time to recover the pending transactions or to roll back the unfinished ones, proper backup mechanisms can help to recover from this scenario quickly.

The following options can be considered in the order to quickly recover from a disaster scenario.

Alternative Write Mechanism: Whether a log shipping or stand by database or simply mirror the data to other availability zones is one of the best mechanism to keep the databases in sync and quickly recover when one zone is not available.

Implicit Raw Volume Backups: This is employed out of the box in most of the cloud platform, however the intelligence to quickly recover the raw volumes with automated scripts should be in place.

Share Nothing
From the Amazon experience it is clear that in spite of the best availability mechanisms adopted by the Cloud provider, rarely we may end up in few availability zones struck by disaster.

However, during these scenarios we wanted to ensure that not all our users are affected, but only the minimal number of users. This can be achieved by adopting the ‘Shared Nothing Pattern' so that tenants are logically and physically separate within the Cloud Eco System.

This will ensure that the failure of part of the infrastructure will not affect everyone in the system.

Summary
The Amazon Cloud down event is a wake-up call about how Cloud can be utilized. There is no automatic switch that ensures all the fault tolerant needed for the systems. However, this has reinforced the strong fundamental principles with which applications needs to be built in order to be resilient. This incident cannot be seen as a failure of the Cloud platform itself and we have lot of room for improvement and to avoid these situations in future.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).

@CloudExpo Stories
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
Major trends and emerging technologies – from virtual reality and IoT, to Big Data and algorithms – are helping organizations innovate in the digital era. However, to create real business value, IT must think beyond the ‘what’ of digital transformation to the ‘how’ to harness emerging trends, innovation and disruption. Architecture is the key that underpins and ties all these efforts together. In the digital age, it’s important to invest in architecture, extend the enterprise footprint to the cl...
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
"We work around really protecting the confidentiality of information, and by doing so we've developed implementations of encryption through a patented process that is known as superencipherment," explained Richard Blech, CEO of Secure Channels Inc., in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at Cloud Expo, Ed Featherston, a director and senior enterprise architect at Collaborative Consulting, discussed the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
"We were founded in 2003 and the way we were founded was about good backup and good disaster recovery for our clients, and for the last 20 years we've been pretty consistent with that," noted Marc Malafronte, Territory Manager at StorageCraft, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Effectively SMBs and government programs must address compounded regulatory compliance requirements. The most recent are Controlled Unclassified Information and the EU's GDPR have Board Level implications. Managing sensitive data protection will likely result in acquisition criteria, demonstration requests and new requirements. Developers, as part of the pre-planning process and the associated supply chain, could benefit from updating their code libraries and design by incorporating changes. In...
Andi Mann, Chief Technology Advocate at Splunk, is an accomplished digital business executive with extensive global expertise as a strategist, technologist, innovator, marketer, and communicator. For over 30 years across five continents, he has built success with Fortune 500 corporations, vendors, governments, and as a leading research analyst and consultant.
No hype cycles or predictions of zillions of things here. IoT is big. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, Associate Partner at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He discussed the evaluation of communication standards and IoT messaging protocols, data analytics considerations, edge-to-cloud tec...
Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like “How is my application doing” but no id...
Announcing Poland #DigitalTransformation Pavilion
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
CloudEXPO | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
DXWorldEXPO LLC announced today that All in Mobile, a mobile app development company from Poland, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. All In Mobile is a mobile app development company from Poland. Since 2014, they maintain passion for developing mobile applications for enterprises and startups worldwide.
The best way to leverage your CloudEXPO | DXWorldEXPO presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering CloudEXPO | DXWorldEXPO will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at CloudEXPO. Product announcements during our show provide your company with the most reach through our targeted audienc...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world.
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors!
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...