Ver Mensaje Individual
  #11  
Antiguo 16-07-2014
Avatar de mamcx
mamcx mamcx is offline
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 newtron Ver Mensaje
Pues a mi lo que me preocupa es que en vez de ser una moda sea una tendencia que se consolide y nos pille fuera de juego.
La nube ya es una industria multimillonaria y totalmente consolidada. A proposito, el que algo sea o no moda no lo vuelve una razón para disminuir su importancia. Al igual que en cualquier industria, la nuestra se mueve por tendencias y esa es la razón por la que no estamos programando mainframes en estos dias.

Aunque es cierto que se puede "maquillar" ciertas cosas de como se hacen antes y hacerlas llamar "nube", tal como apunta casimiro -y que dependiendo del contexto, en especial ante un cliente/colega ultradesinformado esperando que le digan los buzzwords del momento... puede ser necesario- no se debe ignorar que la nube tiene aspectos diferenciados del resto de apps/web tradicional.

Si estamos hablando de tendencias o paradigmas:

1- Era MS: Apps locales, departamentales, mono/multi-usuario tipicamente 1-2 tier, donde ser parte del desktop (lease: Windows) es lo mas característico y cada app/dato es una isla. Aqui domina C++, VB. Las app son fundamentalmente "event driven", se comunican a duras penas en una intranet, y se puede 100% usar un solo lenguaje para resolver todas las necesidades de desarrollo. Aqui Delphi es muy fuerte.

2- Era internet: Genera dinamicamente paginas web con ligera funcionalidad de app e interactividad. Aqui domina PHP/LAMP. Las app son fundamentalmente "stateless + POST/GET". Siguen siendo islas. Es posible 100% hacer todo esto en UN SOLO servidor. Usar 1.000 servidores? Eso solo lo hace un grandote como Google.

3- Era nube: Apps altamente distribuidas en N-Servidores -que no necesariamente estan bajo tu control, sino contratados-, elasticas, que interoperan mediante APIs, que estan hechas en N-lenguajes & plataformas, que tienen interfaces en N-plataformas (html5, ios, desktop, etc). Son principalmente apps "stateless + POST/GET + PUSH/PULL + Event-Driven + Reactive + NOSQL/SQL + Caches + APIs + ...".

Usar 1.000 servidores? Eso lo puede hacer CUALQUIERA con una tarjeta de credito, a costos infimos.

Aproximadamente cuanto le costaria a newtron tener 1.000 servidores ya, en este instante?

http://calculator.s3.amazonaws.com/index.html

US 20 * 1 hora
* Sin contar costos extras, solo las maquinas. Obvio esto se sube, pero hombre, US 20 * 1000 servidores?


-----
Asi que lo que separa a las apps "nube" de las demas, y que esta implicito en el concepto de la palabra "nube" es la *escala* de la infraestructura y lo "nebuloso" de determinar todos los componentes, lo altamente distribuido y (potencialmente) intercambiable, el alcance global, no es para apps de intranet.

Osea, es lo *mismo* que antes pero si lo "mismo" es un casa, la "nube" es una ciudad entera (ie: La nube se construye, obviamente, en base a todo la tecnologia y modelos anteriores).

SIN EMBARGO hay aspectos que son exclusivos/nuevos que surgen exclusivamente para resolver problemas de estas soluciones.

Por ejemplo, estas son tecnologias/servicios que tienen sentido en la nube:

http://www.docker.com/

http://aws.amazon.com/es/products/?nc1=f_cc

De estas, EC2 es lo unico medio-parecido al modelo de sitio web "normal". S3, Elastic Load Balancing, Elastic Block Store, DynamoDB, Redshift, ElastiCache, Route 53, Elastic MapReduce, Kinesis, Data Pipeline, etc... son el resultado de necesidades que surgen con el tipo de problemas que se enfrentan quienes hacen apps en la nube, y que antes eran practicamente innecesarios.
__________________
El malabarista.
Responder Con Cita