As data processing demands soar skyward, it seems logical that the solution for handling all that data is in the cloud. Cloud computing promises supercomputer capabilities over the Internet, with large-scale clusters providing vast amounts of adjustable horsepower, all the servers and storage you need, accessible from just about any device, available on demand, and all on a pay-as-you-play basis.
Some observers say cloud computing is just new a new suit for grid computing or utility computing. But proponents see it as a new model that could change everything about the way users access, run and pay for applications. Frank Gillett, senior analyst and vice president at Forrester Research, says cloud computing — which he calls one of three significant IT architectures for the foreseeable future — will best serve the gigantic workloads required by high-performance transactions, grid computing, and large, sophisticated Web sites that stream media. Simply virtualizing machines is not enough.
However, while on-demand access to a virtual supercomputer would be a bonanza to companies needing that kind of processing power, it is a tad more complex than just flicking a switch. Development, deployment, and management issues related to running applications in the cloud are huge, complex and costly. As some IT experts would tell you, cloud computing is a no-brainer — until you have to manage it.
Here is where Elastra Corp. enters the picture. The company recently released details about its Cloud Server, a server-side design and run-time application intended to help develop and launch clustered databases in a cloud environment — with a lot less pain and cost than currently is involved. Elastra says its technology will best serve companies operating large, complex Web sites, ISVs looking to do SaaS and enterprise IT groups, particularly those that don’t have the capital resources to spend on big building projects. In other words, a pretty large audience.
The initial release works with only one cloud environment, Amazon’s Elastic Compute Cloud (EC2), but Elastra plans to provide hooks to other public and private clouds, as well.
Getting into the Middle of It
In Elastra’s view of the cloud, you have to go way beyond virtualizing the computing hardware. “All of those components in the middle — databases, Web servers, application servers — all that needs to be virtualized too if you really want to take advantage of cloud computing,” says Ariane Lindblom, Elastra’s vice president of marketing. “One way of looking at what we’re doing is to think of it as middleware virtualization.”
Elastra’s goal is to provide a “complete way for companies to use the cloud,” Lindblom says. “Some providers let you put an instance of a database on a virtual server, for example, but that’s like going halfway to the moon. What if your application needs four virtual servers, load balancing, plus a four-node Web server? To really unlock the value of the cloud, you need to be able to design and a complete system, whether it’s 40 or 100 servers. That’s why our goal is to let you have all you need to run your application in the cloud.”
Design, Deploy, Manage
To help customers get to the cloud, Elastra provides templates and easy-to-use design tools, including its two new markup languages: Elastic Computing Markup Language (ECML) for specifying system design (six application servers, two Web servers, load balancing, etc.), and Elastic Deployment Markup Language (EDML) for generating XML documents containing provisioning instructions. “ECML allows architects to take their design, share it electronically, and modify it, but also have it serve as direct input to the system architecture,” Lindblom explains.
Managing a cloud can be as difficult an activity as wrangling very fine water droplets suspended in the atmosphere. Part of what makes Elastra’s platform unique, however, are its automated deployment capabilities: You can use markup tags to design elasticity into your system. These design documents give the Elastra Cloud Server the information it needs to automatically scale up or scale down the amount of compute power an application gets. There is no need for human intervention. One of the problems with utility or cloud computing is you can end up with more compute power than you need. “Because Elastra Cloud Server automates scaling up or down, in real time, you avoid incorrect provisioning,” Lindblom says.
Furthermore, “databases are automatically provisioned in the cloud environment, without you needing to install more software or other manual activities,” she added. Providing something akin to elastic relational databases on demand, Elastra says Cloud Server simplifies database management with tools for monitoring your database system and scaling it up or down as needed. As requirements change, you can add database nodes, subtract database nodes or migrate to a different system design.
The first release of Elastra Cloud Server includes a relational database that runs on top of Amazon’s EC2 and Simple Storage Service (S3). Customers can currently choose from MySQL, EnterpriseDB and Postgre SQ, but other options will be available, the company says. “We started with the database because that’s such a core component, but our vision is to provide the whole stack, including application servers, Web servers, warehousing software, and so on,” Lindblom says.
Additionally, designing a cloud application can easily take months, but Elastra says that with its system, you can do it in weeks, if not days. Results will vary, of course, but Lindblom says users can expect to speed up the process of developing a cloud app by “orders of magnitude.”
The Meter Is Not Always Running
One of the goals of true on-demand computing is that users pay only for what they use — just like with the electric company — but many systems require that you pay for perpetual licenses or for hardware that you end up not using. Elastra has developed a pay-per-use model based on what it calls Elastic Compute Units (ECUs). Each unit is equivalent to a 1.2GHz Xeon processor. With this consumption model, the more compute power you use, the more you pay. But when you’re using nothing, you’re off the meter. The company wants to simplify this approach going forward, Lindblom says.
Who Wants It Now?
Elastra is finding that the most interest in its approach is coming from three market segments: (1) Web-based businesses, including smaller companies with stretched resources; (2) SaaS providers and ISVs, who want to provide an on-demand application, but don’t have the bucks to invest in a big datacenter or want to avoid that complexity; (3) and some enterprise operations, particularly those dealing with variable demand. “They might want to run their data warehouse for just a few months instead of perpetually, which can cost millions,” Lindblom says. “The Elastra Cloud Server would also make it practical for companies to test their cloud applications in all kinds of demand situations, without incurring capital costs.”
Elastra currently has about 15 paying customers, Lindblom says. One is Palo Alto Sofware, which uses the Elastra Cloud Server as part of an on-demand e-mail management system.
Elastra expects to release version 1.0 of the Cloud Server for general availability later in April.
Closer to the Clouds?
Nothing as complex as developing and running applications in a cloud environment is going to be a piece of cake, but Elastra believes it makes it much easier and faster for companies to launch sophisticated applications in on-demand environments.
“What we’re providing is the ability for Web companies, ISVs and service providers, and enterprise operations, to unlock the value of the cloud,” Lindblom says. “They need an easier way to design and manage applications in the cloud. We want to help them focus on building an application, not on building infrastructure.”
In terms of moving everything into the cloud, Elastra is taking “baby steps,” says Frank Gillett at Forrester. “But it’s a heck of a lot better than doing it yourself.”