Tipos de servicios de tecnología en la nube. ¿Qué es la computación en la nube? Aplicación de tecnologías en la nube

Una encuesta sociológica realizada en Estados Unidos mostró que el 54% de los encuestados está firmemente convencido de que nunca ha utilizado tecnologías en la nube. De hecho, la situación es completamente diferente: más del 95% de los usuarios de Internet utilizan tecnologías en la nube sin siquiera saberlo. Los usa cuando mira videos en línea, juega juegos en línea, descarga música a través de iTunes, revisa su correo de Gmail o accede a Facebook.

Entonces, ante nuestros ojos, y de manera completamente imperceptible para nosotros, se produjo una revolución en el campo de la tecnología informática.
Utilizamos programas cada vez más potentes y que consumen muchos recursos que requieren hardware cada vez más potente para su trabajo. Nos vemos obligados a operar con cantidades cada vez mayores de datos, y estos datos deben almacenarse en algún lugar. Pero si lo piensa, entonces este programa superpoderoso no lo usamos con tanta frecuencia, y sin él sería posible comprar una computadora más simple (como por su cuenta). Y tampoco necesitamos terabytes de datos todos los días.

Esa es más o menos la misma lógica (solo que, por supuesto, en un nivel más alto) fue guiada en 2006 por Eric Schmidt, quien entonces era el director de , proponiendo un nuevo modelo de tecnología informática. En realidad, no propuso nada fundamentalmente nuevo, la computación distribuida se usaba mucho antes, pero acuñó el término "nube" y después de su discurso, el modelo que propuso comenzó a desarrollarse rápidamente.

Los centros de datos actuales contienen enormes cantidades de potencia informática y enormes cantidades de espacio en disco. El software moderno y los canales de comunicación permiten que los servidores ubicados en diferentes continentes funcionen como un todo. Solo es necesario crear un sistema de acceso conveniente, y luego se puede proporcionar todo el conjunto de este poder a quienes lo necesitan. Las herramientas de virtualización le permiten dividir el poder de cómputo en consumidores individuales en cualquier proporción.

Y tal sistema de acceso fue desarrollado. Ahora el usuario puede acceder a recursos informáticos remotos a través del servicio web.
En el sector corporativo, varias áreas de tecnologías en la nube ya están operando y desarrollándose rápidamente.

Tipos de tecnologías en la nube

El primer nivel, el más bajo, es la provisión del derecho a usar software (SaaS) como servicio. El consumidor no necesita comprar software costoso y una estación de trabajo potente en la que pueda trabajar. No hay necesidad de mantener especialistas que instalarán, configurarán y mantendrán toda esta economía. Simplemente arrienda el derecho de usar este software y paga solo por el tiempo que usó. Además, puede funcionar en cualquier dispositivo que tenga acceso a Internet, ya sea una tableta o incluso un teléfono inteligente. Después de todo, todos los cálculos se realizan en el lado de la nube del proveedor y solo los resultados se muestran en el dispositivo del usuario.

El siguiente nivel es la prestación como servicio de la plataforma. Al mismo tiempo, el consumidor tiene a su disposición sistemas operativos, sistemas de gestión de bases de datos o herramientas de desarrollo y depuración sobre las que desarrollar y desplegar sus proyectos.

Y finalmente, al más alto nivel, toda la infraestructura de una gran red informática corporativa se proporciona al consumidor en la nube.
Bueno, ¿qué tenemos nosotros, los usuarios comunes, de las tecnologías en la nube? Ya hemos mencionado que a menudo usamos servicios desplegados en las nubes sin saberlo nosotros mismos. Además, tenemos a nuestra disposición decenas de almacenamientos en la nube diferentes. Todos ellos ofrecen aproximadamente la misma funcionalidad de servicios.

Por lo general, se le solicita al usuario que descargue e instale un pequeño programa y cree una carpeta para almacenar los archivos que desea colocar en el almacenamiento en la nube. Debe configurar los ajustes de sincronización para archivos y carpetas ubicados en la computadora local (como ) y en la nube. Todo lo que se almacenará en la nube estará disponible para usted desde cualquier dispositivo a través de una interfaz web. Puede abrir el acceso gratuito a una carpeta o archivo a cualquier persona enviándole el enlace correspondiente.

Echemos un vistazo a algunos de los repositorios más populares.

Windows 8 y Windows Phone 8 ya se crearon pensando en la nube, y lo mismo puede decirse de los sistemas operativos de Apple. El 90% del presupuesto de investigación de Microsoft se utiliza para desarrollar esta área en particular. Esto significa que el ritmo de desarrollo de las tecnologías en la nube solo aumentará.

Los estudiantes a menudo hacen preguntas: ¿Qué es la computación en la nube? ¿Qué son los servicios en la nube? ¿Qué es un sitio en la nube? ¿Qué significa nube, almacenamiento de archivos en la nube? ¿Cómo se utiliza la computación en la nube en la educación? ¿Servicio SaaS para ventas B2C y B2B? ¿Sistemas y soluciones SaaS ERP y SaaS CRM? ¿Qué modelos de computación en la nube se utilizan para desarrollar aplicaciones web? Centros de datos modernos sobre la base de los cuales se crean los servicios en la nube: ¿SaaS, PaaS e IaaS?

Primero, veamos qué son "nube" (nube) y "computación en la nube" (computación en la nube). "Nube" es un modelo innovador (concepto) de organización de la infraestructura de TI, que consiste en hardware y recursos de red configurables distribuidos y compartidos, así como software implementado en centros de datos remotos (nube) de proveedores (proveedores). Es decir, la nube es un nuevo enfoque para organizar la infraestructura de TI.

La computación en la nube es un modelo para proporcionar acceso remoto a los recursos informáticos compartidos que se distribuyen físicamente en muchos dispositivos remotos que forman la denominada nube.

La computación en la nube es un modelo de proporcionar al consumidor recursos informáticos escalables como un servicio a través de Internet. La computación en la nube es un modelo para presentar TI como un servicio al consumidor a través de Internet.

Analicemos la definición fundamental de computación en la nube, propuesta por el Instituto Nacional de Ciencia y Tecnología el 24 de julio de 2011.

Definición de "computación en la nube"

