Crear Software en la nube

Si se puede imaginar… se puede programar

Crear software no tiene límites, es una de las virtudes de esta profesión, la capacidad de crear. La nube está matando al hardware, el hard empieza a no ser tan importante para la ejecución de aplicaciones y en los próximos años tampoco lo será a la hora de programarlas.

Las plataformas de desarrollo paas nacieron con la finalidad de que desarrollar software para la nube fuera más eficiente.

¿Por qué hay que desarrollar en plataformas de desarrollo cloud?

1.-Aplícate el cuento. Estás desarrollando una aplicación para que tus clientes trabajen en la nube y tu trabajas en local, así no verás tus problemas reales.

2.-Zapatero a tus zapatos. Si una plataforma está pensada para desarrollar en cloud te asegura que tu aplicación funcionará bien en la nube. Las plataformas tradicionales no se diseñaron para hacer aplicaciones en la nube.

3.-Pruebas en tiempo real. Cada vez que pruebes un desarrollo estarás validando que tu desarrollo va bien en la nube, programar para la nube y para local no tiene nada que ver.

4.-Tu cliente podrá evaluar. Sin necesidad de crearle nada especial, simplemente tendrás que darle la dirección de tu servidor y podrá darte opiniones sobre el software.

5.-Programas desde cualquier sitio. No necesitas depender de tu portátil o de una máquina física para entrar en tu código, puedes programar desde cualquier sitio que te imagines.

Si desarrollas para la nube programa en la nube

Algunas plataformas de desarrollo en la nube.

  • Velneo la opción española y mi preferida ;). La opción para apps empresariales.
  • Force la especialista en temas Sociales.
  • Engineyard para programadores de Ruby.
  • CloudBees para programadores de Java.

.

.

Subscribe

.

¿Qué es Cloud Computing?

Me he permitido la libertad de copiar este post de la página de Salesforce, porque simplemente está perfecto.

La vida antes de Cloud Computing

Las aplicaciones comerciales tradicionales han sido a menudo demasiado complicadas y caras. Necesitan un centro de datos con espacio, energía, refrigeración, ancho de banda, redes, servidores y almacenamiento. Una pila de software complicado. Y un equipo de expertos para instalarlas, configurarlas y ejecutarlas. Necesitan desarrollo, pruebas, etapas, producción y entornos a prueba de fallos.

Cuando multiplica estos requisitos por docenas o cientos de aplicaciones, es fácil comprender por qué las empresas más grandes con los mejores departamentos de TI no están consiguiendo las aplicaciones que necesitan. Las pequeñas empresas no tienen ninguna posibilidad.

Cloud Computing: un camino más fácil

Cloud Computing es un camino más fácil para explotar su negocio. En vez de ejecutar las aplicaciones usted mismo, se ejecutan en un centro de datos compartido. Cuando utiliza cualquier aplicación que se ejecuta en la nube, sólo hay que iniciar sesión, personalizar y empezar a trabajar. Ése es el poder de Cloud Computing.

Las empresas están ejecutando todo tipo de aplicaciones en la Nube en la actualidad, como aplicaciones de CRM, RRHH, contabilidad y aplicaciones a medida. Las aplicaciones con base de Cloud Computing pueden estar listas para trabajar en unos días, lo que es impensable con el software comercial tradicional. Cuestan menos, ya que no hay que pagar por toda la plantilla, productos e instalaciones para ejecutarlas. Y además pueden ampliarse más, son más seguras y más fiables que la mayoría de las aplicaciones. Del mismo modo, las actualizaciones se realizan de forma automática, de modo que sus aplicaciones obtienen mejoras de seguridad y rendimiento, junto con nuevas funciones, sin su intervención.

El método de pago de las aplicaciones con base de Cloud Computing es también diferente. Olvídese de comprar servidores y software. Cuando sus aplicaciones se ejecutan en la nube, no tiene que comprar nada. Todo se incluye en una suscripción mensual predecible, de modo que sólo paga por lo que usa de verdad.

