Warum Railo Kicks Butt für ColdFusion basierte SaaS
Es gibt eine Menge Debatte um die relativen Vorteile von v Railo Adobe ColdFusion und jeder zu seinem eigenen mit dieser Debatte. Es gibt jedoch einen Bereich, wo Railo ist ein klarer Sieger im Moment (um nicht zu sagen, dass Adobe won''t aufholen in der Zukunft), und das ist im Bereich der mit einer CF-Engine, eine Software as a Service Plattform zu schaffen, .
Wir fanden, hatten wir 4 wichtige Überlegungen für die CF-Engine Anwendung bei der Erstellung eines Software-as-Service-Plattform
1. Skalierbarkeit
Wir brauchten ein archiecture, die uns zu implementieren so viele CF-Instanzen auf einem einzigen Server wie möglich zu unserem Geschäftsmodell zu gewährleisten gearbeitet, um verlorene Kosten und hoher Leistung, unsere SaaS-Dienst zu ermöglichen erlaubt basiert auf der Amazon Elastic Cloud und das wollten wir die Anzahl zu minimieren von Servern, um dieses Werk. Unser Ideal archiecture wurde JBoss benutzen und zu jedem Web-Instanz als JBoss Krieg und dann in der Lage sein jeden Krieg zu überwachen und einzigartige Administratoren für jede Web-Anwendung zu erstellen haben. In der Vergangenheit haben wir CF Sandboxing verwendet, um einzelne CF-Anwendungen verwalten, aber dies ist immer noch eine CF-Instanz auf einen App-Server-Instanz, couldn''t geben wir jedem Kunden ihre eigenen CF Admin anmelden und dies letztlich dazu führen, die Art des eingeschränkten und verriegelt bis zu dem Punkt, der nutzlos Hosting Regelungen viele Entwickler mit CF Hause geliefert haben Hosting. Railo hat die Fähigkeit, jeden Krieg gegeben / Client eigenen Railo Admin (eqivilent zu CF Administrator), sondern haben auch einen zentralen Server Admin "für die allgemeine Kontrolle. Die große Sache über die Art und Weise man es in Railo tun können ist, dass man Bibliotheken der Anwendung bedeutet, dass jede neue Webanwendung nur ein kleiner Speicher / resource Fußabdruck, unsere expereince mit CF hat den zentralen Einsatz gewesen, dass Sie mehr als couldn''t laufen 5 oder 6 CF-Instanzen auf einem einzigen Server zu laden, bevor sie Fragen zu schaffen begonnen, mit Railo haben wir bis 1000 noch getestet und fanden die Server gut gemeistert. Offensichtlich ist dies auf eine Menge von kleineren Last Sites basiert aber was wir kümmern uns ist, wie beschäftigt alle Websites auf dem Server und die Gesamtbelastung sind, wobei die WAR archiecture können wir jeden Web-App separat überwachen und sofort sehen, wenn irgendwelche Apps verwenden Schwerlast-und elastisch wie Maßstab erforderlich. Ein weiterer Gewinner für Railo in der Skalierbarkeit Test wurde die Fähigkeit, leicht Cluster mit enger Integration mit JBoss Clustering und eine integrierte Cluster-Umfang, Clustering ist einfacher zu installieren und Manager.
2. Sicherheit
Wenn Sie vorhaben, können Entwickler den Zugriff auf Anwendungen in einer Shared Hosting-Umgebung erstellen Sie dann Sicherheit ist ein großes Anliegen, und einer der Gründe, so viele ColdFusion-Entwickler haben es frustrierend, wenn man CF-Hosting als Hosting-Unternehmen waren gezwungen, sperren viele Dinge ab. Wie oben Railo können einzelne Stege mit eigenen Administratoren, die eine App-Server zugeordnet WAR erwähnt werden, bedeutet dies, können Sie ganz einfach sperren, einen Krieg und die Railo Security Manager macht es einfach sperren Dateizugriff auf den Krieg. Sie können auch Ausnahmen von dem Modell, um die Sicherheit des Zugriffs auf freigegebene Ordner auf dem Server zu ermöglichen, war dies ein Feature, das wir in Auftrag Railo für uns zu schreiben und arbeitet sehr gut. All das Sicherheitsmodell in Railo mit einzelnen Bahnen und Administratoren ist deutlich flexibler als das Modell mit CF Sandboxing alles läuft auf eine Instanz. Darüber hinaus können Kunden ihre eigene Anwendung Level-Einstellungen, ohne dass wir die Kontrolle einzubeziehen. Zwar können Sie diese über eine API mit CF getan haben Ich denke, Adobe könnte eine Menge aus dem Weg Railo dies getan haben zu lernen.
3. Kosten
Wenn man sich die wirklich erfolgreichen SaaS Blick auf appliations verfügbar nur sehr wenige sind auf commerial Applikationsservern gebaut, das größte auf PHP oder Java sind wie Facebook gebaut. Gestützt hatte, um zusammen Geschäftsmodelle auf den Aufbau von Plattformen SaaS-Anwendung dann weiß ich, dass die Verwendung einer Open Source-Plattform hat eine Menge von Attraktivität, da sie die Lizenzvergabe Risiken reduziert mehr als die Kosten. Zum Beispiel, wenn Sie auf eine zugrunde liegende kommerzielle Plattform und die Hersteller ihre Veränderungen Preismodell dann Ihren gesamten Business-Plan scheitern könnte, so viel wie Adobe guter Geschäftspartner von uns im Laufe der Jahre wurden sie bekannt wurden, völlig verändern ihre Lade-und Produkt- bietet alle paar Jahre und während dieser ist es immer noch überschaubaren Risiko. Wenn Sie sich zu 300 Servern anschließend die zugrunde liegenden Kosten sind zu addieren beginnt, haben wir derzeit rund 20 Amazon-Servern mit den meisten läuft jetzt Railo laufen und es ist nicht zu leugnen, dass die Kosten eine Rolle spielt, insbesondere angesichts der Vorteile Railo bietet in der laufenden Setup-Typ die wir einsetzen. Ich mag zwar mit Open-Source-Produkte, die ich immer noch glauben, dass es eine starke zugrunde liegende Geschäftsmodell für den Anbieter des Produktes werden, und dass sich auf Dienstleistungen für die Rechnungen zu bezahlen ist ein hartes Spiel. Sofern Railo beginnt, ihr Geschäftsmodell Ich bin sicher, sie werden beginnen, sich hinter Adobe fallen, da sie das Geld wieder reinvestieren in die Produktentwicklung pflegte zu erweitern. We''re in diesem Spiel und Know how exaclty schwer es sein kann, aber sicher I''m Gert und sein Team arbeiten daran. Wenn Adobe CF hatte die Skalierbarkeit und die Sicherheitsmerkmale der Railo Ich bin sicher, das wäre meine Kosten zu überwinden als Argument, diese kritischen Anforderungen sind.
4. Updates
Arbeiten im dynamischen Umfeld, das Web ist heute immer häufiger Updates für Ihre zugrunde liegenden Plattform kann lebenswichtig sein, am Anfang des Spiels halten. Auch dieses ist, wo es wirklich Railo genagelt, während Adobe ist ohne Zweifel besser getestet und straffer die einfache Aktualisierung von Railo ist ein Spiel-Wechsler. Wie oben brauchten wir ein Update für die Sicherheits-Features in Railo (we''ll blog später erwähnte dies) und beauftragte den Railo Team um ihn zu bauen. Sobald sie fertig waren, gab uns ein Update URL und wir einfach nur unseren Servern aktualisiert. Mit Adobe you''re bei Aktualisierungen der wichtigsten functionaliy sucht alle paar Jahre, und dies kann eine sehr lange Zeit für eine SaaS-Plattform werden.
Zusammenfassend I''m nicht versuchen, Adobe CF zu vergleichen Railo aus einer Codierung Seite der Dinge aber aus, wie sie direkt, wenn verwendet, um eine Software as a Service-Plattform aufbauen zu vergleichen. Ich weiß, Adobe hat angekündigt, dass sie CF auf Amazon EC2 unterstützen, aber das ist nur die Bewegung einzelner Server CF-Modell in einer vermietbaren Cloud-Modell, das es zu lösen doesn''t Fragen rund um den Aufbau einer SaaS-Plattform. Unsere Railo Port wasnt''einen Kuchen mit allen Mitteln zu gehen, angesichts der Größe unserer Anwendung (kleinere Anwendungen sind sicherlich einen Kuchen zu Fuß zum Hafen), und gehen nach vorne müssen wir noch beide Adobe CF und Railo unterstützen so unsere Release Arbeitsbelastung erhöht . Wenn Sie uns auf eine SaaS-Plattform aufbauen und wissen, CF (oder PHP oder Java oder Ruby für diese Angelegenheit) sind, dann sollten Sie ernsthaft an Railo aussehen.
Comments
@Jason You should join the Railo mailing list. There are lots of talented people willing to spend the time helping you configure Railo in infinite different configurations.
http://groups.google.com/group/railo
# Posted by: Paul Kukiel | 11 Sep 2009 | 10:28 PM
Thanks for the tip!
# Posted by: Jason Haritou | 11 Sep 2009 | 10:35 PM
I do agree with Jason, as much as I love Railo and the people behind it, buying a CF standard license and the click next.. next.. finish install is much MUCH less expensive than installing Railo. At least for us...
# Posted by: Tjarko Rikkerink | 11 Sep 2009 | 11:18 PM
The difference between the Standard instance on Adobe ColdFusion and Enterprise multiple install is like two different worlds. Multiple instances bring so many benefits and Railo provides that. Having said that, I have never used Railo in production, perhaps it is about time I at least tried. @Grant S, thanks for this post you have been a high quality CFML info source for a long time.
# Posted by: Mike Brunt | 12 Sep 2009 | 12:46 AM
This probably goes without saying, but there is something in me that requires me to rebut anyone who says "XXX is better than ColdFusion" regardless if it's PHP, RoR, .NET or a CFML clone.
1. Scalability - Flash Remoting in CF9 is 7-9x faster than CF 8. Rather than using the stock BlazeDS remoting (a generic Java approach), we overhauled the system specifically for ColdFusion. A Flex-based system like ZoomFlex would likely see huge performance and scalability gains on this point alone. We'll be releasing a performance brief on ColdFusion 9 shortly that I think will pleasantly surprise you.
2. Security - "Whilst you could have done this via an API with CF..." -- very true. I'm completely ready to be wrong on this point, but the industry seems to be trending away from shared hosting and towards VPS/Cloud hosting. HostMySite/Hosting.com is a good example. Last year a ColdFusion VPS costs about $100US, today they cost $65US. Assuming this trend continues (you can get a Linux AMI on Amazon for about $20/month)... then it would seem like wasted effort to further our JVM user sandboxing features we added in CF8 (which most companies elected not to use). Plus, it seems that most companies would prefer to setup/manage virtual servers, rather than giving a user a directory on a shared box (users prefer this too).
3. Cost - 20 CF servers on Amazon EC2 would only require 2 Enterprise licenses. I imagine that's a pretty small investment to make for the the foundation of your business. Especially when it means the 5th largest software company in the world is invested in your success. Not to mention there will be an hourly rate, so you can scale up/down without any upfront costs. Also, the CF AMIs are just what we're planning for CFCloud in the next couple months. By no means does it stop there... it's merely just the first step.
4. Updates - One thing I find that not many people realize is that when you buy support for ColdFusion, you get access to customized hot fixes and updates. It's not just about having someone on the line to debug your config or CFML problems. If you report an issue via support and it's a bug in ColdFusion... the CF engineering team fixes it right away and issues you a patch. Of course, we can't support new features in this manner. As you can imagine, with 12k companies using ColdFusion worldwide, it would be impossible to support new features at an individual level. This is definitely one place where a small company like Railo with a small market can out perform Adobe.
As far as CF being able to reach out to a central server for updates, it's something we looked very seriously at for CF9, however it was a major security concern for many of our government customers. This turned out to be one of the motivating factors for the creation of the Server Manger, a desktop-based tool that separated admin/config of a CF instance from the instance itself. It's probably a safe bet to expect that Server Manager v2 will solve this update issue (and more).
@Grant - I know you've had your issues with Adobe AU(NZ) in the past. We've heard that loud and clear and I'm hoping you'll find our announcement at cf.objective(ANZ) will help address those concerns.
- Adam ColdFusion Product Manager
# Posted by: Adam Lehman | 12 Sep 2009 | 01:02 AM
Hi Adam,
Fair points in your reply but the essence of what I am talking about is how to build an elastic Software as a Service platform, not how to deploy CF on VPS servers. The key is how to build an elastic system that will scale easily and also best utilize the hardward you are deploying on. When you sign up as a Salesforce or Google Apps client you don't get your own VPS, you get put into a resource pool based on the request to your account and the traffic going through it etc. This is where we believe the Railo architecture to be superior as it allows multiple CF web apps on one server with centralized control that can be easily clustered. With the Railo model you are getting maximum value out of every server you are deploying on and can monitor each web app as each one goes through its own J2EE servlet giving maximum control, not to mention Railo has a very small memory footprint on the server to start with. With ColdFusion at the moment you are limited to very few instances per server from a resources viewpoint and you have to use Sandboxing to control access. Believe me that if ColdFusion allowed us to do what we needed we would have continued using it ( as we already had the code and had servers setup with Sandboxing etc.), and would have written a blog about the value of it, but it doesn't at the moment and Railo does. Adobe ColdFusion is an awesome technology and I am nothing but an Advocate having based my business on it for the last 10 years, but at the same time we have to move with the times with regards to deploying a SaaS model and I do believe Railo is the better technology stack for doing that right now, especially for the issues we are trying to solve.
It's possible there is only a small market in the CF community who want to deploy on an elastic SaaS model but speaking to a number of people at CFUnited I got the impression this might not be the case. Maybe CFObjective Aus is a good place for me to demonstrate what I'm talking about and for you to show the alternative from the Adobe viewpoint?
Cheers
Grant
# Posted by: Grant Straker | 13 Sep 2009 | 02:10 PM














I was wondering how much time you invested in configuring your Railo installation?
We've recently been looking into using Railo for all our CF development but after fighting with the program (trying to get it to work with Apache on our uniquely configured systems) we decided to give up and just buy another license for Adobe CF. Basically, the time and money we were investing in trying to get Railo to work, could have been better used in just buying another CF license.
I love the idea of Railo. I just don't think it's easy enough to configure to become a mainstream CFML product.
# Posted by: Jason Haritou | 11 Sep 2009 | 10:15 PM