Computación en la nube- un modelo para proporcionar acceso a la red ubicuo y conveniente bajo demanda a un grupo de recursos informáticos configurables(por ejemplo, redes, servidores, almacenamiento, aplicaciones y servicios) que se pueden aprovisionar y liberar rápidamente con un esfuerzo mínimo de administración o interacción con el proveedor. Este modelo de nube está representado (descrito) por cinco características principales, tres modelos de servicio y cuatro modelos de implementación.

Características clave de la computación en la nube, que los distinguen de otros tipos de cálculos (recursos de Internet):

  1. Autoservicio bajo demanda. El consumidor, según sea necesario, automáticamente, sin interacción con cada proveedor de servicios, puede determinar y cambiar de forma independiente la potencia informática, como el tiempo del servidor, el volumen de almacenamiento de datos.
  2. Amplio acceso a la red (universal). Las capacidades informáticas están disponibles a largas distancias a través de la red a través de mecanismos estándar, lo que contribuye al uso generalizado de plataformas de cliente (dispositivos terminales) heterogéneas (delgadas o gruesas).
  3. Consolidación de recursos. Los recursos informáticos configurables del proveedor se agrupan para compartir recursos distribuidos con una gran cantidad de consumidores.
  4. Elasticidad instantánea de recursos (escalabilidad instantánea). Los servicios en la nube se pueden aprovisionar, expandir, contratar y lanzar rápidamente según las necesidades del consumidor.
  5. Servicio medible (contabilización del servicio consumido y la capacidad de pago de los servicios que realmente se utilizaron). Los sistemas en la nube administran y optimizan automáticamente el uso de recursos realizando mediciones en algún nivel de abstracción apropiado para el tipo de servicio.

Si el modelo (concepto) de proporcionar recursos informáticos configurables distribuidos y compartidos corresponde a las características anteriores, entonces esto es computación en la nube.

Modelos de servicios de computación en la nube o computación en la nube:

  1. Software como servicio ( SaaS) es software como servicio. En este modelo de entrega de computación en la nube, el consumidor utiliza las aplicaciones del proveedor que se ejecutan en la infraestructura de la nube, que están disponibles para el cliente a través de una interfaz (navegador web) o interfaz de programa. Los consumidores no pueden administrar ni controlar la infraestructura subyacente de la nube, incluida la red, los servidores, los sistemas operativos, los almacenes de datos o incluso cambiar la configuración específica de la aplicación.
  2. Plataforma como servicio ( PaaS) es una plataforma como servicio. Un modelo para proporcionar computación en la nube, en el que el consumidor obtiene acceso al uso de la plataforma de software: sistemas operativos, DBMS, software de aplicación, desarrollo de software y herramientas de prueba. De hecho, el consumidor recibe en alquiler una plataforma informática con un sistema operativo instalado y herramientas especializadas para desarrollar, hospedar y administrar aplicaciones web. El consumidor no administra la infraestructura subyacente de la nube, incluida la red, los servidores, los sistemas operativos o los almacenes de datos, pero administra las aplicaciones implementadas y posiblemente los ajustes de configuración del entorno.
  3. Infraestructura como un servicio ( IaaS) - Infraestructura como un servicio. Un modelo para proporcionar computación en la nube, en el que el consumidor tiene la oportunidad de administrar las instalaciones de procesamiento y almacenamiento, así como otros recursos informáticos fundamentales (servidores virtuales e infraestructura de red), en los que puede instalar de forma independiente sistemas operativos y programas de aplicación por su cuenta. propósitos De hecho, el consumidor alquila potencia informática abstracta (tiempo del servidor, espacio en disco y ancho de banda de la red) o utiliza servicios de subcontratación de infraestructura de TI. El consumidor no administra la infraestructura subyacente de la nube, pero administra los sistemas operativos, el almacenamiento y las aplicaciones que implementa.

Modelos de implementación de computación en la nube, es decir, computación en la nube:

  1. Nube privada (nube privada): una infraestructura diseñada para usar la computación en la nube a escala de una organización.
  2. Nube comunitaria: una infraestructura de nube que está diseñada para el uso exclusivo de computación en la nube por parte de una comunidad específica de consumidores de organizaciones que resuelven problemas comunes.
  3. Nube pública (nube pública): una infraestructura diseñada para el uso gratuito de la computación en la nube por parte del público en general.
  4. La nube híbrida (nube híbrida) es una combinación de diferentes infraestructuras de nube (privadas, públicas o comunitarias) que siguen siendo objetos únicos, pero están interconectados por tecnologías estandarizadas o propietarias que brindan la capacidad de intercambiar datos y aplicaciones.

Arroz. 1. Modelos de implementación de computación en la nube

Según la definición anterior de computación en la nube, los servicios en la nube se pueden representar como un modelo multicapa que consta de capas: IaaS, PaaS, SaaS. La base o fundamento de los servicios en la nube es infraestructura física (infraestructura física), es decir. servidores, almacenamientos, redes y software del sistema Centro de datos en la nube (cloud data center) o redes de centros de datos en la nube interconectados (Fig. 2).

Los centros de datos en la nube o centros de procesamiento de datos (DPC) contienen equipos físicos o hardware (servidores, almacenamiento de datos, lugares de trabajo), software de sistema (SO, herramientas de virtualización y automatización), software de herramientas y aplicaciones, sistemas de gestión de equipos (sistemas de gestión de equipos), red infraestructura (Infraestructura de red): enrutadores y conmutadores (enrutadores y conmutadores) para conectar y combinar equipos físicos. Además, el funcionamiento normal de los centros de datos es proporcionado por sistemas de soporte de ingeniería.

Arroz. 2. Arquitectura de computación en la nube (arquitectura de computación en la nube)

La primera capa de servicios en la nube - IaaS (infraestructura)

IaaS es la provisión de infraestructura informática y de red (servidores, almacenamiento, redes) al usuario y su mantenimiento como un servicio en forma de virtualización, es decir. infraestructura virtual. En otras palabras, a partir de la infraestructura física de los centros de datos o centros de datos, el proveedor (proveedor) crea una infraestructura virtual que brinda a los usuarios como un servicio. Las herramientas de virtualización le permiten convertir la infraestructura física de los centros de datos en una virtual y así crear la primera capa de servicios en la nube: IaaS.

