Está en la página 1de 18

Alternativas de solucin

Viviana Alexandra Snchez Garca 296592

Henry garzon Taller n.2

Software El software se refiere a los programas y datos almacenados en un ordenador. En otras palabras, son las instrucciones responsables de que el hardware (la mquina) realice su tarea. El lenguaje utilizado por el software, para comunicarse con el hardware, es de tipo binario, viene en forma de instrucciones, las cuales son ejecutadas, por cada una de las partes del hardware (monitor, mouse, teclado, impresora, CPU, CD-ROM, disco duro, etc). Clasificacin del software El software puede dividirse en dos categoras basicas: 1. Software de sistema 2. Software de aplicacin Software de sistema Es el software bsico o sistema operativo. Es un conjunto de programas que controlan los trabajos del ordenador o computadora. SE encarga de administrar y asignar los recursos de hardware. Software de aplicacin Son los programas que controlan y dirige las distintas tareas que se realizan las computadoras. Creando un ambiente amigable entre el pc y el usuario. Llevan a cabo tareas de tratamiento de textos, gestin de bases de datos y similares.

software de sistema, denominado tambin software de base, consiste en programas informticos que sirven para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas; en contraposicin del llamado software de aplicacin. Como ejemplos cabe mencionar a las bibliotecas como por ejemplo OpenGL para la aceleracin grfica, PNG para el sistema grfico o demonios que controlan la temperatura, la velocidad del disco duro, como hdparm, o la frecuencia del procesador como cpudyn.... El software de sistema por antonomasia es Microsoft Windows, que entre todas sus versiones 1 acumula cerca de un 90% de la cuota de mercado. Mencin especial merece el proyecto GNU, cuyas herramientas de programacin permitieron combinarse con el ncleo informtico basado en Unix denominado Linux, formando entre ambos las conocidas como distribuciones GNU/Linux. A diferencia de la plataforma de Microsoft u otros ejemplos como Mac OS, es software libre. Estos programas realizan diversas tareas, como la transferencia de datos entre la memoria RAM y los dispositivos de almacenamiento (disco rgido, unidades de discos pticos, etc) entre otros. Tipos: Cargadores de programas Sistemas operativos (y sus componentes, muchos de los cuales pueden considerarse como software de sistema) Controladores de dispositivos Herramientas de programacin: compiladores, ensambladores, enlazadores, etc. Programas utilitarios

Entorno de escritorio / Interfaz grfica de usuario (que pueden incluir Gestores de ventanas) Lnea de comandos BIOS Hipervisores Bootloaders (Gestor de arranque)

Si el software de sistema se almacena en una memoria no voltil tal como circuitos integrados, usualmente se lo denomina firmware. Sistema operativo

Un sistema operativo (SO) es un programa o conjunto de programas que en un sistema informtico gestiona los recursos de hardware y provee servicios a los programas de aplicacin, y se ejecuta en modo privilegiado respecto de los restantes. En cuyo caso, son manejados mediante una Interfaz Grfica de Usuario, un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o control remoto si es un DVD y, mediante una lnea de comandos o navegador web si es un enrutador. Lenguaje de programacin

Un lenguaje de programacin es un idioma artificial diseado para expresar procesos que pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para 1 expresar algoritmos con precisin, o como modo de comunicacin humana. Est formado por un

conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. Tambin la palabra programacin se define como el proceso de creacin de un programa decomputadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos: El desarrollo lgico del programa para resolver un problema en particular. Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa). Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina. Prueba y depuracin del programa. Desarrollo de la documentacin.

Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y 'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como por ejemplo HTML (lenguaje para el marcado de pginas web que no es propiamente un lenguaje de programacin, sino un conjunto de instrucciones que permiten disear el contenido de los documentos). Permite especificar de manera precisa sobre qu datos debe operar una computadora, cmo deben ser almacenados o transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante de los lenguajes de programacin es precisamente que ms de un programador pueda usar un conjunto comn de instrucciones que sean comprendidas entre ellos para realizar la construccin de un programa de forma colaborativa.

