Straker Interactive

¿Por qué Railo patadas a tope para SaaS basados ColdFusion

Hay un montón de debate en torno a los méritos relativos de Railo v ColdFusion Adobe y cada uno a su propia con ese debate. Sin embargo, existe un área donde Railo es un claro ganador en el momento (por no decir que won''t Adobe ponerse al día en el futuro), y que está en la zona de contar con un motor de CF para crear un software como plataforma de servicios .

Encontramos que teníamos 4 consideraciones importantes para el motor de candidaturas al FC al crear una plataforma de Software como Servicio

1. Escalabilidad

Necesitábamos un archiecture que nos permitió implementar tantas instancias de la FQ en un único servidor como sea posible para asegurar que nuestro modelo de negocio trabajado para permitir perdido costo y alto rendimiento, nuestro servicio SaaS se basa en la nube de Amazon elástica y pensamos que era para minimizar el número de los servidores para hacer este trabajo. Nuestra archiecture ideal era usar Jboss y crear cada instancia de Web como JBoss guerra y luego ser capaz de controlar cada uno de WAR y que los administradores únicos para cada aplicación web. En el pasado hemos utilizado CF Sandboxing para gestionar las solicitudes individuales de CF, pero esto sigue siendo un ejemplo de una aplicación CF instancia del servidor, que couldn''t dar a cada cliente su propio inicio de sesión de administrador CF y esto en última instancia, el tipo de restringido y bloqueado hasta el punto de inútiles acogida a los estudiantes muchos desarrolladores han expereienced con FQ de alojamiento. Railo tiene la capacidad de entrega cada GUERRA / Cliente son dueños de sus Railo Admin (Administrador eqivilent a CF), pero también para tener una administración del servidor centralizado para el control global. La gran cosa acerca de la forma de que puedas hacer en Railo es que usted puede usar las bibliotecas de aplicaciones centralizada que significa que cada nueva aplicación web sólo tiene una pequeña memoria / la huella de los recursos, nuestra expereincia con FQ ha sido que couldn''t ejecutar más de 5 ó 6 casos de FQ en un único servidor antes de que comenzara a crear problemas de carga, con Railo hemos probado hasta 1000 y todavía se encuentra el servidor de un buen desempeño. Obviamente, esto se basa en un montón de sitios de carga más pequeña, pero lo que importa es lo ocupado todos los sitios están en el servidor y la carga total, utilizando el archiecture guerra que pueden controlar cada aplicación web por separado y ver al instante si está utilizando aplicaciones carga pesada y la escala elásticamente según sea necesario. Otro ganador de Railo en la prueba de escalabilidad es la capacidad de facilidad de racimo, con una estrecha integración con el clúster de JBoss y un ámbito de aplicación de clúster integrada, la agrupación es más fácil de instalar y gerente.

2. Seguridad

Si usted va a permitir el acceso a los desarrolladores crear aplicaciones en un entorno de alojamiento compartido entonces la seguridad es una preocupación grande, y una de las razones por los desarrolladores de ColdFusion tantos han encontrado que es frustrante cuando se mira en CF hosting como empresas de alojamiento han visto obligados a bloquear un muchas cosas. Como se mencionó anteriormente Railo permite conexiones independientes con sus propios administradores, que se asignan a una aplicación de servidor de WAR, esto significa que usted puede cerrar una guerra y el administrador de seguridad Railo hace que sea fácil de bloquear el acceso a los archivos de la guerra. También puede añadir excepciones al modelo de seguridad para permitir el acceso a carpetas compartidas en el servidor, esto era una característica que Railo encargado de escribir para nosotros y funciona muy bien. Todo el modelo de seguridad en Railo con conexiones independientes y administradores es mucho más flexible que el modelo CF Sandboxing con todo lo que se ejecuta en una instancia. También permite a los clientes a controlar sus propios ajustes de nivel de aplicación sin tener que involucrarnos. Mientras que usted podría haber hecho esto a través de un API con FQ Creo que Adobe podría aprender mucho de la manera Railo han hecho esto.