¿Qué es la virtualización? La tecnología de virtualización de recursos permite que el equipo físico (servidores, almacenamiento de datos, redes de transmisión de datos) se divida entre los usuarios en varias partes que utilizan para realizar las tareas actuales. Por ejemplo, se pueden lanzar cientos de servidores virtuales en un servidor físico y el usuario puede asignar tiempo para acceder a ellos y resolver problemas. La implementación de la virtualización se puede llevar a cabo tanto a nivel de software como a nivel de hardware.

Por lo tanto, al usuario se le proporciona potencia informática elástica abstracta, por ejemplo, no un servidor o servidores, sino tiempo de servidor para procesar sus tareas. No discos para almacenamiento de datos, sino el espacio en disco necesario, no canales de comunicación, sino el ancho de banda de la red de canales de conmutación necesarios para resolver problemas.

Además de la virtualización, la automatización se utiliza para crear IaaS, que proporciona una asignación dinámica de recursos sin la participación del personal del proveedor de servicios, es decir. el sistema puede agregar o reducir automáticamente la cantidad de servidores virtuales, el espacio en disco para el almacenamiento de datos o cambiar el ancho de banda de la red de los canales de comunicación. La virtualización y la automatización brindan un uso eficiente de los recursos informáticos y reducen el costo de alquilar un servicio IaaS en la nube.

Por regla general, IaaS se arrienda (un servicio IaaS se proporciona en forma de subcontratación) a usuarios corporativos. Es decir, los usuarios reciben recursos integrados para crear su propia infraestructura informática. En este caso, el usuario deberá instalar y configurar el SO y los programas necesarios para realizar tareas de producción o desarrollar aplicaciones.

El concepto IaaS le permite al usuario comprar solo la potencia de cómputo que necesita para realizar tareas específicas. Los servicios de valor agregado de IaaS pueden incluir conectar cualquier equipo de usuario físico a la plataforma en la nube y colocarlo en una red de centro de datos.

La infraestructura como servicio es una solución de nivel empresarial para empresas de todos los tamaños. La infraestructura se puede ubicar tanto en el centro de datos de la empresa como en un centro de datos externo. Los servicios de IaaS están diseñados para crear y ejecutar nubes privadas, públicas e híbridas seguras. Los proveedores pueden proporcionar configuraciones de nube híbrida que combinen redes de área local en la oficina del cliente con redes de plataforma en la nube.

Además, los servicios de computación en la nube IaaS incluyen alojamiento en la nube (Cloud Hosting). El alojamiento en la nube es un alojamiento que puede proporcionar una asignación dinámica de recursos, tiene la capacidad de escalar recursos automáticamente y tiene una mayor tolerancia a fallas. El alojamiento en la nube es una alternativa esencial al alojamiento compartido, al alojamiento de servidor dedicado virtual VPS/VDS y al alojamiento de servidor dedicado físico.

El proveedor de alojamiento en la nube proporciona a los propietarios del sitio solo los recursos necesarios para el sitio: servidores virtuales, la cantidad de RAM y espacio en el disco duro, así como opciones para administrar la infraestructura de alojamiento (por ejemplo, elegir un sistema operativo, cantidad de RAM, tamaño y tipo de disco duro, número de núcleos de CPU, frecuencia de reloj y velocidad de acceso). El pago por el alquiler de alojamiento en la nube se realiza solo por el hecho de los recursos ya consumidos: la cantidad de tiempo del procesador, la cantidad de espacio en disco, la cantidad de RAM consumida y la velocidad de acceso al sitio.

Si es necesario, el inquilino (propietario del sitio web) del alojamiento en la nube puede cambiar los recursos de alojamiento o configurarlo para que aumente automáticamente los recursos cuando aumenta la carga, pero siempre pagará solo por los recursos ya consumidos. El alojamiento en la nube ha aumentado la tolerancia a fallas, ya que el sitio alojado en él se encuentra simultáneamente en varios servidores virtuales y la falla de uno de ellos no afectará el funcionamiento del sitio.

Actualmente, los hosters ofrecen alojamiento en la nube con un CMS preinstalado para alquilar. Los proveedores de alojamiento para organizar dicho alojamiento en la nube pueden, por ejemplo, implementar la plataforma Jelastic como infraestructura con CMS preinstalado en sus servidores. Jelastic ofrece una plataforma como infraestructura como una pila completa que permite implementar el alojamiento en la nube en la infraestructura del centro de datos físico de un proveedor de alojamiento.

La funcionalidad de la plataforma Jelastic le permite instalar CMS integrado con un entorno web optimizado con un solo clic, por ejemplo, Jelastic en Infobox. Jelastic es un producto que incluye funcionalidad PaaS y una infraestructura IaaS fácilmente configurable. Jelastic es una plataforma para ejecutar aplicaciones Java y PHP y puede ser utilizada no solo por hosters para organizar el alojamiento en la nube, sino también por corporaciones para crear un entorno de desarrollo (nubes privadas o híbridas) para aplicaciones web.

En el alojamiento en la nube, se colocan sitios en la nube: estas son aplicaciones modernas en la nube. En los sitios en la nube (aplicaciones en la nube), los datos se almacenan en bases de datos en la nube, las aplicaciones del servidor del sitio se almacenan y ejecutan en servidores virtuales en la nube, y el lado del cliente del sitio se ejecuta en el navegador del usuario.

El entorno de computación en la nube se puede crear sobre la base de soluciones en la nube Amazon EC2, IBM x86, Microsoft Azure, EMC, VMware, basado en la solución de código abierto OpenStack, RackSpace basado en OpenStack, etc., que le permiten transformar el centro de datos en un entorno de TI dinámico. Además, la computación en la nube utiliza bases de datos en la nube, i. bases de datos que se ejecutan en plataformas de computación en la nube. Como bases de datos en la nube, se utilizan modelos orientados a SQL y modelos de datos NoSQL.

Los servicios de IaaS se utilizan ampliamente en los EE. UU. En Ucrania, De Novo comenzó a proporcionar infraestructura en la nube para clientes corporativos basada en soluciones VMware, EMC, Microsoft Azure, etc. Sobre la base del mayor centro de datos ucraniano, VOLIA, se construyó la infraestructura de TI en la nube VoliaCLOUD de VMware (basada en soluciones en la nube de VMware), que cuenta con más de 500 centros de datos virtuales.

