Entradas etiquetadas como Heroku

¿Force.com y Heroku: Hermanas con distinta personalidad?

Platform as a Service - PaaSEn un anterior post mencionaba las diferencias generales de las plataformas como servicio (PaaS) Force.com y Heroku, hermanitas pues ambas son propiedad de la compañía Salesforce y actúan bajo la sombrilla de ésta. Al margen de lo comentado en dicho post hay también otro tipo de diferencias. Más sutiles. Más de personalidad o espíritu de cada plataforma. Porque, aunque hoy día pertenecen al mismo grupo empresarial, sus historias son bastante diferentes. He aquí mi percepción:

Orientación y enfoque
– Force.com. Orientacion a procesos y aplicaciones tradicionales de negocios. Su enfoque básicamente está en resolver necesidades organizacionales: ventas, finanzas, gestión del talento, marketing, servicio a cliente, etc.
– Heroku. Orientación de aplicaciones de servicios stand alone. Su enfoque resuelve aplicaciones de negocios de servicios: Shopping Carts, Mensajería, Sitios Web de cupones de descuentos, etc., así como servicios innovadores o estilo software de Start-up tecnológica.

Usuarios de las aplicaciones creadas en cada plataforma
– Force.com. Usuarios internos (funcionarios y ejecutivos de negocios) de la empresa que usan la aplicación desarrollada.
– Heroku. Usuarios externos a la empresa, típicamente clientes, y público en general a escala masiva.

Estilo de desarrollo
– Force.com. Desarrollar en esta plataforma se parece bastante al trabajo de configuración de aplicaciones. Click aquí, click allá, parámetro por aquí y listo, ya tienes el sistema funcionando.
– Heroku. Desarrollo de software más intensivo. Se programa mucho más que en Force.com pero también se tiene un mucho mayor grado de control sobre el software creado.

PaaS orientadas a proporcionar servicios a distinto nivel
– Force.com. A nivel Aplicación. Le ofrece a los developers muchos elementos ya solucionados en Salesforce y reutilizables para construir sus apps. De este modo, el software construido se parecerá mucho a las aplicaciones nativas de Salesforce.
– Heroku. A nivel Infraestructura de desarrollo. Le ofrece a los developers muchos elementos del entorno tecnológico Cloud para que construyan sus apps. Por ejemplo, servicios de mensajería, sincronización de apps en tiempo real, persistencia políglota, APIs REST a otros servicios Nube, etc.

Ingenieros usuarios de la plataforma
– Force.com. Colegas de traje y corbata. Típicamente del mundo de los negocios. Developers y Tech Savvy´s pero con mucho enfoque, estilo y espíritu del mundo de los negocios.
– Heroku. Desarrolladores de base y “línea dura”. Estilo más “a lo start-up” y sin muchos formalismos empresariales. Altamente especializados y considerados “Geeks”.

Objetivo de servicio
– Force.com. Las aplicaciones de Force.com son más intensivas en Datos y Gestión de la Información (Data-centric).
-Heroku. Las aplicaciones de Heroku son intensivas en aprovechamiento de lnfraestructura tecnológica y servicios de Nube (Architecture-centric). Muy orientadas a uso de APIs de servicios de terceros.

Clientes típicos que atienden
– Force.com. Los clientes de las aplicaciones de esta plataforma tienden a ser grandes empresas y trasnacionales. Prácticamente el mismo segmento de mercado “SAP & Oracle”.
– Heroku.com. Los clientes de las aplicaciones de esta plataforma tienden a ser pequeñas y medianas empresas (Small Business, SME ó Pymes) y/o Start-ups tecnológicas.

Lógicamente lo anterior son simplemente “Generalizaciones”; y como toda generalización, tiene sus excepciones. Lo que quiero decir es que las distinciones anteriores son principalmente (aunque no en todos los casos) “por costumbre, comunidad y estilo”. Nada impediría a un developer Heroku usar traje y corbata, como nada impediría a un developer Force.com desarrolar ahí una idea “Start-up style”. Después de todo, ambas PaaS están exclusivamente orientadas a aplicaciones de Nube al estilo Software-as-a-Service (SaaS), y con integración de aplicaciones móviles y sociales. Y ambas lo hacen muy bien.

¿Cuál prefieres tú? ¡Hasta pronto!

, , , , , ,

Deja un comentario

SaaS y ¿cómo “juega” Heroku en el mundo Salesforce?

Recientemente Salesforce ha anunciado que seguirá apoyando sus dos plataformas de desarrollo de aplicaciones para la Nube: Heroku y Force.com. Esto podría parecer extraño dado que ambas plataformas están diseñadas para alojar aplicaciones Web de Nube. Sin embargo las razones que Salesforce aduce me parecen muy lógicas: Force.com es una plataforma de desarrollo de aplicaciones de procesos de negocios. Básicamente los usuarios de estas aplicaciones son el personal mismo de las empresas. Por otro lado, Heroku está orientado a aplicaciones masivas de tipo “público”. Las aplicaciones de Nube en Heroku son más usadas por el público en general (Twitter, Groupon, Shopify, etc.) ya sean clientes o no de una empresa en particular.