Finalmente, las aplicaciones de Cloud Computing no consumen sus valiosos recursos de TI, así que su director financiero estará encantado. Esto le permite centrarse en desarrollar más aplicaciones, nuevos proyectos e innovación.

El balance final: Cloud Computing es una idea sencilla pero puede tener un efecto enorme en su negocio.

Java en Google App Engine

Hace unos días que Google anunció su soporte para Java en su PaaS, después de su broma sobre Fortran.

Su estrategia parece clara, quiere convertirse en la PaaS de referencia soportando diferentes lenguajes de programación. Desde su anuncio, su web  sufrió importantes cambios para albergar el soporte a Java. Incluso parece que cada día que pasa el nuevo lenguaje va tomando fuerza.

En estos días han generado abundante documentación y vídeos, os dejo un vídeo con subtítulos en inglés que podéis traducir al castellano desde la web de Youtube.

¿Qué es un CPD?

Un CPD son las siglas de Centro de Proceso de Datos, Data Center en inglés y son las salas de máquinas del Cloud Computing; o Nube Computacional.

Los CPD son la base del Cloud Computing, los que hacen que esta tendencia sea posible. Los CPD se basan en economías de escala y sólo es accesible para los grandes entrar en esta batalla, Google, Amazon,..

Para entender lo que estoy diciendo sólo hay que ver este vídeo sobre las infraestructuras de un CPD de Google, simplemente impresionante:

Google App Engine soporta FORTRAN 77

Hace unos días que Google realizó un nuevo movimiento en su plataforma PaaS, que lleva un año en el mercado.

Hasta ahora Google App Engine sólo soportaba Python ya que el creador del mismo estaba en las filas de Google.

Desde la creación del PaaS de Google me preguntaba si lo limitarían sólo a su lenguaje o si poco a poco lo abrirían a otros entornos de programación.

Ahora parece que la respuesta está clara ya que hace unos día Google App Engine anunció que soportaba el lenguaje Fortran 77!

Con esta apertura, según ellos muy estudiada, parece que la decisión estratégica de futuro de Google es la de tener una PaaS de diferentes lenguajes de desarrollo, ¿quién sabe? hasta podrían soportar con el tiempo a la PaaS de Velneo.

Entiendo que lo de elegir a Fortran 77! es por seguir realizando pruebas en su PaaS ya que no entiendo la razón de dar acceso a un lenguaje de estas características.

appengine_fortran

10 Predicciones para el 2009 IDC (SaaS & PaaS)

IDC es una de esas empresas que se consideran expertas en ver el futuro y realizar predicciones. Pues en  Singapore and Hong Kong, February 09, 2009 realizó las siguientes predicciones para el año 2009:

  1. Volver a lo básico. Se producirá un balance entre el ahorro de costes y el gobierno corporativo.
  2. Aumento del outsourcing. El ahorro de costes aumentará la demanda de servicios de outsourcing.
  3. Resurrección del SaaS. El estado económico actual ofrece una oportunidad al SaaS de implantarse con fuerza en el sector IT
  4. Buscas la plataforma que va a crecer? Piensa en PaaS. Es la pieza fundamental del cambio que se va a producir en el mercado de aplicaciones de software empresarial.
  5. Renueva el Data center, Transformarse para sobrevivir. Energía y espacio transformarán los Data Center.
  6. RIM (Remote Infrastructure Management). La crisis aumentará la presión para optimizar la eficiencia sobre todo en las áreas de data center e infraestructuras.
  7. Innovación en precios. Aparecerán nuevos modelos de precios en los que las empresas pagarán por lo que usan. Nuevos modelos innovadores de precios son necesarios para sobrevolar la crisis.
  8. Nuevos modelos de negocio. Se reformularán las formas de ofrecer productos y servicios.
  9. La Guerra por el mercado del SMB (PYME). Desde hace muchos años todas las empresas grandes de IT quieren penetrar en la PYME pero les está siendo complicado, IDC cree que las soluciones SaaS tendrán muchas posibilidades de poder penetrar en este mercado por sus reducidos costes, su capacidad de dimensionamiento y crecimiento.
  10. Empieza la competición por servicios de Hosting y espacio en la nube. La entrada de nuevos competidores como Amazon, Google,… cambiará notablemente el terreno de juego por la guerra de este negocio de futuro.