Mayor solución/proveedor de IaaS: Amazon Web Services/Amazon, IBM SmartCloud/IBM, SoftLayer IaaS/IBM, Azure Virtual Machines/Microsoft, Google Compute Engine/Google, HP Cloud/HP, EMC/EMC Corporation, Oracle Cloud Infrastructure Services/Oracle . Cabe señalar que IBM ofrece una infraestructura segura, abierta, de autoservicio (SoftLayer) o IaaS (IBM SmartCloud Enterprise+) totalmente gestionada de IBM SmartCloud.

Arroz. 3. Solución básica de computación en la nube de IaaS

Cabe señalar que actualmente se está trabajando para crear redes core en la nube de proveedores de banda ancha móvil (operadores móviles) como un servicio IaaS. Estos servicios incluyen, por ejemplo, la plataforma de telecomunicaciones en la nube de Huawei y la solución NSN Telco Cloud de Nokia Siemens Networks.

La plataforma Huawei FusionSphere proporciona virtualización de recursos informáticos, recursos de almacenamiento, recursos de red y organiza un único grupo de recursos informáticos configurables compartidos con un único mecanismo de programación y gestión. Nokia Siemens Networks ha realizado pruebas de extremo a extremo de servicios móviles clave que cubren Voz sobre LTE (VoLTE) y otros servicios de subsistema multimedia IP (IMS) impulsados ​​por Telco Cloud.

Segunda capa - PaaS (plataforma de software)

El servicio PaaS proporciona una plataforma de software y su mantenimiento como un servicio que consiste en:

  • SO: sistema operativo de red (sistemas Unix, incluidos Ubuntu Server, BSD/OS Family, Solaris/SunOS, etc. o Windows Server),
  • Base de datos: sistema de gestión de bases de datos DBMS (MySQL, Microsoft SQL, SQL Database, PostgreSQL, Oracle, etc.),
  • Middleware: software de capa intermedia o software intermedio (intermedio), que está diseñado para proporcionar interacción entre varias aplicaciones, sistemas y componentes,
  • Herramientas de desarrollo de software y pruebas: software de herramientas para desarrollar aplicaciones web y probarlas (entorno de desarrollo de software: marcos de software, bibliotecas, etc. para crear aplicaciones web en lenguajes de programación: Python, Java, PHP, Ruby, JS para Node.js, etc. .),
  • Servidor de aplicaciones: servidor de aplicaciones para desarrollar, probar, depurar y ejecutar aplicaciones web.

Entonces, PaaS ofrece a los desarrolladores de software los medios para desarrollar, probar, implementar y dar soporte a varias aplicaciones. Además, se proporciona al usuario herramientas de administración y gestión. PaaS se utiliza principalmente para desarrollar y alojar aplicaciones web (por ejemplo, aplicaciones distribuidas relacionadas: mashups SaaS, sitios en la nube, etc.).

Soluciones/proveedores clave de PaaS:

  • AWS Elastic Beanstalk/Amazon (Java, .NET, PHP, Node.js, Python, Ruby y Apache HTTP Server, Apache Tomcat, Nginx, Passenger e IIS),
  • IBM Bluemix/IBM (la plataforma en la nube de IBM Bluemix ofrece un entorno de solución único y una amplia gama de lenguajes y marcos para crear aplicaciones, como Liberty for Java™, SDK for Node.js™, ruby ​​on rails, ruby ​​​sinatra),
  • Microsoft Asure/Microsoft (ASP.NET, Java, PHP, Python, Django, Node.js y Azure SQL Database),
  • Google App Engine/Google (Python, Java, PHP, Go y nuestro MySQL),
  • Salesforce1 Platform Desarrollo de aplicaciones en la nube/Salesforce combina Force.com, Heroku y ExactTarget en una red de servicios en la nube y proporciona herramientas para desarrollar varias aplicaciones. Por ejemplo, para desarrollar aplicaciones móviles Salesforce1 Mobile App/Salesforce o bases de datos en la nube para desarrolladores de aplicaciones Database.com/Salesforce, etc.
  • Heroku/Salesforce (Ruby, Java, Node.js, Scala, Clojure, Python y PHP y PostgreSQL),
  • Servicios de Oracle Cloud Platform/Oracle (Oracle Database Cloud Service, Oracle Java Cloud Service, Oracle Database Backup Service),
  • OpenShift/Red Hat (Java, Java EE, Python, Perl, PHP, Ruby, Node.JS y MySQL, PostgreSQL, MongoDB),
  • Cloud Foundry/VMware (Java Spring, Ruby on Rails y Sinatra, NodeJS, .NET y MySQL Redis, MongoDB),

Arroz. 4. Solución básica de computación en la nube PaaS

Además de las soluciones PaaS enumeradas, los desarrolladores de aplicaciones web también utilizan otras conocidas soluciones de plataforma en la nube: dotCloud PaaS, SAP HANA Cloud Platform, CloudBees Platform, Rackspace, etc.

Tercera capa - SaaS (aplicación en la nube)

De acuerdo con el esquema SaaS, se entregan los siguientes tipos de aplicaciones en la nube y su mantenimiento: aplicaciones comerciales, aplicaciones web de Office, aplicaciones de administración, comunicaciones, seguridad, etc. SaaS es el más extendido en los EE. UU. Las aplicaciones en la nube más populares son: CRM (sistema de gestión de relaciones con el cliente), HRM (sistema de recursos humanos, es decir, con personal), ERP (sistema de planificación de recursos empresariales, por ejemplo 1C), aplicaciones de oficina, herramientas de comunicación, etc. Salesforce.com es el el proveedor más grande del mundo de aplicaciones CRM basadas en la nube.

Medios de comunicación significa correspondencia electrónica (por ejemplo, Gmail), chats de audio y video (por ejemplo, Microsoft Lync Online), Cloud PBX o PBX en la nube (por ejemplo, PBX virtual Mango-Office), servicio en la nube MDM (Mobile Device Management - mobile administración de dispositivos). El servicio en la nube de MDM está diseñado para funcionar con sistemas corporativos que utilizan dispositivos móviles.

Las aplicaciones, los llamados agentes, se instalan en varios dispositivos móviles que operan bajo el sistema MDM en la nube. Estas aplicaciones brindan configuración centralizada de dispositivos móviles y acceso a la red corporativa empresarial como un servicio de nube SaaS. Por regla general, las herramientas de comunicación en la nube se integran con otros servicios SaaS, por ejemplo, CRM + MDM, Office Web Apps + Lync Online, Google Docs + Gmail + Hangouts, etc.

