A distributed cloud database is a database in which operational data is spread across different physical locations—for example, across different data centers, across hybrid clouds (such as private and/or public clouds), different public cloud regions of a public cloud, or even different public clouds.
A cloud database may be a native service within a public cloud provider, or it may be a database from a cloud agnostic software vendor, designed for cloud architectures and requirements. Modern applications make use of distributed cloud databases to address modern application requirements, which I cover throughout this book.
Cloud-native companies such as Google and Facebook are leading the way. Enterprise computing has been primarily a client/server paradigm with isolated systems serving small to moderately sized user bases. Traditional companies have had to become technology companies and operate at cloud-scale to accommodate millions of customers. Now, all companies need to operate at cloudscale to compete and thrive, and they’re leveraging cloud-scale technology innovations.
Arguably all businesses moving forward will have to be technology companies in some capacity. In order to achieve parity and gain true competitive advantage, scaling relevant solutions for their customer base will be imperative. Companies that fail to move at cloud-scale will become extinct.
Changing Customer Expectations
Customer expectations are being driven by those who innovate in the cloud. Companies such as Google, Apple, and Facebook set the bar. The bar in this case includes elements such as contextual experiences; immediate, always-on accessibility everywhere; instant responsiveness; and continuous engagement. In order to address these changes, new modern applications are required. Modern applications address changing customer expectations through the use of new technologies, such as geo-distributed cloud databases.
Introducing the Key Dimensions of Modern Applications
This section covers the key aspects of modern applications.
Contextual relevance means serving appropriate information to the user at the right time, through the right channel(s). If your applications aren’t providing real-time contextual relevance, you can bet that your competitors are. Contextual relevance in this day and age is driven not only by what a user searches for on Google, but also by data such as e-commerce purchases from several minutes ago and location data from a user’s mobile phone. As a result, the characteristics of the data involved are very dynamic. Modern applications need to take near real-time and historical contextual information into account from social media, mobile, and other data streams to build near real-time context in order to individualize the user experience. Companies such as Amazon have pioneered the space of contextual relevance, and users expect this type of hyper-customization from your applications as a result.
Let’s look at a real-world example. Say you’re headed to your local bricks-and-mortar department store. You walk in and want to find a shirt that matches the new shoes you bought a week ago from the same store. You enter knowing that the shoes you purchased a week ago were red and black. You’re not completely sure what type of shirt you’re looking for other than the color, and you aren’t up on the latest fashion trends. So you walk through the aisle with some casual button-up shirts. You find your color but not the size you need. Frustrated, you realize you’ve wasted your time driving 20 minutes to get to this store and another 20 minutes home. This is an example of a lose/lose situation for the customer and the retailer. The customer didn’t find what he wanted, and the retailer didn’t sell anything to a potential customer.
Now let’s look at a retail success. You’re headed to your local bricks-and-mortar department store. You walk in, and you want to find a shirt that matches the new shoes you bought a week ago from the same store. You enter knowing that the shoes you purchased a week ago were red and black. The department store leverages Bluetooth beacons via your mobile phone via the store’s app that you downloaded last week. As soon as you walk into the store, you receive a message on your phone from that app. You can expand your wardrobe with matching accessories for 15 percent off for purchases over $35 as part of that store’s 4-hour, today-only flash sale.
Based on your previous purchases that are also popular with other shoppers, the app goes on to recommend certain items:
You see the shirt on the app, and you love it, but you wear size large. The difference in the user experience is night and day. First, the customer doesn’t have to waste any time searching for size large for a shirt that matches the shoes that were previously purchased. A better customer experience is already in process. Additionally, you can still take advantage of the flash sale by presenting the code to bundle the purchase of the shirt with other items purchased in store during checkout! Now you’re thinking, “Well, you know, I’ve been needing an extra pair of socks anyway, and now that I think of it, my wallet is starting to tear at the seams. It says that these items are just a few aisles over.” So you walk over to aisles 8 and 4, respectively, place the wallet and two pairs of socks in your basket and head to the checkout lane. During checkout, you present the code to the cashier to scan, and your shirt is ordered with free shipping and will arrive within two working days. You walk out of the store knowing you will get the matching shirt you were looking for and that you also found a few other great items that you were able to take home with you in-hand. A win/win retail experience for the shopper and the retailer.
In today’s Right-Now Economy, just meeting your customers’ expectations isn’t going to be good enough if you really want to differentiate your business. You have to exceed customers’ expectations by delighting them with personalized, real-time, always-on experiences. This happens at the intersection of innovation and capability.
This excerpt of Designing a Distributed Cloud Database for Dummies by Patrick McFadin, VP, Developer Relations, at DataStax, has been published with permission from John Wiley & Sons. Copyright 2018. All rights reserved. The full book is available for download here.