Histria Es comnmente aceptado que la historia de la computacin moderna comienza con Charles Babbage, en 1822, sin embargo las primeras computadoras mecnicas y elctricas no contaban con un lenguaje de programacin tal como lo conocemos ahora, la mayora de ellas era construida para llevar a cabo una tarea especifica; por lo tanto la forma de programarla era particular a cada computadora. Fue en el ao de 1945 cuando el matemtico Jhon Von Neumann[1] fascinado por las posibilidades de ENIAC[2], elabor un estudio que demostr que una computadora poda tener una estructura fsica muy simple y fija, y aun as ser capaz de ejecutar cualquier tipo de programa mediante un control correcto, sin la necesidad de modificar la computadora para esto.

A partir de esta innovacin de Von Neunmann, que en conjunto se conoce como la tcnica de programa almacenado es que se inicia la era de los lenguajes de programacin.

Los primeros lenguajes Shortcode En 1949,aparece el primer lenguaje que se us en computadoras electrnicas: Shortcode, requera que el programador convirtiera (compilara) su programa a 0's y 1's de manera manual. A-0 Fue hasta el ao de 1951, que Grace Hopper[3] trabajando para Remington Rand, comienza a desarrollar el primer compilador, lo que trajo consigo una programacin ms rpida. Fortran

Es en el ao de 1957 cuando aparece el primero de los grandes lenguajes de programacin de uso an actualmente: FORTRAN, que proviene de FORmula TRANslating system. Fue desarrollado por IBM para cmputo cientfico, el lder del proyecto fue John Backus, que despus contribuira en ALGOL. El lenguaje original solo inclua FOR, DO y GOTO. Tambin defini los tipos de datos bsicos: TRUE, FALSE, integer, real, double presicion. El lenguaje original era bueno manejando nmeros, pero malo manejando entrada y salida, lo cual propicio la aparicin de otros lenguajes orientados a negocios. LISP En el ao de 1958, el profesor John McCarthy[4] del M.I.T. comenz a desarrollar la teora de un lenguaje de de procesamiento de listas. En 1959 aparece publicamente la primer implementacin llamada LISP 1.5. En 1960 McCarthy publica un histrico articulo[5] acerca de los fundamentos de LISP que hizo por la programacin lo mismo que hizo Eucldes por la geometra, demostrar como con unos cuantos operadores y una notacin para funciones es posible construir un lenguaje de programacin completo[6]. Es importante hacer notar que McCarthy no solo marco un hito en la historia los lenguajes de programacin sino que creo un modelo de programacin que ha demostrado ser superior, tanto que podemos decir que en la actualidad existen dos grandes modelos de programacin el de C y el de Lisp, y podemos notar que los lenguajes del modelo C tratan de parecerse cada vez mas a Lisp. ALGOL En el ao de 1958 un comite crea la especificacin del lenguaje ALGOL, la tenia la particularidad de no definir la manera de manejar entrada y salida, dejando esta parte libre a cada implementacin. Es en 1960 cuando aparece el lenguaje ALGOL 6.0 el primer lenguaje estructurado en bloques. Este lenguaje fue muy popular en el segundo lustro de los 60's. Su principal contribucin es ser la raiz del arbol que ha producido lenguajes tales como pascal, C, C++, y Java. COBOL En 1959, Conference on Data Systems and Languages (CODASYL) crea COBOL, un lenguaje para negocios; que fuera facil de aprender para gente que no tuviera formacin en ciencias de la computacin. Sus nicos tipos de datos fueron cadenas y nmeros. Lo que le dio la caracterstica de poder agruparlos en arreglos sencillos, de modo que los datos podian ser organizados y seguidos de una mejor manera. Las sentencias de COBOL se parecen mucho a las usadas por el idioma ingls, haciendo que fuera fcil de aprender. Todo esto con la finalidad de que los negocios promedio lo pudieran aprender y usar. Otros de los primeros tiempos

Existieron otros lenguajes de programacin en los primeros tiempos, sin embrago la tarea de describir las caractersticas de cada uno es demasiado ambiciosa para este pequeo trabajo asi que solo se mencionan brevemente:

