ECOMMERCE DEVELOPER - Develop for the Cloud Now

- May 11, 2010



Santa Clara, CA. – May 11, 2010 –

ECOMMERCE DEVELOPER - Develop for the Cloud Now

 

Article Reprint From: http://www.ecommercedeveloper.com/articles/1880-Develop-for-the-Cloud-Now

The evolution of cloud computing for retailers is still in its earliest stages. Small to mid-sized retailers are best-poised to take advantage of what the environment has to offer, mostly due to their ability to react quickly and their smaller quantities of customer data. Many large retailers have proved reluctant to enter the cloud, particularly because the idea of entrusting a billion dollar channel to the virtual environment makes them uneasy.

While retail’s adoption of cloud computing may be relatively slow-going, there’s no reason developers can’t be creating applications today that can, or have the potential to, run in the cloud.

Amazon vs. Google


Much of the approach to cloud computing depends on which cloud best fits a particular retailer. For instance, Amazon and Google offer very different platforms, and a developer will need a clear understanding of each before deciding on an overall strategy.

Amazon has very few restrictions in place and offers complete flexibility for the developing community. It will support any language, from C# and C to Java, as well as Linux and Windows operating systems. It’s very easy to port an application from a non-cloud environment to Amazon. Amazon allows you to install your software as you traditionally would as if the server were your own.

The true benefit of the cloud comes from its ability to scale—the ability to quickly spin up servers to handle additional load. However, with flexibility comes an additional burden on the developer to be sure the application is scripted in way to handle the environment the launching of additional servers to handle the load.
Amazon proves very useful for complex applications, including:

* Ecommerce, except where multiple domains are required
* Customer Relationship Management (CRM)
* Enterprise Resource Planning (ERP)
* Business Intelligence (BI)
* Data Mining

Google, on the other hand, has created a very tight framework within which developers can build applications. It only supports Java and Python. Only certain parts of the Java API system are available to the developer. For example it is not possible to write a file to the file system. Everything needs to be written to their database, BigTable, which has a limited set of features but is highly scalable.

Google has shown to be a useful platform for social applications and user-contributed content. In particular, the environment lends itself well to applications that have the potential to go viral. Whether a video gets 2 views or 110,000, the application itself remains simple and Google provides the easy added bandwidth.

It’s also worth noting that once you build an application within the restrictions of the Google environment, there is very little work required in terms of administration. There are no database backups, running statistics, deleting log files, or much you can do in the way of tuning. The framework forces out many of the most common mistakes in developing for the cloud. The biggest challenge is to monitor your applications and make sure your logic always executes in less than 30 seconds. Google terminates any request that takes longer than 30 seconds to run.

What to Avoid


The reason that retailers in particular are drawn to clouds is the scalability. For an industry that sees 90-95 percent of its web traffic in a mere six week period during the holiday season, the allure of being able to spin up more servers to meet that demand, while leaving them quiet (and unpaid for) the rest of the year is pretty compelling.

Developers building for the cloud should keep that model of scalability top-of-mind at all times. The applications need to be constructed in such a way so that it’s easy to add a server and always be handling fluctuations in load.

With cloud computing, the basic rule of avoiding session dependency is more important than ever. For instance, picture that it’s Cyber Monday and the application’s been programmed to store data into the application server session. Session dependency prevents any server from handling a request. In the cloud, servers are turned on as the load increases. It is critical that a request can be routed to any server. It’s best to avoid putting data directly into memory right on the server, and instead send it back with each response or store it into the database.

Headed for the Cloud


Any existing application can be tweaked for the cloud, it’s not necessary to start from scratch. An architect does need to have the skill-level to think through multiple implications, and experience running multiple environments can be a valuable asset.

The bottom line is that for any developer building an application today, it’s possible to proactively make the adjustments that will allow the application to run in the cloud, whether the retailer is ready to go there or not.

As the retail industry moves closer to broad cloud computing adoption, this proactive approach to developing applications can poise them for greater future success.


Michael von Bodungen is Executive Vice President of Product Development for CrossView.

 

Article Reprint From: http://www.ecommercedeveloper.com/articles/1880-Develop-for-the-Cloud-Now