La división anterior me parece no sólo natural sino que también nos indica una clasificación de las aplicaciones de Nube. OJO: No estoy diciendo que en Salesforce no se puedan alojar aplicaciones masivas ni que en Heroku no se puedan hospedar aplicaciones de negocio de backoffice. Sin embargo, la clasificación resulta bastante lógica. Me explico.

Heroku tradicionalmente ha venido apoyando el mundo de los Desarrolladores Ruby (y Ruby on Rails) para que desplieguen sus habilidades técnicas en iniciativas empresariales de desarrollo de aplicaciones masivas de alta calidad. Su orientación es más que nada hacerle la vida fácil al desarrollador o empresario de software para crear de manera relativamente sencilla sus aplicaciones y poder desplegarlas en un ambiente de producción optimizado, moderno y seguro. Para ello, da acceso a muy valiosas extensiones o “add-on´s” que añaden mucha funcionalidad a las aplicaciones ahí alojadas.

En cambio Force.com ha venido siendo la plataforma idónea para desarrollar aplicaciones de negocios ligadas al CRM de Salesforce y sus otros productos. Ha servido como una buena vía para extender las capacidades del CRM de Salesforce y crear otras aplicaciones alrededor de él. Inclusive sistemas completos de negocios, estilo ERP, que son tan o más grandes aún que el CRM original de Salesforce.

Mi propuesta personal: desarrollar productos de software (modelo software as a service SaaS, lógicamente) desplegados sobre Heroku y creados en Ruby on Rails pero accediendo a información contenida dentro del CRM de Salesforce. De hecho, ya existen buenas herramientas de integración de información para esta vía y, de acuerdo a los ejecutivos de Salesforce, la integración será cada día mayor (es lógico pues ambas forman parte de la misma empresa global). En síntesis, concibo algo así como Backoffice con Salesforce, Force.com y otras aplicaciones de negocios maduras (Financial Force, por ejemplo), mientras que productos de Frontoffice con Rails sobre Heroku pero integrados con los productos Salesforce mencionados.

Voilá. Y con ello tendremos un completo set de productos de software para la Nube. ¡Hasta pronto!

, , , , , , ,

1 comentario

Algunas razones de porqué elegiría Rails + Database.com + Heroku para una solución de Nube … Parte 2

En la primera parte de este post, había descrito las razones por las que yo elegiría Ruby on Rails para el desarrollo de un sistema Web. Al final, comentaba que me parecía que la base de datos ideal debería ser una basada en la Nube y que Xeround (MySQL cloud based) podría ser la opción idónea. Sin embargo, existe una fuerte alternativa. Se trata de Database.com, el producto de base de datos de Salesforce que también está orientada a aplicaciones en la nube (tal como lo es Salesforce).

Me parece que, aunque ambos productos son sólidos (Xeround y Database.com) y tienen las características adecuadas, existe una poderosa razón de mercado y de negocios que favorece la opción de Database.com. Este producto es el que Salesforce utiliza para sus aplicaciones CRM basadas en la nube y que utiliza también en su plataforma de desarrollo Force.com, la cual está ganando mucho momentum en los últimos meses.

Dicho de otro modo, una nueva aplicación de negocios que use Database.com estará íntimamente ligada desde el punto de vista técnico con los datos y las aplicaciones nativas de Salesforce (aunque uno podría usar Database.com sin depender de la plataforma Force.com). Y una integración natural con el líder del mercado en aplicaciones de negocios para la nube representa un potencial valor de mercado de una eventual futura aplicación de negocios. Inclusive existe también la posibilidad de alianzas estratégicas futuras no sólo con Salesforce sino con muchos otros proveedores de aplicaciones de negocios del ecosistema de Force.com.

4. Plataforma de desarrollo y deployment Heroku.com. Existen varios, y muy buenos, proveedores de servicios que ofrecen un óptimo deployment de una aplicación Ruby on Rails. Uno de los mejores es Heroku.com. Ofrece un medio ambiente y plataforma sólida para aplicaciones Ruby, una arquitectura Multi-tenancy natural, múltiples Add-on´s que pueden enriquecer y apalancar las aplicaciones desplegadas en Heroku, y una reputación excelente como proveedor de servicios Platform-as-a-Service (PaaS).