Los principales consumidores de SaaS son las pequeñas y medianas empresas. La mayoría de las aplicaciones SaaS están diseñadas para admitir la colaboración entre empleados que trabajan juntos para resolver problemas comunes (Colaboración). La arquitectura de las aplicaciones SaaS, en las que una única instancia de aplicación que se ejecuta en un servidor atiende a muchos consumidores, es multiusuario, es decir, cada consumidor en el proceso de realizar tareas recibe su propia instancia de la aplicación virtual.

Software de aplicación principal:

  • Aplicaciones empresariales (CMR, FRM, IBM® B2B Cloud Services, Axway Cloud B2B, servicio amoCRM SaaS para B2B, Google Apps for Business),
  • Business Intelligence (PowerBI como parte de Office 365/Microsoft, Oracle Business Intelligence Managed Cloud Service, Anaplan/ADE Professional Solutions, Brand Analytics),
  • Aplicaciones web de Office (Google Docs, Office Online/Microsoft OneDrive, Office Web Apps/Microsoft, Zoho Docs, IBM SmartCloud Docs, etc.),
  • Aplicaciones de gestión (ERP/RENT 1C, HRM, SCM, MRP),
  • Comunicaciones (Gmail, Google Hangouts, Microsoft Lync Online, Cloud PBX o Cloud PBX, MDM),
  • Seguridad (Panda Cloud Email Protection, Panda Cloud Internet Protection, McAfee SaaS Email Protection & Continuity, Comfortway Mobile Security, etc.), etc.
  • Colaboración y Multiusuario (Documentos de Google, Sitios de Google, Microsoft Office Online, Office 365, Office Web Apps).

Proveedor/solución principal de SaaS: Salesforce1 Sales Cloud/Salesforce (CRM), Oracle Cloud Applications/Oracle (HR, CX, ERP, EMP, SCP, Business Intelligence), Google Apps/Google: suite ofimática de servicios en la nube (Google Docs, Google Drive , Google Sites, comunicación: Hangouts, Gmail, Google Calendar, etc.), IBM SmartCloud Docs/IBM, Microsoft Dynamics CRM, Microsoft OneDrive (Office Online, almacenamiento de archivos), Office 365/Microsoft (Office Web Apps, Lync Online, Exchange Online, SharePoint Online), Zoho Docs/Zoho (paquete de oficina en línea), Zoho Reports/Zoho (Business Intelligence), Zoho CRM/Zoho, Informatica Cloud MDM/Informatica, MaaS360/Fiberlink, Cloud PBX de Vonage Business Solutions, etc.

Arroz. 5. Solución básica de computación en la nube SaaS

Hay muchos otros servicios SaaS de computación en la nube, como Cisco WebEx, un servicio de conferencias web basado en la nube; CMS basado en el modelo SaaS (por ejemplo, la plataforma UMI.CLOUD SaaS); Modelo SaaS B2B/B2C de comercio electrónico; soluciones SaaS de marketing; Servicio antivirus Dr.Web basado en el modelo SaaS; SugarCRM es un sistema CRM comercial de código abierto; BPMonline CRM con herramientas de modelado y automatización de procesos de negocio, etc.

Cabe señalar que el concepto de computación en la nube (computación en la nube) implica la provisión de varios tipos adicionales de servicios en la nube a los consumidores: almacenamiento como servicio, base de datos como servicio, información como servicio , Proceso como servicio , Integración como servicio, Pruebas como servicio, etc. Existen, por ejemplo, numerosos almacenamientos en la nube para archivos de almacenamiento como servicio: Amazon Simple Storage Service (Amazon S3), DropBox, Google Drive, Microsoft OneDrive, etc.

¿Cómo se utilizan la computación y la tecnología en la nube en la educación? Google ofrece a las instituciones educativas aplicaciones en la nube Google Apps para la educación para la educación electrónica. Microsoft proporciona a los usuarios de instituciones educativas las capacidades de los servicios en la nube de Office 365 para la educación (Windows Azure en la educación). La introducción de la computación en la nube (Cloud Computing) en las escuelas y universidades proporcionará a los escolares y estudiantes una experiencia de aprendizaje muy cómoda.

Las perspectivas para la difusión de la computación en la nube, teniendo en cuenta su desarrollo actual, se exponen en el trabajo analítico "¿Dónde están las "nubes" en la compresa?

En conclusión, cabe señalar una vez más que todos los modelos de servicios de computación en la nube deben cumplir con las características principales de la computación en la nube, descritas en "The NIST Definition of Cloud Computing", que los distinguen de otros tipos de recursos de Internet.

Para asegurarse de que los recursos de Internet que se le ofrecen pertenecen a uno de los modelos de computación en la nube, compare sus características con las principales características de la computación en la nube propuestas por el Instituto Nacional de Estándares y Tecnología (autoservicio bajo demanda; grupo único de recursos compartidos). ; elasticidad o escalabilidad instantánea; pago solo por los servicios realmente utilizados; acceso universal a la red).

Esta sección le muestra cómo se puede usar la computación en la nube para enseñar los conceptos básicos de la programación. Se proporciona un ejemplo detallado de trabajo con un servicio web que le permite crear y depurar programas de capacitación en cualquier lenguaje de programación utilizando el servicio en la nube del sitio http://ideone.com.

La práctica de programación moderna implica el uso activo de herramientas especializadas de desarrollo integrado (IDE - Entorno de desarrollo integrado). Su uso está asociado con las siguientes dos dificultades:

  • La configuración e instalación de un IDE requiere un administrador de sistemas altamente calificado.
  • Los IDE modernos exigen bastante los recursos de la computadora en la que se utilizan.

Vamos a explicar cada punto en detalle. Para garantizar la funcionalidad completa del IDE, se requiere que las calificaciones del administrador del sistema que instala, configura y mantiene el IDE sean lo suficientemente altas. Esto lleva a la necesidad de contratar empleados altamente calificados para el puesto de administrador de sistemas en las instituciones educativas, cuyos salarios pueden ser una partida de gasto importante en el presupuesto de una institución educativa.

Además, los costos de una institución educativa pueden aumentar debido al hecho de que los IDE modernos requieren computadoras de alto rendimiento. Por ejemplo, uno de los IDE más comunes, Microsoft Visual Studio 2012, requiere un procesador de 1,6 GHz o superior, 1 GB de RAM (o 1,5 GB para una máquina virtual), 10 GB de espacio libre en disco para el funcionamiento normal. La mayoría de las tareas de las instituciones educativas no requieren de computadoras con tan alto rendimiento, por lo que comprarlas puede ser un lujo inasequible.