1946 Plankalkul del aleman Conrad Zuse aplicado para jugar ajedrez. 1952 Autocode un compilador de Alick E. Glennie. 1960 APL de Kenneth Iverson. 1962 SNOBOL de la empresa sure-fire.

Para ver una lista mas completa de los lenguajes de programacin existentes se sugiere visitar la pgina de rick Lvnez: http://www.levenez.com/lang/ que mantiene un poster de la historia de los lenguajes de programacin en una lnea de tiempo. Otra pgina recomendable es la de Bill Kinnersly:http://people.ku.edu/~nkinners/LangList/Extras/langlist.htmque mantiene una lista de los lenguajes de programacin que han existido, y actualmente contiene aproximadamente 2,500 lenguajes de programacin.

Desarrollo de los lenguajes de programacin Basados en los primeros lenguajes de programacin han surgido muchos otros lenguajes que siempre tienen la intencin de tomar lo mejor, desechar lo malo, y agregar alguna novedad, respecto a los existentes. Solo se hace referencia a los mas conocidos. Basic Inventado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el Colegio Dartmounth. Es un lenguaje muy limitado que fue diseado para personas que no fueran del rea de ciencias de la computacin. El nombre de BASIC, significa Beginners All-purposeSymbolic Instruction Code. Los ocho principios de diseo de BASIC fueron: 1. Ser fcil de usar para los principiantes. 2. Ser un lenguaje de propsito general. 3. Permitir que los expertos aadieran caractersticas avanzadas, mientras que el lenguaje permaneca simple para los principiantes. 4. Ser interactivo. 5. Proveer mensajes de error claros y amigables. 6. Responder rpido a los programas pequeos. 7. No requerir un conocimiento del hardware de la computadora. 8. El lenguaje se baso en Fortran y Algol 6.0

Pascal Diseado por Niklaus Wirth[7], como una herramienta de enseanza de la programacin. Sus desarrolladores se concentraron en desarrollar buenas herramientas que contribuyeran a la enseanza, tal como un buen debugger, y un buen editor. Adems tuvieron como meta el tener soporte para la mayora de los microprocesadores populares en esa poca en las instituciones de enseanza. Fue diseado de una manera muy ordenada, reflejando la experiencia de su diseador, tomo las mejores caractersticas de los lenguajes de su tiempo, COBOL, ALGOL, y FORTRAN, al mismo tiempo que busco evitar sus deficiencias, y hacerlo lo mas claro posible. La combinacin de sus caractersticas de entrada/salida, y sus solidas caractersticas matemticas pronto lo convirtieron en un lenguaje muy exitoso. Tambin implemento el tipo apuntador y agrego el CASE, e hizo uso de variables dinmicas. Sin embargo no implemento arreglos dinmicos ni agrupamiento de variables lo cual contribuyo a su perdida de popularidad frente a nuevos lenguajes. Delphi es una versin moderna y orientada a objetos de Pascal. Prolog Diseado en 1970 en la universidad de Aix-Marseille por los profesores Alain Colmerauer y Phillipe Roussel, su nombre proviene del francesProgramation et Logique, es popular en los circulos de interes en Inteligencia Artificial. Inicialmente era un lenguaje interpretado, hasta que a mediados de la decada de los 70's David Warren desarrollo un compilador, que convertia el programa en Prolog a un conjunto de instrucciones de una mquina abstracta denominada Warren Abstract Machine, o WAM. Su sintaxis y semantica son considerados simples y claros, su paradigma de programacin es el declarativo y un programa en Prolog se compone declusulas que constituyen reglas del tipo modus ponens, es decir, "Si es verdad el antecendente, entonces es verdad el consecuente". No obstante, la forma de escribir las clusulas es al contrario de lo habitual. Primero se escribe el consecuente y luego el antecedente.

C Fue diseado en 1971, por Dennis Ritchie[8] y Ken Thompson[9] mientras trabajaban para los Laboratorios Bell, y se baso en los lenguajes de programacin B y BCPL. Se basa en el paradigma imperativo y desde su creacin estuvo pensado para programacin de sistemas operativos, se creo para usarse en UNIX, y crecio de la mano del desarrollo de UNIX, lo que propicio la creacin de caractersticas avanzadas tales como variables dinmicas, multitarea, manejo de interrupciones, forking y un poderoso manejo entrada/salida de bajo nivel. Debido a esto C es comunmente usado para programacin de nivel de sistema en UNIX, Linux y Mac. Se trata de un lenguaje no fuertemente tipeado demedio nivel pero con muchas caractersticas de bajo nivel. Dispone de las estructuras tpicas de loslenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Destaca su gran riqueza de operadores y expresiones.