¿Qué voy a decir? que ojalá acierten, ya que parece que no vamos tan desencaminados.

bola-cristal

¿Por qué es una oportunidad el PaaS?

Llevamos ya tiempo hablando de los beneficios del PaaS Plataforma como Servicio y porque estamos empeñados en que nuestros clientes se vayan a la Nube. Lo que está claro que nuestro negocio es relativamente sencillo, si a nuestros clientes (desarrolladores de software, ISV) les va bien, pues a Velneo le irá de cine. Nuestro resultado es directamente proporcional a la rentabilidad que obtengan nuestros clientes en sus negocios.

1.- La demanda de Software en SaaS crecerá

Los grandes gurús en esto de la tecnología comunican al mercado que la demandada de aplicaciones en SaaS Software como Servicio de duplicará cada dos años hasta 2011.

saas

Pues claro, si la demanda de SaaS crece y nuestros clientes pueden tener faclidad para desplegar en PaaS se llevarán parte del pastel y eso será bueno para todos.

crecimiento-paas

Si se cumplen las previsiones y el 40% de la facturación del mercado del Software se pasa al SaaS, nuestros clientes serán unos grandes beneficiados por tener la facilidad de desplegar fácilmente en SaaS sus aplicaciones.

2.- La demanda del SaaS crecerá en todas las categorias

La demanda del SaaS, crecerá poco a poco desde los nichos menos críticos para la gestión (CRM, RRHH) abarcando todo un espectro de aplicaciones que rodeará el Core del negocio. Elegir un buen nicho es algo básico para que tu negocio crezca como la espuma.

categorial

Según Gartner: “En el 2012, más del 66% de los vendedores independientes de Software (ISV) ofrecerán algunas de sus aplicaciones opcionalmente o exclusivamente en SaaS”

gartner

Si esto se cumple Velneo estará preparado para ofrecer los servicios necesarios para que sus clientes presentes y futuros puedan adecuarse a las necesidades de este mercado emergente. Cada vez tengo más claro que la previsión de Gartner será cierta, que cada ISV tendrá alguna pequeña aplicación que ofrecerá en SaaS, además la ventaja con Velneo es que el desarrollador puede elegir en que modalidad venderá sus aplicaciones sin en SaaS o en módelo tradicional (In-house).



3.- Capital riesgo se decanta por SaaS

Según Dow Jones Venture Source, en los próximos años las inversiones por parte de Capital riesgo en proyectos SaaS crecerá en un 27% hasta llegar a una inversión de 902.6 Millones de Dólares, deseamos que parte de este dinero vaya a parar a algunos de nuestros clientes.

vc


4.- Un nuevo modelo de negocio

La tecnología SaaS, aporta al (ISV) un nuevo modelo de negocio que a largo plazo será más beneficioso para la comunidad. Tanto en Velneo como anteriormente en otras empresas siempre aposté por el modelo de suscripción y puedo asegurar que a largo plazo aporta muchas satisfaciones. Los primeros años es un modelo duro por el que hay que apostar e invertir. Por el contrario a largo plazo (+de tres años) aporta tranquilidad a la compañía al no depender exclusivamente de la volatilidad de la venta nueva.

modelo-negocio2

Definición de PAAS – Plataforma como Servicio

Paas (Platform as a Service o Plataforma como Servicio) es el resultado de la aplicación al desarrollo de Software del modelo SaaS ( Software como servicio). El modelo PaaS abarca el ciclo completo para desarrollar e implantar aplicaciones desde Internet. El referente en España es Velneo, es la plataforma como servicio pionera y referente.


PaaS incluye todas las facilidades al programador para prototipar, análizar, desarrollar, testear, documentar y poner en marcha aplicaciones todo en un sólo proceso. Paas da servicio de integración de la base de datos, seguridad, escalabilidad, almacenaje, copias de seguridad, versioning, y facilidad para colaborar en la comunidad.