Ambos problemas se pueden resolver mediante el uso de tecnologías en la nube en la enseñanza de la programación. Actualmente, existe una gran cantidad de los llamados IDE en línea que no requieren instalación en la computadora del usuario y solo requieren un navegador de Internet para ejecutarse. Requisitos del sistema Los navegadores al hardware de la computadora han sido tradicionalmente modestos. Por ejemplo, el popular navegador web Mozilla Firefox 17 requiere un procesador de 1300 MHz, 512 MB de FSC y 200 MB de espacio libre en disco para la instalación, que es significativamente menor que las cifras proporcionadas anteriormente para Microsoft Visual Studio 2012 IDE.

Consideremos a continuación cómo puede usar el IDE en línea en instituciones educativas para enseñar los conceptos básicos de programación usando el ejemplo de http://ideone.com. Este servicio le permite crear textos en línea de programas en diferentes lenguajes de programación y ejecutar estos programas para su ejecución con la capacidad de analizar los resultados. Los principales elementos de trabajo de Ideone se muestran en la fig. 2.1.


Arroz. 2.1.

en campo" A"debes ingresar el texto del programa, y ​​en el campo " V"Tienes que seleccionar el que usas lenguaje de programación, entonces necesitas presionar el botón " enviar". Establece que Ideone es compatible con los siguientes 55 lenguajes de programación populares: Ada , Assembler , AWK , Bash , bc, Brainf**k, C, C#, C++, C++ 0x, C99 strict , CLIPS , Clojure, COBOL , Common Lisp ( clisp), D (dmd), Erlang, F#, Factor, Falcon, Forth, Fortran, Go, Groovy, Haskell, Icon, Intercal, Java, JavaScript, Lua, Nemerle, Nice, Nimrod, Node.js, Objective-C, Ocaml, Oz, PARI/GP, Pascal, Perl, PHP, Pike, Prolog, Python, R, Ruby, Scala, Scheme (guile), Smalltalk, SQL, Tcl, Text, Unlambda, VB.NET, Whitespace Obviamente que esta lista es suficiente para enseñar los conceptos básicos de programación en casi cualquier institución educativa del mundo. Además, al usar el servicio ideone.com, el docente tiene la oportunidad de usar varios lenguajes de programación al mismo tiempo sin tener que soportar el trabajo de varios IDE.

Usemos un ejemplo para mostrar cómo se puede organizar el trabajo en grupo cuando se enseñan los conceptos básicos de programación. La Figura 2.2 ilustra cómo ejecutar un programa C simple. Como puede ver, el texto del programa utiliza resaltado de sintaxis, similar a lo que los usuarios están acostumbrados a usar en los IDE regulares fuera de línea. Sin embargo, si lo desea, la luz de fondo se puede apagar con el botón " A". Usando el control " V" puede especificar una lista de datos de entrada para el programa, lo que le permite implementar una lógica más compleja del programa que en el ejemplo anterior.

Muy importante es el control" CON", que le permite personalizar el trabajo con el programa. Esta característica es extremadamente valiosa al organizar el proceso educativo. Si el maestro les pide a todos los estudiantes que se registren en Ideone (o usen su cuenta de Facebook para iniciar sesión), entonces es posible haga que el proceso de trabajo con el programa sea colectivo, y el proceso de trabajo conjunto con el programa se llevará a cabo utilizando tecnologías modernas Web 2.0. Hablaremos de esto con más detalle usando la Fig. 2.3.

Este control permite seleccionar de la lista en el lado derecho de la pantalla se encuentra uno de los widgets de los sitios de redes sociales populares.

Desafortunadamente, el IDE en línea de Ideone no le permite implementar todas las funciones de los IDE tradicionales sin conexión. Por ejemplo, no es posible utilizar funciones de red, acceso a archivos y algunas otras. También es imposible ejecutar el programa. tiempo de espera lo que llevará más de 15 segundos, o los requisitos de RAM superarán los 256 MB, o el tamaño del programa superará los 64 KB. Todas estas limitaciones son lo suficientemente serias si planea usar Ideone para el desarrollo de software profesional. Sin embargo, para fines educativos, estas restricciones son más que aceptables. Además, para los profesores más exigentes, existen servicios de pago y gratuitos similares a Ideone, que, a su vez, implementan en mayor medida la funcionalidad del offline tradicional -análisis de resultados de ejecución en modo consola, compilación para diferentes plataformas y funcionamiento Los sistemas se pueden hacer en línea. Idealmente, el final del trabajo del programador será descargar archivos binarios listos para usar con un programa en ejecución. Este enfoque ahorra espacio en disco utilizado sin conexión y también le permite compilar el proyecto mucho más rápido que en el lugar de trabajo del usuario, si este lugar de trabajo está equipado con hardware obsoleto. El resultado de esto es un posible ahorro financiero para la institución educativa.

Sin embargo, además del efecto económico, se pueden obtener importantes beneficios en la organización del proceso educativo. Los estudiantes tienen la oportunidad de coeditar proyectos de software mientras están en casa. Esto le permite implementar proyectos de curso complejos y trabajos de laboratorio con ahorros significativos en la implementación de medidas organizativas por parte del profesor.

¿Qué se esconde detrás del mismo tipo de abreviaturas como XaaS?

Al revisar las noticias sobre tecnologías en la nube, los lectores se enfrentan a diferentes definiciones y designaciones, cuyo significado puede no estar claro de inmediato. Sin mencionar el mismo tipo de abreviaturas para servicios en la nube, que a veces confunden incluso a los especialistas que trabajan en el campo de TI. Por lo tanto, decidimos recopilar definiciones básicas en un solo lugar, cuyo conocimiento lo ayudará a leer materiales sobre el tema de las tecnologías en la nube y comprenderlos sin distraerse con los motores de búsqueda o Wikipedia.

Por conveniencia, hemos dividido los términos en varias categorías, describiendo brevemente los más importantes en cada una de ellas. Por supuesto, no se dan todas las definiciones en nuestro artículo, pero incluso esta lista es suficiente para navegar por el mundo de las tecnologías en la nube con relativa libertad.