C++ A finales de los 70's y principio de los 80's un nuevo modelo de de programacin fue desarrollado, la programacin orientada a objetos, la idea bsica es que los objetos son piezas de cdigo autocontenidas y reusables. Bjarne Stroustroup[10], tambin de los Laboratorios Bell, desarrollo un nuevo lenguaje basado en C que aplica los conceptos de la programacin orientada a objetos, inicialmente se llamo C con clases, para posteriormente tomar su nombre definitivo C++ cuando fue publicado en 1983. Las principales caractersticas del C++ son abstraccin, el soporte para programacin orientada a objetos y el soporte de plantillas o programacin genrica. Por lo cual , se puede decir que C++ es un lenguaje multi paradigma que abarca tres paradigmas de la programacin: La programacin estructurada, la programacin genrica y la programacin orientada a objetos. Actualmente cuenta con un estndar ISO y es muy popular en la programacin de aplicaciones. Perl Perl (Practical Extraction and Report Language), fue desarrollado por Larry Wall[11], inicialmente motivado para cubrir las carencias de sed y awk y las limitaciones del shell, su primer versin publica fue anunciada en el Newsgroup comp.sources.misc el 18 de diciembre de 1987. Actualmente Perl es un lenguaje de propsito general, usado para amplia gama de tareas que incluyen administracin de sistemas, desarrollo web, programacin en red, desarrollo GUI, si lo deseas, puedes programar orientado a objetos y mucho mas. Es uno de los lenguajes mas flexibles y poderosos, junto con Lisp, permite desarrollar prcticamente cualquier cosa con el, es poderoso, flexible y expresivo. Perl es libre y es divertido, permite ser creativo y no te ata a las restricciones impuestas por el diseador del lenguaje, en Perl siempre hay mas de una manera de hacer las cosas. Sin embargo, esta flexibilidad y poder no son apreciados por los programadores promedio que prefieren lenguajes mas simples y fciles de aprender, por lo cual Perl es el blanco de muchas criticas nacidas de la ignorancia. Perl es multiplataforma y desde hace muchos aos a demostrado en el mundo real producir cdigo completamente reusable sin necesitar programacin orientada a objetos.

Python Es un lenguaje interpretado e interactivo, creado por Guido Van Rossum[12] en 1991. Es completamente tipeado dinamicamente, usa manejo automtico de memoria, por lo cual es similar a Lisp, Perl, Ruby, Scheme y Tcl. Es desarrollado como proyecto de software libre, manejado por la Python Software Foundation. Tomo varias de sus caractersticas de Lisp.

Algunos lo consideran la "oposicin leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa. Los usuarios de Python consideran a ste mucho ms limpio y elegante para programar. Sin embargo esto es mas un punto de vista de sus usuarios que una realidad. Su facilidad de aprendizaje, su orientacin a programadores promedio, su limpieza de cdigo,hacen que sea uno de los lenguajes mas exitosos al momento de escribir el presente trabajo.

Ruby Es un lenguaje de programacin interpretado, orientado a objetos, con una sintaxis inspirada por Perl y Ada, que tambin tomo ideas de Lisp, Python, Dylan y CLU. Fue creado por Yukihiro Matsumoto[13], quien comenz su desarrollo en 1993, y lo publico en 1995. El nombre Ruby fue elegido para reflejar su herencia de Perl. Entre sus caractersticas tenemos:

Lenguaje de guiones interpretado: Posibilidad de realizar directamente llamadas al sistema operativo Potentes operaciones sobre cadenas de caracteres y expresiones regulares Retroalimentacin inmediata durante el proceso de desarrollo

Rpido y sencillo: Son innecesarias las declaraciones de variables Las variables son de tipo dinmico. La sintaxis es simple y consistente La gestin de la memoria es automtica