Aunque pudieran existir otros proveedores Ruby (Engine Yard, en particular), Heroku recientemente ha adquirido una enorme ventaja de mercado ya que fue comprada en enero del 2011 por Salesforce. Al margen de la ventajosa liquidez financiera que esto trae para Heroku, es también de esperar entonces que Heroku y Force.com vayan siguiendo rutas técnicas paralelas o con una integración mejorada. Dicho de otro modo, Salesforce está también apostando por el ecosistema Ruby on Rails, paso lógico dado que Apex (el lenguaje de programación usado en Force.com) es muy cerrado y no cuenta con una comunidad fuerte de Web developers (como Ruby) salvo por los que ya desarrollan en Force.com.

Conclusión: la arquitectura Ruby on Rails + Database.com + Heroku me parece la ideal para aplicaciones de negocio para la Nube. Su principal desventaja (creo que temporal) es que actualmente la integración RoR-Database.com no es factible con la versión 3 de Rails sino únicamente con una anterior. Ello debido a que el adaptador de la base de datos (ActiveSalesforce) no es compatible con Rails 3. Sin embargo esto deja de tener relevancia ahora que Force.com está apostando también por las APIs basadas en REST por lo que seguramente pronto veremos un adaptador REST (a febrero del 2011, existe incluso ya una versión alfa) en lugar del actual basado en SOAP.

(Nota relevante agregada el 22-mar-2011: Rails 3 & Force.com REST API)

Quizá en otro post comentaré de alternativas también sólidas como arquitectura de base para aplicaciones Nube. Sin embargo, la aquí expuesta es la que yo elegiría en definitiva.

, , , , , , ,

2 comentarios

Algunas razones de porqué elegiría Rails + Database.com + Heroku para una solución de Nube … Parte 1

Hace más o menos un par de meses (finales de diciembre del 2010) me vi inmerso por esos azares del destino en buscar cuál sería la plataforma idónea para desarrollar “from scratch” soluciones de negocio y procesos organizacionales bajo el concepto de computación en la Nube (Cloud Computing). Software-as-a-Service (SaaS) en su definición más pura. Lo más interesante del caso es que yo no tenía ninguna restricción; o sea, no tenía ninguna inversión tecnológica heredada que tuviese que “respetar” o con la que tuviese que interactuar; es decir, ¡el mundo ideal del Arquitecto de Software!

So.. me di a la tarea de investigar un poco el asunto y leer algo de material al respecto. Tenía que considerar muchos factores, no sólo técnicos sino también como estrategia de negocios e inversión futura. Simple y llanamente debía elegir en qué desarrollar un producto que mi empresa pudiese invertir y rentabilizar en el futuro. En este post explico la primera parte de las razones por las que elegí cierta tecnología. En la segunda parte continuaré comentando el razonamiento de mi decisión.

Mi elección:

He aquí algunas de las razones por las que seleccioné la tecnología descrita:

  1. Ruby es un lenguaje de programación orientado a objetos creado en Japón por Yukihiro Matsumoto, “Matz”, a principios de los años 90s; lo suficientemente maduro para demostrar que no es flor de un día pero lo suficientemente “moderno” y poderoso como lenguaje de programación. Es elegante, sencillo de aprender, tiene una comunidad de desarrolladores vibrante y ha sido definido por Marc Benioff, director de Salesforce, como el lenguaje de la Nube. Además, existen implementaciones Java (JRuby) para los developers que aún se sienten cómodos con Java pero quieren acceder a la elegancia de Ruby. Y finalmente, Ruby es también Open Source.
  2. Ruby on Rails (RoR). Es el framework de desarrollo Web que mayormente usa el lenguaje Ruby (aunque existen otros; Sinatra en particular) y es ampliamente conocido y aceptado por la comunidad Ruby. Rails es uno de los primeros frameworks de desarrollo en utilizar el patrón MVC (Model-View-Controller) que prácticamente se ha convertido en un estándar del desarrollo de aplicaciones para la Web. Sólido y maduro.
  3. Base de Datos: En este tema hay mucho por escoger. MySQL es muy bueno, es Open Source y es ampliamente aceptado por la comunidad de Web Developers. Por otro lado, Apache tiene una muy interesante iniciativa de base de datos (document-oriented) llamada CouchDB que también tiene ya proveedores en la Nube: Cloudant.com. Si consideramos que “la Nube” será nuestro pan de cada día, debemos privilegiar la decisión de una base de datos “de Nube”. Es por ello que la versión “Nube” basada en MySQL llamada Xeround sería nuestra primera opción; máxime que Xeround ya tiene un add-on para funcionar en la plataforma de Heroku.

Sin embargo, aquí es donde entra nuestra primera gran consideración en favor del mundo Salesforce, más específicamente, del mundo Force.com que es la plataforma de desarrollo de aplicaciones para la Nube de Salesforce. En la segunda parte de este post abordaré porqué me pareció importante integrarse con Force.com, vía su producto de base de datos Database.com y también terminaremos de justificar nuestra decisión completando el cuadro con la plataforma de desarrollo de Heroku.com.

¡Back soon!

, , , , , , , ,

1 comentario