Nubes. Términos generales

Computación en la nube en términos simples, este es un escenario en el que a un usuario se le otorga acceso a recursos informáticos como servidores, redes, sistemas de almacenamiento, aplicaciones y servicios a través de una red, más comúnmente Internet.

nube pública infraestructura que proporciona la capacidad de utilizar la computación en la nube a una amplia gama de usuarios. Por lo general, propiedad de una organización comercial.

Nube privada (privada) como sugiere el nombre, es una infraestructura propiedad de una sola organización que permite que la computación en la nube se use únicamente para sus propósitos.

nube híbrida combina características de una nube privada y pública. Con este enfoque, parte de la infraestructura pertenece al cliente y parte se alquila. La comunicación entre las dos estructuras se proporciona mediante tecnologías de transferencia de datos.

Hardware

Centro de procesamiento de datos (CPD) un edificio independiente especializado para acomodar varios servidores y equipos de red, al que se accede a través de Internet. Además de proporcionar energía redundante y canales de comunicación, dicho edificio debe contar con personal calificado para garantizar el monitoreo y mantenimiento constante de todos los sistemas.

Servidor una computadora especializada utilizada para ejecutar aplicaciones y servicios que respaldan la infraestructura de TI.

grupo varios servidores conectados por canales de comunicación y presentados al usuario como un único recurso de hardware.

Sistemas de almacenamiento de datos (SHD) solución de software y hardware que le permite consolidar todo el espacio en disco dentro de un solo sistema. Además de la tolerancia general a fallas y el monitoreo constante de su propio estado, los sistemas de almacenamiento admiten muchas funciones útiles, como la replicación de datos a nivel de arreglo.

replicación el proceso de copiar datos para sincronizarlos con uno o más objetos. Le permite proteger la información contra pérdidas en caso de falla del equipo.

conmutador de red ( cambiar) un dispositivo que le permite conectar varios nodos de una red informática. Funciona en la capa L2 del modelo OSI.

enrutador de red ( enrutador) un dispositivo que tiene varias interfaces de red y permite transferir datos entre diferentes segmentos de la red. El administrador configura las reglas en base a las cuales se transmitirán los paquetes. Funciona en capa L3, modelo OSI.

virtualización

virtualización una tecnología que permite la provisión de recursos informáticos que se abstraen del hardware y, sin embargo, están lógicamente aislados entre sí. Es decir, en un servidor físico, puede crear muchos servidores virtuales que funcionarán de forma independiente.

hipervisor un programa que permite implementar tecnología de virtualización. El hipervisor administra y configura máquinas virtuales, así como redes, conmutadores de software y enrutadores.

Máquina virtual análogo de una computadora física implementada en un entorno virtual. Los conceptos de "máquina virtual" y "servidor virtual" difieren solo en el destino final, pero en realidad son lo mismo.

Servicios en el campo de las tecnologías en la nube

Por separado, vale la pena describir los principales servicios prestados sobre la base de tecnologías virtuales. Un gran grupo de estos servicios se agrupan bajo el acrónimo XaaS, que significa "cualquier cosa como servicio". Todos estos servicios se basan en los tres principales: PaaS, SaaS, IaaS.

PaaS ( plataforma como a Servicio - plataforma como servicio) un tipo de computación en la nube que se proporciona al cliente en forma de una plataforma de software lista para usar que incluye varias herramientas y le permite personalizarlas. Esencialmente, esta plataforma puede ser cualquier cosa: un entorno de prueba, un sistema de gestión de bases de datos o automatización de procesos. Al mismo tiempo, dicha plataforma es administrada y mantenida por un proveedor de servicios.

SaaS ( Software como a Servicio - software como servicio) este es probablemente el tipo de servicio más común basado en tecnologías en la nube. Consiste en proporcionar al cliente cualquier programa que se encuentre en la nube del proveedor del servicio. Un buen ejemplo es una cuenta de correo electrónico de Google o, por ejemplo, el paquete de Microsoft Office 365.

IaaS (InfraestructuracomoaServicio - infraestructura como servicio) tipo de servicio en la nube, que consiste en el arrendamiento por parte del cliente de un conjunto de recursos informáticos del proveedor del servicio a modo de infraestructura virtual. Estos pueden ser servidores virtuales, sistemas de almacenamiento de datos, varios elementos de red, así como cualquier combinación de estos componentes.

Pero además de los básicos, existen muchos otros servicios en la nube. Echemos un vistazo más de cerca a ellos:

DRaaS (DesastreRecuperacióncomoaServicio: recuperación ante desastres como servicio) un servicio para proporcionar al cliente la capacidad de restaurar la funcionalidad de su propia estructura virtual en la nube del proveedor de servicios en caso de accidente o desastre. Servicios de este tipo ayudan a eliminar el impacto de fallas graves en el negocio, por lo que son más demandados por empresas para las que la operación de aplicaciones y servicios es un parámetro crítico.

BaaS (RespaldocomoaServicio: copia de seguridad como servicio) un servicio para proporcionar al cliente una plataforma y herramientas para organizar el procedimiento de copia de seguridad de los datos en la nube. La implementación de este servicio depende de muchos factores, como la cantidad de datos respaldados, el ancho de banda de los canales de comunicación, así como el esquema de redundancia y la profundidad del archivo. Esto es conveniente para las empresas que tienen una gran cantidad de datos críticos, pero organizar su propio sistema de respaldo confiable no es rentable.

BaaS (back-endcomoaServicio - backend como servicio)- un conjunto de funciones de servidor listas para usar que le permiten simplificar y acelerar el desarrollo de aplicaciones. En otras palabras, se trata de un entorno de desarrollo completo alojado en la nube, lo que significa que te permite utilizar todas las ventajas de la tecnología, como, por ejemplo, la escalabilidad ilimitada.

MaaS ( supervisión como a Servicio - monitoreo como servicio) un tipo de servicio en la nube relativamente nuevo, que consiste en organizar el monitoreo de la propia infraestructura utilizando herramientas de software alojadas en la nube del proveedor de servicios. Como en muchos otros casos, esta solución le permite utilizar las herramientas de software más avanzadas sin necesidad de comprarlas y organizar la administración.