Programacin orientada a objetos: Todo es un objeto Clases, herencia, mtodos, ... Mtodos singleton Mixins por mdulos Iteradores y cierres

Tambin: Enteros de precisin mltiple Modelo de procesamiento de excepciones Carga dinmica Hilos

Ansi Common Lisp En abril de 1981, despus de una reunin patrocinada por DARPA, se unieron los esfuerzos de Symbolics, el proyecto SPICE, el proyecto NIL y el proyecto S-1 Lisp, para definir Common Lisp. Common Lisp fue diseado como una descripcin de una familia de dialectos de Lisp. Common Lisp recibi alimentacin de La Maquina Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp y Scheme. El libro Common Lisp: The language[14] es la descripcin de ese diseo. Su semntica fue dejada sin especificar en aquellas partes donde una fuerte especificacin pudiera ser un obstculo en el uso e investigacin de Lisp. En 1986 se formo un grupo de trabajo para producir un draft para un estndar ANSI de Common Lisp, entre las especificaciones que presento se encontraban estandarizaciones para portabilidad, facilidades de iteracin, manejo de grandes conjuntos de caracteres, un sistema de programacin orientada a objetos, entre otras, para una descripcin detallada ver[15] . El estndar ANSI Common Lisp fue publicado en 1994. Lisp se consolido como el lenguaje de programacin mas poderoso y flexible jamas inventado. Muchos de los lenguajes modernos han copiado la mayora de sus caractersticas[16], sin embrago no todas ya que entonces no podran decir que son un nuevo lenguaje sino simplemente otro dialecto de Lisp.

Java Java es una plataforma de software desarrollada porSun Microsystems, de tal manera que los programas creados en ella puedan ejecutarse sin cambios en diferentes tipos de arquitecturas y dispositivos computacionales. La plataforma Java consta de las siguientes partes: El lenguaje de programacin, mismo. La mquina virtual de Java o JRE, que permite la portabilidad en ejecucin. El API Java, una biblioteca estndar para el lenguaje

El lenguaje de programacin fue desarrollado por James Gosling[17], y sus equipo en Sun Microsystems,entre 1990 y 1994, pensado originalmente como un reemplazo de C++, orientado a dispositivos embebidos, y a la televisin interactiva, posteriormente que para rescatarlo del fracaso y fue reorientado hacia su aplicacin en la Web. Las cinco metas del lenguaje Java son: o o o o o Orientado a objetos Multiplataforma Soporte integrado para redes de computadoras Diseado para ejecutar codigo de fuentes remotas de modo seguro Facil de usar

Desde sus inicios Java no fue bien recibido por su falta de aportaciones originales, su lentitud, y su rigida estructura, sin embargo en base a intensas campaas de marketing Sun ha logrado que en los ambientes empresariales Java sea uno de los estndares sobre todo para aplicaciones del lado del servidor. Java tambin es presentado muchas veces como un lenguaje Libre lo cual no es completamente cierto[18][19].

Java Script Es un lenguaje de script basado en objetos, que se apoya en el modelo de prototipos. Es muy popular por su uso en sitios Web. Fue desarrollado por Brendan Eich[20], en su trabajo para Netscape, quien lo public en diciembre de 1995. Su sintaxis es parecida a la de C, y al igual que C utiliza el concepto de palabras reservadas, tiene soporte para expresiones regulares y UTF. Cuando se usa en Web, se conecta a travs de su interfaz DOM (Document Object Model) a las aplicaciones tanto del lado del cliente como del servidor. Gracias a esto es usado para crear poderosas aplicaciones web dinmicas. Desafortunadamente los diferentes navegadores exponen diferentes objetos y mtodos por lo cual es necesario escribir versiones especificas de un programa en Javascript para los diferentes tipos de navegadores. Entre las principales tecnologas para interactuar con DOM que usan JavaScript esta AJAX y DHTML.