3. Costo

Si nos fijamos en el SaaS realmente exitoso basado appliations muy pocos disponibles se basan en servidores de aplicaciones commerial, el más grande se construyen en PHP o Java como facebook. Después de haber tenido que armar modelos de negocio en la construcción de plataformas SaaS aplicación entonces sé que el uso de una plataforma de código abierto tiene un gran atractivo, ya que reduce los riesgos de concesión de licencias más que el costo. Por ejemplo, si usted está en una plataforma comercial subyacente y el vendedor cambia su modelo de precios a continuación su plan de negocio conjunto podrían fallar, tanto como Adobe han sido compañero de negocios de los nuestros en los últimos años se han conocido para cambiar por completo su carga y de productos que ofrece cada dos años y, si bien este es manejable aún es de riesgo. Si usted va a desplegar 300 servidores entonces el coste subyacente comienza a sumar, que actualmente ejecuta alrededor de 20 servidores de Amazon con la mayoría ejecutando ahora Railo y no se puede negar que juega una parte de costes, especialmente teniendo en cuenta los beneficios que ofrece Railo en la gestión del tipo de instalación que está utilizando. Aunque me gusta el uso de productos de código abierto todavía creo que tiene que haber un fuerte modelo de negocio subyacente para el proveedor del producto, y que utiliza los servicios para pagar las cuentas es un juego difícil de jugar. A menos que Railo comienza a expandirse su modelo de negocio que estoy seguro de que comenzará a caer detrás de Adobe, ya que no tendrá el dinero para reinvertir de nuevo en el desarrollo de productos. We''re en ese juego y saber exaclty lo difícil que puede ser, pero seguro I''m Gert y su equipo están trabajando en ello. Si Adobe CF tuvo la escalabilidad y características de seguridad de Railo Estoy seguro de que acabara con mi argumento de los costes ya que estos son requisitos fundamentales.

4. Actualizaciones

Trabajo en el entorno dinámico que es la web hoy en día, obtener actualizaciones frecuentes a su plataforma subyacente puede ser vital para mantener en la parte superior del juego. De nuevo aquí es donde realmente tiene Railo clavado, mientras que Adobe es sin duda mejor prueba y el endurecimiento de la actualización fácil desde Railo es un cambiador de juego. Como se mencionó anteriormente que necesitábamos una actualización de los elementos de seguridad en Railo (we''ll blog más tarde sobre esto) y puesto en marcha el equipo Railo para construirlo. Una vez terminado nos dieron una URL de actualización y, simplemente, acaba de actualizar nuestros servidores. Con Adobe you''re ver las actualizaciones de los principales functionaliy cada par de años y esto puede ser un tiempo muy largo para una plataforma SaaS.

 

En resumen I''m no intentar comparar Adobe CF Railo de un lado de codificación de las cosas, sino de cómo se comparan directamente cuando se usa para construir un software como plataforma de servicios. Sé que Adobe ha anunciado que apoyará la CF en Amazon EC2, pero esto es sólo mover el servidor de un solo modelo de CF en un modelo de nube rentable, que doesn''t resolver los problemas en torno a la construcción de una plataforma SaaS. Nuestro puerto no era Railo''pastel de un paseo por cualquier medio, dado el tamaño de nuestra aplicación (aplicaciones más pequeñas son sin duda una caminata de la torta al puerto), y va hacia adelante todavía tenemos que apoyar tanto Adobe CF y Railo lo hemos aumentado nuestro volumen de trabajo de liberación . Si usted está buscando para construir una plataforma SaaS y saber CF (o PHP o Java o Ruby para el caso), entonces usted debe considerar seriamente Railo.

 

 


Comments

Add a comment







Thanks for the tip!

# Posted by: Jason Haritou | 11 Sep 2009 | 10:35 PM










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



Add Comment

Categories