Todos estos servicios son ofrecidos e integrados en una sola solución PaaS a través de Internet.


Características del PaaS

Servicios de Desarrollo, testeo, implantación, hosting, y mantenimiento de aplicaciones

Los diferentes Servicios PaaS ofrecen diferentes combinaciones de servicios y soporte de aplicación para el ciclo de desarrollo.
Arquitectura Multi-Usuario

Paas debe asegurar la escalabilidad del sistema al desarrollador. Debe de incluir facilidades para que el desarrollador pueda tener cuantos usuarios necesiten sus aplicaciones, manteniendo la seguridad y escalabilidad del sistema.
Soporte para desarrollo Colaborativo

La capacidad para desarrollar y compartir código fuente con diferentes desarrolladores, que pueden estar ubicados en diferentes emplazamientos geográficos. PaaS mejora la productividad de los equipo de desarrollo.

Factores para la Adopción de PaaS (desarrollo)

Para desarrollar Software se necesitan, BBDD, servidores, redes, y herramientas de desarrollo. Además necesitarás personal para mantener todo esto. Con PAAS te olvidas de esta parte y te centras en innovar y desarrollar.

No más costes de actualizaciones, el proveedor de PAAS soportará los costes de actualización, parches, S.O.,…. el desarrollador se olvida de muchas horas perdidas de trabajo.

Las aplicaciones se mueven de un estado a otro (prototipo, análisis, desarrollo, testing, documentación, operación y puesta en marcha) con un proceso simple y un rápido time to market.

Se comparten aplicaciones, código y conocimiento entre desarrolladores.

Repositorio común de aplicaciones y código.

Factores para la Adopción de PaaS (ejecución)

Cuando hemos acabado nuestro desarrollo, ponerlo al cliente en producción son unos click de ratón.

El cliente no se ve obligado a adquirir nuevo hardware o software.

Elimina los costes iniciales de licencias con lo que para el cliente la compra tiene menos riesgos.

Acceso desde cualquier dispositivo, en cualquier sitio, a cualquier hora.

Ahorre de costes para el desarrollador y el cliente


Factores en contra de la adopción del PaaS

Miedo por parte de desarrolladores y clientes a no tener la información en casa.

Dependencia de los sistemas de hardware de tu proveedor de PaaS

Dependencia de las conexiones a internet, si falta internet no funcionaría nada de tu sistema.

¿Qué es PAAS?

En la red existen diferente concepciones y definiciones sobre PAAS. Voy a intentar transmitir en este post lo que para mi aporta PAAS.

Lo primero y la gran diferencia entre PAAS y SAAS, es que PAAS se divide en dos grandes apartados:

  • Desarrollo de aplicaciones.
  • Ejecución de aplicaciones.

 

Desarrollo de Aplicaciones

 
*Para desarrollar Software se necesitan, BBDD, servidores, redes, y herramientas de desarrollo. Además necesitarás personal para mantener todo esto. Con PAAS te olvidas de esta parte y te centras en innovar y desarrollar.

*No más costes de actualizaciones, el proveedor de PAAS soportará los costes de actualización, parches, S.O.,…. el desarrollador se olvida de muchas horas perdidas de trabajo.

*Las aplicaciones se mueven de un estado a otro (prototipo, análisis, desarrollo, testing, documentación, operación y puesta en marcha) con un proceso simple y un rápido time to market.
*Se comparten aplicaciones, código y conocimiento entre desarrolladores.

*Repositorio común de aplicaciones y código.

 
 

 
 

Ejecución de Aplicaciones

 

* Cuando hemos acabado nuestro desarrollo, ponerlo al cliente en producción son unos click de ratón.

* El cliente no se ve obligado a adquirir nuevo hardware o software.

*Elimina los costes iniciales de licencias con lo que para el cliente la compra tiene menos riesgos.

*Acceso desde cualquier dispositivo, en cualquier sitio, a cualquier hora.

 
 
 
 

Bibliografía utilizada:
http://www.salesforce.com/paas/
http://www.bungeelabs.com/platform/definepaas.html
http://softwareyservicio.wordpress.com/