Php Creado por Rasmus Lerdorf[21], en 1994, inicialmente eran una serie de scripts en Perl y posteriormente estos scripts fueron reescritos en C, que el usaba para algunas tareas Web. Inicialmente significaba Personal Home Page Tools, y fue publicado por primera vez el 8 de junio de 1995, actualmente su nombre oficial es: PHP Hypertext Preprocessor. Las caracteristicas mas destacadas de PHP son su facilidad de aprendizaje y que es software libre. Las anteriores caractersticas, sumadas a su amplio soporte a manejadores de bases de datos lo han convertido en uno de los lenguajes mas populares para programacin Web, los famosos desarrollos LAMP. Comparte caractersticas con otros lenguajes de programacin como C y perl y recientemente con Java. Ademas de ser usado en web, puede usarse desde la lnea de comandos y para construir GUI's con PHP-GTK.

C# Es un lenguaje orientado a objetos desarrollado por Microsoft, tomando ideas de C++ y Java, como parte de su estrategia comercial .Net. Esta normalizado, por ECMA quien en el ao 2001 publico la ECMA-334 C# Language Specification; en el ao 2003 se convirtio en un estandar ISO (ISO/IEC 23270). Ademas de la implementacion de Microsoft existen implementaciones libres como Mono y dotGNU. Gracias a la maquinara comercial de Microsoft y la amplia base de escritorios Windows, el uso de C# es muy extendido en entornos corporativos y en el mundo Windows en general. Los proyectos libres de C#, no son muy populares entre la comunidad del software libre, por la desconfianza hacia Microsoft y sus patentes. Conclusin La historia de los lenguajes de programacin es materia obligada y fascinante para cualquier interesado en la programacin. Permite tener un mejor panorama de que es y que no es cada lenguaje y as elegir de una mejor manera los que le interesen y profundizar en los fundamentos de cada uno para encontrar el adecuado a su necesidad con bases solidas, sin dejarse llevar por modas o mercadotecnia.

En este tipo de computacin todo lo que puede ofrecer un sistema informtico se ofrece como servicio,1 de modo que los usuarios puedan acceder a los servicios disponibles "en la nube de Internet" sin conocimientos (o, al menos sin ser expertos) en la gestin de los recursos que usan. Segn el IEEE Computer Society, es un paradigma en el que la informacin se almacena de manera permanente en servidores de Internet y se enva a cachs temporales de cliente, lo que incluye equipos de escritorio, centros de ocio, porttiles, etc. "Cloud computing" es un nuevo modelo de prestacin de servicios de negocio y tecnologa, que permite al usuario acceder a un catlogo de servicios estandarizados y responder a las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando nicamente por el consumo efectuado. El cambio paradigmtico que ofrece computacin en nube es que permite aumentar el nmero de servicios basados en la red. Esto genera beneficios tanto para los proveedores, que pueden ofrecer, de forma ms rpida y eficiente, un mayor nmero de servicios, como para los usuarios que tienen la posibilidad de acceder a ellos, disfrutando de la transparencia e inmediatez del sistema y de un modelo de pago por consumo. Computacin en nube consigue aportar estas ventajas, apoyndose sobre una infraestructura tecnolgica dinmica que se caracteriza, entre otros factores, por un alto grado de automatizacin, una rpida movilizacin de los recursos, una elevada capacidad de adaptacin para atender a una demanda variable, as como virtualizacin avanzada y un precio flexible en funcin del consumo realizado evitando adems el uso fraudulento del software y la piratera. La computacin en nube es un concepto que incorpora el software como servicio, como en la Web 2.0 y otros conceptos recientes, tambin conocidos como tendencias tecnolgicas, que tienen en comn el que confan en Internet para satisfacer las necesidades de cmputo de los usuarios.

Comienzos
El concepto de la computacin en la nube empez en proveedores de servicio de Internet a gran escala, como Google, Amazon AWS, Microsoft [1] y otros que construyeron su propia infraestructura. De entre todos ellos emergi una arquitectura: un sistema de recursos distribuidos horizontalmente, introducidos como servicios virtuales de TI escalados masivamente y manejados como recursos configurados y mancomunados de manera continua. Este modelo de arquitectura fue inmortalizado por George Gilder en su artculo de octubre 2006 en la revista Wired titulado Las fbricas de informacin. Las granjas de servidores, sobre las que escribi Gilder, eran similares en su arquitectura al procesamiento grid (red, parrilla), pero mientras que las redes se utilizan para aplicaciones de procesamiento tcnico dbilmente acoplados (loosely coupled), un sistema compuesto de subsistemas con cierta autonoma de accin, que mantienen una interrelacin continua entre ellos, este nuevo modelo de nube se estaba aplicando a los servicios de Internet.2

