Buen día.!


Como leyeron en el titulo es posible desarrollar  una aplicacion web de forma 100% desatendida de un ordenador especifico, pero se preguntaran ¿Que tiene esto de bueno ? bien les dare una breve lista del porque considerar desarrollar por completo en la nube:


Pros:
  • No alojas nada de contenido en tu PC.
  • Esta disponible en cualquier parte Geografica.
  • Puedes hacer retoques rapidos  de tu aplicacion con solo una conexion a internet.
  • Es multiplataforma(depende de un Navegador o Navegadores Web)
  • No necesitas recursos de RAM o Procesador extra mas que el Navegador
  • No necesitas Programas instalados o SDK's en tu Disco duro y registro.

Contras:

  • Necesitas siempre una conexion a internet
  • Necesitas re-clonar cada cierto tiempo en una PC local para tener un BackUp


Bien si seguiste leyendo es porque ya tomaste una desicion y comenzaras a desarrollar codigo en la nube.
Lo primero que tenemos que hacer es suscribirnos a dos servicios, uno de ellos sera nuestro servidor donde ejecutaremos nuestro codigo y el otro sera nuestra interfaz de desarrollo, nuestra bien conocida IDE.

Si se preguntaran porque utilizaremos dos servicios en lugar de uno solo, (que es factible porque nuestro servidor estara alojado en Openshift y podemos dividirlo para tener mitad IDE mitad Servidor de Ejecucion) la razon de esto es bastante simple, no queremos depender de un solo servicio y queremos nivelar la carga para que Openshift destine todos los recursos de nuestros Gears (unidad de procesamiento de Openshift y su PaaS ) al servidor y no a mantener activa la IDE lo que significaria que dedicariamos procesamiento a mostrar la IDE y no queremos saturar esto porque los servicios son gratuitos.


Nuestra IDE sera cloud9 entre los servicios que presta de forma gratuita estan:



Cloud9 Ide

  •  Disk Space
  •  RAM
  • Sudo Shell Access/Terminal
  • 1 Workspace Privado (los demas seran publicos por defecto a menos de que paguemos)`
  • Algunas instancias de ejecucion Preinstaladas como:
    • Node.js
    • Django + Python
    • Wordpress
    • PHP


Bien podriamos usar cloud9 como IDE + Servidor sin embargo es mas practico gestionar bases de datos en OpenShift que en Cloud9 (si leiste bien dije base de datos!), ahora que conocemos que tiene Cloud9 en su version gratis veremos que tiene en la otra esquina Openshift.




  • 3 Gears Pequeños (unidad de procesamiento cada gear es como )
  • 3 Host de aplicaciones (subdominio con terminacion rhcloud.com)
  • Algunos frameworks preinstalados como ser:
    • JAVA
    • Node.js
    • PHP
    • Python
    • Ruby
    • Go (lenguaje de programacion de Google)
  • Algunas aplicaciones preinstaladas (aplicaciones instantaneas)
    • Jenkins Server
    • Drupal
    • Wordpress
    • Moodle
    • Magento
    • Rhocode
    • ownCloud (similar a Google Drive es una implementacion Open Source de este)
  • Base de datos Privadas! (esto es bastante bueno ) Entre ellas:
    • MySQL
    • Progress SQL
    • MongoDB
  • Soporte de RedHat (es RetHat..... ¿tengo que decir algo mas?)
  • Acceso completo a Terminal SSH (privilegios de $ dentro de cada Gear, son Sandbox)
  • Hasta 3 GB de espacio (1 por cada Gear)


Como pueden ver ya hasta aqui tenemos mas que suficiente para poder iniciar una pequeña o mediana aplicacion aclaro que esto sera mas nuestro patio de Juegos recomiendo consultar los precios de Openshift en su version de pago para obtener soporte una vez que nos pongamos serios y si no nos gusta Bajamos todo por medio de Git a nuestro PC con un simple 

Git Clone ssh://<clave del Gear Openshift>

Este es el fin del primer tutorial(explicacion de los servicios) pronto estare subiendo la segunda parte. Saludos!