Ver Mensaje Individual
  #7  
Antiguo 15-07-2014
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por duilioisola Ver Mensaje
Si haces un programa de escritorio y lo pones dentro de un servidor con Terminal Service tendrás tu programa en la nube.
Hay que estirar bastante el concepto de nube para usar un servicio de intranet/extranet como Terminal Service pa' decir que es la nube.

----

La "nube" es básicamente una forma de decir "Aplicaciones/Servicios n-tier interconectadas por protocolos de internet". Esto incluye no solo "paginas web" sino también las apps de dispositivos como iOS que de alguna manera utilizan un backend y/o otros servicios Saas (https://en.wikipedia.org/wiki/Software_as_a_service) y PAAS (https://en.wikipedia.org/wiki/Platform_as_a_service).

Aunque se puede argumentar que una paginita en PHP es la "nube", en la practica este concepto se entiende no solo como el usar tecnologías web, sino la FORMA como eso se usa, a un nivel estratégico & de implementación, al igual que su enfoque.

Algunos de los temas comunes en este tipo de apps:

- ES una app. NO una pagina ni un sitio web. -Aunque la app *puede* ser implementada con tecnologías asociadas con pagina y/o sitios web. Un ejemplo: Pinterest, Facebook. En cambio, el sitio web de una empresa no entraria en el concepto.

- Esta hecha para *escalar* bajo demanda. Si de pronto pasas de 10 a mil usuarios en *un dia* la app responde adecuadamente.

- NO necesariamente es una app para consumidores. Puede ser que ofrezcas un API, un PAAS, un SAAS o un BAAS o una combinación de todo esto. Por ejemplo, si haces un servicio con un API REST que genera documentos en PDF en base a datos que envias por JSON, CVS o similar

- Comúnmente, se construyen en parte o en totalidad sobre Amazon Web Services, Azure, Heroku y similares. Montarlo sobre el típico LAMP? Eso NO basta. Todo porque:

- Lograr la escalabilidad, flexibilidad y resilencia de una app en la nube requiere destrezas y tecnologias complementarias (o que reemplazan en su totalidad) al típico: 1 motor sql, un lenguaje de scripting, una pagina o app de escritorio. Esto incluye:

* Capacidad elastica de crear/destruir servidores, servicios de aplicaciones y similares bajo demanda (crear un servidor web y/o de base de datos y/o de apps y/o de dns y/o etc cuando se necesite)

* (Posiblemente) Uso de librerías de cacheo (ie: Redis)

* (Posiblemente) Uso de uno o mas engine NOSQL (ie: Redis, MongoDB, Cassandra)

* (Posiblemente) Uso de uno o mas engines de SQL (ie: Postgres, MySql, ...)

* Exponer un API. Esto es casi una marca definitoria de las apps en la nube. NO tiene que ser un api publica. Pero para orquestar todo la app 2-tier no es tan común, aunque sucede.

* Consumir 1 o mas servicios de SAAS, PAAS, BAAS, APARTE DE LOS QUE TU HAGAS. Es muy difícil armar todo esto, así que esto es una característica definitoria. Ejemplos: parse.com, Apple Push Service, Google Maps API, Azure Mobile Services, Heroku PostgreSql, Amazon S3, Google App Engine, Amazon Elastic Cloud, New Relic, etc


Lo mas popular para armar este tipo de soluciones es usar Python, Ruby, GO, Node, HTML5, iOS, Android, Redis, Mongo, Postgres, MySql, Cassandra, Couchdb, REST, JSON.

Delphi nunca se ve en el radar mas allá de foros como este y de lo que cuenta embarcadero, lo que implica que es mas esforzado hacer parte del ecosistema (de hecho creo que muchos ni saben que tal cosa llamada delphi existe. Lo que no tiene que ver con su popularidad, porque he visto gente usando erlang, elixir, scala, y muchos otros lenguajes de nicho y tecnologias raras que están mucho mejor situados que delphi. No ayuda lo costoso de su entrada y uso).
__________________
El malabarista.
Responder Con Cita