Beneficios

Integracin probada de servicios Red. Por su naturaleza, la tecnologa de "Cloud Computing" se puede integrar con mucha mayor facilidad y rapidez con el resto de sus aplicaciones empresariales (tanto software tradicional como Cloud Computing basado en infraestructuras), ya sean desarrolladas de manera interna o externa. 3 Prestacin de servicios a nivel mundial. Las infraestructuras de "Cloud Computing" proporcionan mayor capacidad de adaptacin, recuperacin de desastres completa y reduccin al mnimo de los tiempos de inactividad. Una infraestructura 100% de "Cloud Computing" permite al proveedor de contenidos o servicios en la nube prescindir de instalar cualquier tipo de hardware, ya que ste es provisto por el proveedor de la infraestructura o la plataforma en la nube. La belleza de la tecnologa de "Cloud Computing" es su simplicidad y el hecho de que requiera mucha menor inversin para empezar a trabajar. Implementacin ms rpida y con menos riesgos. Podr empezar a trabajar muy rpidamente gracias a una infraestructura de "Cloud Computing". No tendr que volver a esperar meses o aos e invertir grandes cantidades de dinero antes de que un usuario inicie sesin en su nueva solucin. Sus aplicaciones en tecnologa de "Cloud Computing" estarn disponibles en cuestin de das o horas en lugar de semanas o meses, incluso con un nivel considerable de personalizacin o integracin. Actualizaciones automticas que no afectan negativamente a los recursos de TI. Si actualizamos a la ltima versin de la aplicacin, nos veremos obligados a dedicar tiempo y recursos (que no tenemos) a volver a crear nuestras personalizaciones e integraciones. La tecnologa de "Cloud Computing" no le obliga a decidir entre

actualizar y conservar su trabajo, porque esas personalizaciones e integraciones se conservan automticamente durante la actualizacin.

Contribuye al uso eficiente de la energa. En este caso, a la energa requerida para el funcionamiento de la infraestructura. En los datacenters tradicionales, los servidores consumen mucha ms energa de la requerida realmente. En cambio, en las nubes, la energa consumida es slo la necesaria, reduciendo notablemente el desperdicio.

Desventajas

La centralizacin de las aplicaciones y el almacenamiento de los datos origina una interdependencia de los proveedores de servicios. La disponibilidad de las aplicaciones est ligada a la disponibilidad de acceso a Internet. Los datos "sensibles" del negocio no residen en las instalaciones de las empresas, lo que podra generar un contexto de alta vulnerabilidad para la sustraccin o robo de informacin. La confiabilidad de los servicios depende de la "salud" tecnolgica y financiera de los proveedores de servicios en nube. Empresas emergentes o alianzas entre empresas podran crear un ambiente propicio para el monopolio y el crecimiento exagerado en los servicios.4 La disponibilidad de servicios altamente especializados podra tardar meses o incluso aos para que sean factibles de ser desplegados en la red. La madurez funcional de las aplicaciones hace que continuamente estn modificando sus interfaces, por lo cual la curva de aprendizaje en empresas de orientacin no tecnolgica tenga unas pendientes significativas, as como su consumo automtico por aplicaciones. Seguridad. La informacin de la empresa debe recorrer diferentes nodos para llegar a su destino, cada uno de ellos (y sus canales) son un foco de inseguridad. Si se utilizan protocolos seguros, HTTPS por ejemplo, la velocidad total disminuye debido a la sobrecarga que estos requieren. Escalabilidad a largo plazo. A medida que ms usuarios empiecen a compartir la infraestructura de la nube, la sobrecarga en los servidores de los proveedores aumentar, si la empresa no posee un esquema de crecimiento ptimo puede llevar a degradaciones en el servicio o jitter altos.

También podría gustarte