Is it time to move your databases to the Cloud?
- 08 October, 2014 01:48
Akamai Technologies, an engineering-heavy company that delivers a sizable chunk of the Internet's total traffic every day, is generally inclined to solve its technology challenges in house. Corey Scobie, vice president for Open Platform at Akamai, summarizes the company's default engineering culture and philosophy as, simply, "We should built it."
But Akamai, a content delivery network based in Cambridge, Mass., took a different direction when it needed to assemble database infrastructure for an application programming interface (API) provisioning and management application. Scobie enjoined his team to use a database as a service (DBaaS) offering instead of building and running its own database.
It wasn't a lack of technical resources that drove the DBaaS decision but, rather, the need to rapidly deploy. The company runs more than 150,000 servers, which power some 1,200 networks around the world. Akamai, however, needed to consider the trade-offs between implementing open source platforms such as Cassandra or CouchDB in house versus using DBaaS.
[ Feature: CIOs, Procurement Pros Partnering on Cloud Services ]
The time element favored the cloud database. Scobie found the DBaaS approach able to get the project's application development environment up in 30 days and the deployment environment up in 90 days. Akamai would have needed to schedule engineering resources for the database project six to 12 months in advance, he says. "Time to market was the primary motivation."
Cloud Database Gaining Momentum in All Its Forms
More enterprises and service providers view the database-in-the-cloud approach as a viable option, as industry analysts point to increasing momentum. Technology research company TechNavio forecasts a 62 percent annual aggregate growth rate for the global cloud-based database market through 2018. The need for technical speed stands as one motivator, but other factors include a shortage of in-house expertise. The latter consideration become particularly important as companies look to adopt emerging NoSQL databases as they combat larger and larger datasets.
For organizations ready to embrace the cloud, options range from self-service DBaaS products to managed database services that offer more in the way of hands-on support. Lines blur between services, though. A DBaaS, for example, may offer database tuning in addition to the basic database access.
The act of purchasing cloud services is sometimes associated with customers that possess limited technical infrastructure. Akamai demonstrates that's not always the case. "Clearly, there's no lack of server resources," Scobie notes.
That said, Akamai's network lacked a persistent data service that would fit the kinds of distributed configurations that company had in mind for its API management application. Plus, though Akamai employs a couple of thousand engineers, it lacked immediate access to database skills that could help the company "get something off the ground very rapidly," Scobie explains. He says instantly deploying engineers on a project is a difficult feat to pull off in any enterprise environment, noting that technical resource scheduling must be accounted for six to 12 months in advance, from a budgeting perspective.
[ News: IBM Buys NoSQL Cloud Provider Cloudant ]
Cloudant, meanwhile, lets firms "develop far more quickly and get into production far more quickly," CEO Derek Schoettle, adding that the faster pace comes with less risk and cost than a do-it-yourself database project.
Forgoing the DIY route, Akamai now taps several clusters of Cloudant capacity to back its API management application.
Put Database in Cloud, Focus on Core Competencies Instead
Technical resource constraints were initially the main issue at eVestment, an Atlanta-based company that provides an institutional investment database and SaaS-based analytics tools for investment analysis. The eVestment service includes datasets on more than 34,000 traditional investment vehicles and more than 25,000 alternative strategies such as hedge funds.
Six years ago, when eVestment was a smaller company, the main drivers for cloud hosting were economies of scale and scope with respect to resources, CTO Mitchell Johnson says. The company retained INetU for managed hosting services. The arrangement covers eVestment's network, servers, storage systems and databases.
Johnson says INetU's experience in areas such as storage-area networking and database optimization helped make the case for hosting. "To have specialists in each of these areas would have consumed quite a bit of our budget."
Today, eVestment has grown to the point where it could host its infrastructure internally but Mitchell says the original motivation for hosting externally continues to hold sway. "We are large enough, but those advantages still exist. I'd rather focus on our core competencies building software and big data solutions for institutional investors."
The need to obtain specialized help for implementing NoSQL databases also contributes to the rise of cloud database services. eVestment runs Microsoft SQL Server and MySQL on the relational database side, but has added Redis to its database portfolio. Redis is a key-value store, a subset of the NoSQL technology category. The company also uses Elasticsearch, an open source distributed search engine, in a NoSQL analytics capacity.
"We have come to rely on Redis and Elasticsearch quite extensively as the size of our datasets have grown," Mitchell says.
Relational technology remains important, but he notes that client demands for real-time responsiveness and fast page-load times coupled with the need to work with enormous data sets calls for a different type of database. He says Redis is much faster than SQL, noting that eVestment uses Redis to provide distributed session management and caching across several physical application instances.
Mitchell says that adding the Linux-based Redis implementation to what had been a Microsoft-centric, relational database environment might have caused some staffing concerns as an in-house project. He says the company would have had to think about obtaining new resources experienced in Redis or cross training existing personnel. Instead, eVestment relied on INetU's resources.
Cloud Database Deployment Approaches Differ
Cloud databases adopters can choose from a number of deployment methods. Scobie said Akamai opted to go with a somewhat hybridized DBaaS model.
Cloudant provides dedicated, Akamai-specific database clusters. Scobie says this approach, as opposed to a more generic, multi-tenant environment, helps Akamai offset its security concerns. (He points out that Akamai acts as the custodian of customers' ecommerce applications running on its networks, so it must protect client data as well as its own.)
Security and time to market helped define Akamai's cloud database approach, but the ability to scale also played a role. "We sort of assume that most things we put into a production environment are going to scale up very quickly to Akamai-level standards," Scobie says.
The company deals with immense volume at times. In July, Akamai reported its highest overall total traffic peak 23 Tbps during the Germany-Brazil World Cup semifinal match.
Performance also shapes eVestment's cloud database service, although the company faces a different challenge compared with Akamai. While Akamai's core media content delivery products must accommodate millions of users, eVestment has far fewer users initiating larger, more intense individual sessions.
Mitchell says eVestment's database and associated tools experience thousands of customer visits what the company terms "profile views" each day. The processing workload for individual sessions can prove quite demanding, though.
"Everything is about performance," Mitchell says. "The eVestment platform processes over 10,000 online profile or report transactions on a daily basis, but a given transaction could involve millions of raw calculations."
The key test for eVestment: Offering investment managers the same level of service in a multi-tenant cloud that they could obtain from an in-house system. Investment managers traditionally built and managed their own databases and analytical tools, Mitchell notes.
Mitchell says eVestment has its own private cloud within INetU. The hosting partner took steps to help eVestment meet its performance goals. For one, the company deployed what Mitchell described as a high-performance storage infrastructure for eVestment, creating a flexible storage model for its private cloud that provides top-performing solid state drive (SSD) storage along with lower-performing storage for situations where speed isn't as important.
Mitchell says this storage approach helps balance the price performance equation. Using SAN cache and SSDs provide maximum performance where needed, while the lower-performance storage helps keep costs in check.
INetU cites the company's capability to create custom solutions for private, public and hybrid clouds as an attractive feature for customers. "Rather than offering pre-packaged, 'off the shelf' solutions," says David Fowler, vice president of marketing at INetU, "we work with companies of all sizes and industries to understand their specific business goals, technical requirements and security needs."
Overall, Mitchell sees managed hosting for databases among other infrastructure components becoming more prevalent. "[It's] something that's going to grow quite a bit as companies increasingly want to focus on what they're good at," he says. "This is a trend that's only going to continue."