DBaaS ( Datos Base como a Servicio - base de datos como servicio) un servicio que permite a los clientes conectarse a una base de datos ubicada en la nube. Al mismo tiempo, el costo de la solución se calcula en función del volumen de la base de datos y la cantidad de conexiones de los clientes. Las principales ventajas de una solución de este tipo, por supuesto, serán el escalado y la ausencia de la necesidad de garantizar la seguridad de los datos.

Haas ( Hardware como a Servicio - equipo como servicio) — un servicio para proporcionar potencia informática desde la nube. De hecho, en lugar de comprar un servidor de hierro, el cliente puede alquilarlo, mientras que estará ubicado en el sitio del proveedor de servicios, lo que garantizará el respaldo de energía y el mantenimiento oportuno.

NaaS ( red como a Servicio - red como servicio) — un servicio para proporcionar infraestructura de red como alternativa a su propia red. Las capacidades de NaaS le permiten utilizar herramientas de enrutamiento, así como aumentar o disminuir el ancho de banda del canal.

STaaS ( Almacenamiento como a Servicio - almacenamiento como servicio) es un servicio para proporcionar espacio en disco en la nube. Para el usuario, esta solución parece una unidad lógica adicional o simplemente una carpeta de red. La ventaja de STaaS es la disponibilidad de redundancia como requisito previo para cualquier proveedor de servicios.

DaaS (EscritoriocomoaServicio: escritorio como servicio)- un servicio que consiste en proporcionar al usuario un escritorio remoto. A diferencia del local, el escritorio remoto puede tener características técnicas realmente poderosas, esto te permite utilizar aplicaciones de varios niveles sin estar atado a las capacidades de tu PC de escritorio.

CaaS ( Comunicaciones como a Servicio - comunicación como servicio) — un servicio para proporcionar herramientas de comunicación en la nube. En otras palabras, este servicio te permite organizar la telefonía, la mensajería instantánea o, por ejemplo, la posibilidad de realizar videoconferencias por parte del proveedor del servicio.

CaaS ( Envase como a Servicio - contenedor como servicio) es un tipo de servicio que se ha vuelto cada vez más popular en los últimos años. Consiste en brindar al cliente la capacidad de organizar, iniciar o detener el contenedor utilizando la interfaz web o herramientas API.

Conclusión

En este artículo, analizamos los conceptos básicos que le permiten navegar mejor en el mundo de la computación en la nube y también analizamos la mayoría de los servicios que se brindan en base a ellos. Esperamos que esta información le sea útil.

El término “tecnología en la nube” ya está en boca de todos. Se lleva a cabo una discusión activa sobre los posibles matices de trabajar con tales tecnologías tanto en los foros de las grandes empresas de Internet como entre los usuarios novatos. Y realmente hay mucho que discutir.

Todos los días, en los motores de búsqueda, los propietarios de computadoras hacen cada vez más la pregunta "¿qué es la computación en la nube?". Esto no es sorprendente, porque cada vez más usuarios están aprendiendo sobre esta innovación. Un buen ejemplo es el software antivirus. Las nuevas versiones de Norton Internet Security, Kaspersky y muchos otros en la configuración ofrecen activar la opción de protección desde la nube. Dado que la curiosidad es inherente a la propia naturaleza humana, es bastante lógico que las personas se interesen por las tecnologías en la nube.

Por desgracia, no se debe esperar algo revolucionario. En parte, estas tecnologías han existido en la Web durante mucho tiempo, simplemente carecían de una definición, sistematización y comprensión precisas y amplias de las oportunidades potenciales. La computación en la nube es una forma de procesar datos digitales fuera del entorno de la computadora iniciadora. Dado que muchas personas se familiarizan con el término gracias a las aplicaciones antivirus, consideremos el trabajo de las "nubes" usando el ejemplo de este grupo de programas.

Imaginemos que una aplicación antivirus encuentra un código de programa sospechoso, que no se describe en las bases de datos de virus. Si el usuario no sabe qué son las tecnologías en la nube y no ha permitido su uso (marque en la configuración), el antivirus intentará localizar el archivo sospechoso hasta que se actualicen las bases de datos. Todo es completamente diferente si se activan las tecnologías en la nube. En este caso, la información sobre el código extraño se transmite automáticamente al servidor del desarrollador del programa antivirus, donde los especialistas lo verifican de inmediato en busca de un peligro potencial. Si se confirma la amenaza, se envían instrucciones a todos los equipos conectados a este recurso sobre cómo neutralizar la amenaza. El resultado es una velocidad de respuesta sin precedentes ante la aparición de nuevos virus. ¿Qué es la tecnología de nube en este ejemplo? La respuesta está en procesar el código sospechoso en los servidores del desarrollador, fuera de las computadoras de los usuarios comunes. Esta es la característica clave.

Las tecnologías en la nube dan una segunda vida a los dispositivos informáticos de bajo consumo. Supongamos que tenemos una calculadora que tiene acceso a Internet y está conectada a una "nube" especializada que consiste en grupos de computadoras de alto rendimiento. Podemos realizar operaciones elementales por nuestra cuenta, pero ¿y si son necesarios cálculos complejos? En este caso, la calculadora envía los datos de la tarea al servicio en la nube y, a cambio, recibe una solución preparada. Para el usuario, las acciones que se produjeron entre el conjunto de comandos y la recepción de la respuesta pasaron desapercibidas. Después de todo, lo principal es el resultado, y se logró. Por supuesto, una calculadora es un extremo, pero, por otro lado, es más fácil de entender el principio de funcionamiento.

Además de estas nubes no obvias, existen servicios especiales que reemplazan en gran medida las aplicaciones completas en una computadora local. Por ejemplo, el usuario necesita editar un archivo de texto en el programa Word. Para hacer esto, deberá comprar el programa en sí (y la versión con licencia no es barata), asignar espacio libre en el disco en los medios, conectar los módulos necesarios. Por supuesto, todo esto tiene solución, pero ¿y si hay muchas computadoras (empresa)? Gastar dinero en una compra Es mucho más fácil usar un servicio en la nube que brinda acceso a ciertos programas alojados en sus sitios. El usuario debe ir al sitio deseado a través de un navegador, iniciar Word de forma remota y abrir su archivo para editarlo. Por cierto, las interfaces convenientes generalmente se implementan de esta manera.

Los beneficios de las tecnologías en la nube se pueden enumerar durante mucho tiempo. Hay menos contras, pero son significativas: privacidad reducida y dependencia del trabajo de un recurso de terceros.

Cuota