Ronan Lucio
CIO
http://www.imovelpro.com.br/
http://www.portaldeimoveis.com.br
Imóvel PRO is Brazilian company specialized on
SaaS (Software as a Service) solutions to the real estate market.
Our company faced the need of expanding our current application servers (Adobe Coldfusion) due to growth in customer numbers and amount of access to our products. The next step for us was the clustering of the service, by load balancing and redundancy of our service.
We were searching for a plug and play solution, one that had good technical support to support the growth of the company. We were seeking a solution where the addition of new nodes to a server cluster was something easy and practical. Consequently, our research included clustering our existing Adobe ColdFusion 8.0.1 servers as it has always been an excellent option for us. The product has been very mature, stable and, from version 8, fast. The problem is that this option had some financial constraints:
- The license cost of Adobe Coldfusion Enterprise was relatively high for the company financial reality. Which would raise an additional issue: The high cost would create a difficulty in the expansion of the service, where the need for adding new nodes to the cluster would always be faced with values of additional licenses;
- The pricing of upgrades, which until then (2008) used to cost about 50% of the permit, would raise a third financial barrier, the difficulty of keeping the engines updated. If the company has four servers in the cluster and the individual price the upgrade is U.S. $3750.00 would be $15,000.00 to update the four engines of a cluster. It would be a uncomfortable position having to justify to the board an investment of the total cost just to upgrade from one version to another, and initially almost nothing would change for the business.
- The documentation available on the Internet (on clustering with Adobe ColdFusion) was low, demonstrating the need for more investment in research and testing and learning;
- Choosing a cluster Coldfusion meant needing to install a Java Application Server, demanding more investment in research, testing and learning this technology.
In the search for a better solution we discovered Railo, which appeared on the market as an excellent alternative CFML engine (ColdFusion Markup Language). It seemed to be as fast as Adobe Coldfusion and offered a price more accessible to the reality of the company. Researching this option, some things caught our attention:
CREDIBILITY
- About all the materials, comments and articles I read about Railo, I saw only good references, both in character Railo team developers and the product;
- The presence of big names in CFML on the world stage, using and thinking about the product, testing and tuning your applications to work properly with Railo.
PRICE
- Pricing is more affordable, with options for splitting and using the OpenSource version.
CLUSTERING
- The partnership between the Railo Technologies and RedHat / JBoss (company with a focus on Enterprise Market) also suggested a focus on the corporate market;
- The inclusion of CLUSTER scope from version 3.0 further strengthens this idea.
OWN IDENTITY
- Railo seemed to take an ideology itself before the CFML community, with innovative proposals, and even features absent in its competitors. This fact showed interest in finding new solutions to the CFML community, in other words, Railodidn't seem to be just a "copycat" of Coldfusion, but an engine that would hold its own.
FOCUS ON PERFORMANCE
- The team of Railo Technologies has always shown great concern in maintaining the good performance of the product. Since we were seeking a solution to better support the growth of the company (and the amount of hits), good performance was one of the requirements.
Good impressions aside, we needed to make sure that a Railo cluster would meet our expectations. I had many doubts initially:
- Will this cluster be really fast? What about application is getting slower?
- Is Railo stable even under high load? How to be sure that the system will not become unstable at peak times?
So we decided to contact the team at Railo Technologies to clarify some doubts. Gert Franz answered us promptly, and then when questioned, gave good references and some case studies of applications of high traffic. Railo really seemed to be the technology we were looking for, then we continued to negotiate and, to my surprise, Gert Franz has left us a couple of other possibility would correspond "exactly" to our need, the option of hiring, too, the company's services, i.e., The team's technical Railo Technologies would handle the installation and configuration of the Java Application Server, cluster and Railo.
This proposal was perfect because it would eliminate our biggest difficulties at that time: We would have a solution at an affordable price and installation done byan expert technical staff that technology. So we closed the contract for the installation and configuration of the cluster-based engine Railo, under a non-disclosure agreement (NDA). Alongside this, our team of developers proceeded with the application compatibility for Railo.Actually, few adjustments were necessary due to the work done on the compatibility of Railo version 3.0 with Adobe ColdFusion 8.
Some considerations on these settings:
- For performance reason, our application didn't use Flash Forms (not supported in Railo 3.0). Not that they are slow, but due to a peculiarity of our application.
- The issue of Flash Charts generated by Adobe Coldfusion was easily solved by an open source library.
After cluster got installed and configured and application running properly, it's time for stress tests. In load testing, Railo (version 3.0) answered the requests, faster for pages lighter and slower for the heaviest ones, compared with Adobe Coldfusion 8.
The test was exactly the same for the two engines. We used the same tool, the same hardware, with the same URLs. At the end of the tests we considered the performance of the two engines equivalent, once we consider the performance of Adobe ColdFusion 8 very good. Some adjustments were made here and there, more-level servers and infrastructure to application, and it's time the ultimate test: Migration.
After migrating all seemed to work perfectly, until it reaches the peak. In the first moments of peak, system began to show great instability. So I went back to get in touch with Gert Franz, who ensured that the problem would be solved and the application would work smoothly. And he did. I confess that these moments of instability had me concerned, but at the same time it showed us one of the biggest differential for Railo (or Railo Technologies): Its proximity to its customers and community.
Since I got involved with the community CFML / Railo not remember seeing an unanswered question in the list, or a problem unsolved. In all reported problems to the "Railo-talk" ( later moved to Google groups - http://groups.google.com/group/railo/ ) where we saw a quick return, whether in the form of bugfix, workaround or a clarification about why the behavior exists. Today, nearly a year after the migration, I can say that I feel satisfied and that they met our expectations perfectly. Our application runs fast, stable and is redundant.
CONCLUSION
My opinion is that the big difference of Railo Technologies is "how much they care about their customers." I understand this company's attitude who are really willing to listen to their customers and improve the product. The concept of marketing according to the needs of today's market. Now we can both add new servers to the cluster and upgrade their engines at a much lower cost. The solution got a lower total cost of ownership, allowing us to better compete in the market. Gain both the company and customers.
FINAL
I have no intention here to disparage or speak ill of Adobe Coldfusion. Rather, Adobe Coldfusion always served us perfectly well and allowed us to reach the current level of our business. I respect all the work that Allaire, Macromedia and Adobe have made over the years in favor of CFML and maturity of its product. Speaking specifically of the reality of our company, the issue is that the pricing on Adobe Coldfusion established a limitation on this technology. Furthermore, in our opinion, Adobe ColdFusion also has its weak points, among them highlight the distance of the community CFML and poor response to bug fixes, just the points in which Railo is positively different.
Last, but not least, I would also like to highlight the administrative environment of Railo, which led among other things, allows you to update the service. You just click update and you're done! Are with all the cluster nodes running the latest version of the engine. Excellent!