SlideShare una empresa de Scribd logo
1 de 24
DESARROLLO DE
APLICACIONES EN LA NUBE I
OpenShift de Red Hat
GLOSARIO DE TÉRMINOS
PaaS o plataforma como servicio
• PaaS es un entorno de trabajo en la nube que ofrece
arquitectura e infraestructura para el desarrollo de
aplicaciones Web, incluye:
• Recursos de red
• Almacenamiento de datos
• Administración de software
• Soporte técnico
• Con PaaS la única preocupación del desarrollador es la
construcción de la aplicación.
• La infraestructura la proporciona el proveedor de la
plataforma.
OpenShift de Red Hat
• OpenShift es un proveedor PaaS con opción gratuita para
el desarrollo y despliegue de aplicaciones Java, Perl,
PHP, Python y Ruby.
• También proporciona servicios de base de datos con
MySQL, PostgreSQL o MongoDB.
• Su modelo basado en contenedores de docker permite
el uso eficiente de la infraestructura y la portabilidad de
las aplicaciones.
LXC Contenedores Linux
• Los contenedores Linux proveen la autonomía de las
aplicaciones agrupandolas con las bibliotecas de las que
dependen evitando conflictos entre ellas. No incluye un
kernel (SO), por lo que son más rápidos y ágiles que las
máquinas virtuales. No obstante, esto significa que todos
los contenedores de un host deben utilizar el mismo
kernel.
LXC Contenedores Linux
• Con el uso de contenedores, los recursos pueden ser
aislados, los servicios restringidos, se otorga a los
procesos la capacidad de tener una visión casi completa y
privada del sistema operativo con su propio identificador
de espacio de proceso, la estructura del sistema de
archivos, y las interfaces de red.
• Contenedores múltiples comparten el mismo núcleo, pero
cada contenedor puede ser restringido a utilizar sólo una
cantidad definida de recursos como CPU, memoria y E/S.
Docker
• Herramienta que puede empaquetar una aplicación y sus
dependencias en un contenedor virtual que se puede
ejecutar en cualquier servidor Linux.
• Docker proporciona flexibilidad y portabilidad.
• La aplicación se puede ejecutar en las instalaciones
físicas, la nube pública, nube privada, etc.
Gear en OpenShift
• Es un contenedor con recursos limitados donde un
usuario de OpenShift ejecuta su aplicacion.
• En el caso de utilizar una cuenta gratuita se pueden crear
como máximo tres gears de tipo “small”, cada uno de ellos
puede utilizar un máximo de 512 MB de RAM, 100MB de
swap y 1GB de espacio en disco.
• Las aplicaciones se despliegan y ejecutan utilizando estos
recursos asociados al “gear”.
Catridge en OpenShift
• Son contenedores de software preparados para
ejecutarse en un gear.
• Sobre cada gear pueden desplegarse varios cartridges,
por ejemplo existen cartridges de php, ruby, jboss,
MySQL, django, etc.
Namespace en OpenShift
• Cada cuenta de usuario en OpenShift está asociada a un
espacio de nombres para generar un FQDN (nombre de
dominio completo) único en Internet para cada gear.
• En la configuración inicial de la cuenta de usuario habrá
que seleccionar un espacio de nombres que sea único,
este espacio de nombres se aplicará automáticamente a
todos los gears que se creen.
HTTPS://quickstart-wordpressguide.rhcloud.com
Acceso remoto y autenticación en OpenShift
• Una de las características interesantes que proporciona
OpenShift es la posibilidad de acceder por SSH a la
máquina en la que se está ejecutando la aplicación Web,
aunque con un usuario con privilegios restringidos.
• El mecanismo usado para la autenticación se realiza
usando claves públicas, es necesario indicar las claves
públicas para poder acceder de forma remota.
• Es posible generar y usar claves RSA, este sistema
criptográfico emplea dos claves una privada y otra
pública, la clave pública debe subirse al portal de
OpenShift.
SSH Secure SHell
• SSH es el nombre de un protocolo que hace posible que
un equipo (cliente) abra una sesión interactiva en una
máquina remota (servidor) para enviar comandos o
archivos a través de un canal seguro.
SSH Secure SHell
• Una conexión SSH consta de dos fases, el
establecimiento de un canal seguro y el inicio de sesión
en el servidor; que puede ser a través del método de
contraseña tradicional o con el uso de claves públicas.
RSA y clave pública
• RSA es un sistema criptográfico de clave pública que
emplea un par de claves para el envío de mensajes.
• Las dos claves pertenecen a la misma persona que ha
enviado el mensaje, una clave es pública y se puede
entregar a cualquier persona, la otra clave es privada y el
propietario debe guardarla de modo que nadie tenga
acceso a ella.
Mantenimiento de aplicaciones en OpenShift
• Como desarrollador de OpenShift se tiene la necesidad
de realizar cambios en el código de la aplicación.
• OpenShift emplea Git para dar mantenimiento a las
aplicaciones. Esta herramienta tiene la ventaja de que no
requiere una presencia en línea continua. Es posible
realizar cambios al código de una aplicación en una
maquina local y posteriormente llevar esos cambios a la
plataforma OpenShift.
• El código de cada aplicación en OpenShift tiene su propio
repositorio Git al que solo un usuario autenticado puede
acceder y clonar en su máquina local.
ssh://56a80a8289f5cfe367000019@apptest-dancruzmx.rhcloud.com/~/git/apptest.git/
Pass this URL to 'git clone' to copy the repository locally.
Git Control de versiones
• Git es un software de control de versiones cuyo propósito
es administrar ágilmente los cambios en el código de una
aplicación y poder revertirlos.
• Emplea el modelo distribuido donde cada desarrollador
trabaja directamente con su repositorio local, y los
cambios se comparten entre repositorios en un paso
posterior.
Git Secciones principales
• El directorio de Git (Repository) donde se almacenan los
metadatos y la base de datos de objetos del proyecto. Es
la parte más importante de Git, y es lo que se copia
cuando se clona un repositorio desde otra computadora.
• El directorio de trabajo (Working), es una copia de una
versión del proyecto. Estos archivos se sacan de la base
de datos comprimida en el directorio de Git, y se colocan
en disco para que se puedan usar o modificar.
• El área de preparación (Staging) es un archivo,
generalmente contenido en el directorio de Git, que
almacena información acerca de lo que va a ir en la
próxima confirmación. A veces se le denomina índice
(“index”), pero se está convirtiendo en estándar el
referirse a ella como el área de preparación.
Git Estado de los archivos
• Git tiene tres estados principales en los que se pueden
encontrar los archivos:
• Confirmado (committed) los datos están almacenados de manera
segura en la base de datos local.
• Modificado (modified), se ha modificado un archivo pero todavía no
se ha confirmado en la base de datos.
• Preparado (staged), se ha marcado un archivo modificado en su
versión actual para que vaya en la próxima confirmación.
Git Flujo de trabajo local
1. Modificar una serie de archivos en el directorio de trabajo (edit).
2. Preparar los archivos, añadiéndolos al área de preparación (add).
3. Confirmar los cambios, toma los archivos tal y como están en el
área de preparación y almacena esa copia instantánea de manera
permanente en el directorio de Git (commit).
Git Flujo de trabajo remoto
• Los repositorios remotos son versiones del proyecto que
están hospedadas en Internet generalmente con
permisos de solo lectura o de lectura y escritura.
• Cuando el proyecto local se encuentra en un estado que
se desea compartir se envía al repositorio remoto (push).
• También es posible recuperar la información del servidor
remoto (fetch-checkout o pull).
Git y Openshift
Pull
Mi aplicación en la nube
Mantenimiento de mi aplicación en PC, MAC o Móvil
Algo mas sobre Git, las ramas
• Los flujos de trabajo pueden operar sobre distintas ramas, la
rama por defecto en Git es master.
• En cada confirmación de cambios (commit), la rama de
trabajo ira avanzando.
• Pueden crearse nuevas ramas (branch).
• HEAD es un apuntador que señala sobre que rama estamos
trabajando, siempre apunta al ultimo commit de la rama.
HEAD
Git Comandos básicos
• Clona un repositorio remoto
git clone username@host:/path/to/repository
• Registra cambios (añadirlos al Index)
git add <filename>
• Confirma cambios
git commit -m "Commit message"
• Enviar cambios a repositorio remoto
git push origin master
• Actualiza repositorio local al commit más nuevo, baja y
fusiona los cambios remotos
git pull
Git Comandos básicos
• Crea nueva rama
git branch <name>
• Para cambiarse de una rama a otra
git checkout <branch>
• Fusiona otra rama a la rama activa “Git intenta fusionar
automáticamente los cambios”
git merge <branch>
• Revisión de diferencias entre ramas
git diff <source_branch> <target_branch>
• Ver historial del proyecto con todo y ramas
git log
DESARROLLO DE
APLICACIONES EN LA NUBE I
FIN DE ESTA PARTE
GLOSARIO DE TÉRMINOS

Más contenido relacionado

La actualidad más candente

Administracion de un servidor web
Administracion de un servidor webAdministracion de un servidor web
Administracion de un servidor webCristian Fory
 
Breve introducción a Apache Ant
Breve introducción a Apache AntBreve introducción a Apache Ant
Breve introducción a Apache AntIker Canarias
 
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)juandanielp
 
Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalaciónPrincezitha Ruiz
 
Principales características de PostgreSQL
Principales características de PostgreSQLPrincipales características de PostgreSQL
Principales características de PostgreSQLDavid M. Martín García
 
In memory
In memoryIn memory
In memorySolidQ
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLLorena Fernández
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversionnqnwebs
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasSpanishPASSVC
 
Ventajas y desventajas de sgbds
Ventajas y desventajas de sgbdsVentajas y desventajas de sgbds
Ventajas y desventajas de sgbdsjsucarmona
 
Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Javier Loria
 
Instalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónInstalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónSocialBiblio
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacionjosebunbury
 

La actualidad más candente (20)

Administracion de un servidor web
Administracion de un servidor webAdministracion de un servidor web
Administracion de un servidor web
 
Apache derby
Apache derbyApache derby
Apache derby
 
Breve introducción a Apache Ant
Breve introducción a Apache AntBreve introducción a Apache Ant
Breve introducción a Apache Ant
 
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
 
Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalación
 
Servidor http
Servidor httpServidor http
Servidor http
 
QUÉ ES MySQL
QUÉ ES MySQLQUÉ ES MySQL
QUÉ ES MySQL
 
Principales características de PostgreSQL
Principales características de PostgreSQLPrincipales características de PostgreSQL
Principales características de PostgreSQL
 
Mysql cluster
Mysql clusterMysql cluster
Mysql cluster
 
In memory
In memoryIn memory
In memory
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversion
 
Introducción Base de datos mysql
Introducción Base de datos mysqlIntroducción Base de datos mysql
Introducción Base de datos mysql
 
SQLite
SQLiteSQLite
SQLite
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones Aprendidas
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
 
Ventajas y desventajas de sgbds
Ventajas y desventajas de sgbdsVentajas y desventajas de sgbds
Ventajas y desventajas de sgbds
 
Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?
 
Instalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónInstalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuración
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 

Similar a Desarrollo Aplicaciones Nube Glosario

Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
Arquitectura de referencia corregido
Arquitectura de referencia corregidoArquitectura de referencia corregido
Arquitectura de referencia corregidoJose Torres Gonzales
 
sistemas operativos.pptx
sistemas operativos.pptxsistemas operativos.pptx
sistemas operativos.pptxWilson Cardenas
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con gitEudris Cabrera
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para DummiesRaúl Unzué
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindioSantiago Bernal
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.Internet Security Auditors
 
Red hat-empresario
Red hat-empresarioRed hat-empresario
Red hat-empresarioJDRCMR
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...campus party
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloAngelDX
 

Similar a Desarrollo Aplicaciones Nube Glosario (20)

Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Arquitectura de referencia corregido
Arquitectura de referencia corregidoArquitectura de referencia corregido
Arquitectura de referencia corregido
 
sistemas operativos.pptx
sistemas operativos.pptxsistemas operativos.pptx
sistemas operativos.pptx
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para Dummies
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindio
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
Servidores GNU/LINUX
Servidores GNU/LINUXServidores GNU/LINUX
Servidores GNU/LINUX
 
Servidor http(web)
Servidor http(web)Servidor http(web)
Servidor http(web)
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
My sql
My sqlMy sql
My sql
 
SGBD Y TECNOLOGIAS
SGBD Y TECNOLOGIASSGBD Y TECNOLOGIAS
SGBD Y TECNOLOGIAS
 
Sgbd y tecnologias
Sgbd  y  tecnologiasSgbd  y  tecnologias
Sgbd y tecnologias
 
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
 
Red hat-empresario
Red hat-empresarioRed hat-empresario
Red hat-empresario
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de Desarrollo
 
13.servidor http
13.servidor http13.servidor http
13.servidor http
 

Más de Daniel Cruz

Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOGDaniel Cruz
 
Proyecto ipython - Oracle - Excel
Proyecto ipython -  Oracle - ExcelProyecto ipython -  Oracle - Excel
Proyecto ipython - Oracle - ExcelDaniel Cruz
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serieDaniel Cruz
 
Arduino entorno desarrollo
Arduino entorno desarrolloArduino entorno desarrollo
Arduino entorno desarrolloDaniel Cruz
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducciónDaniel Cruz
 
Manejo Roles Linux
Manejo Roles LinuxManejo Roles Linux
Manejo Roles LinuxDaniel Cruz
 

Más de Daniel Cruz (8)

Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOG
 
Proyecto ipython - Oracle - Excel
Proyecto ipython -  Oracle - ExcelProyecto ipython -  Oracle - Excel
Proyecto ipython - Oracle - Excel
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serie
 
Arduino entorno desarrollo
Arduino entorno desarrolloArduino entorno desarrollo
Arduino entorno desarrollo
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducción
 
Manejo Roles Linux
Manejo Roles LinuxManejo Roles Linux
Manejo Roles Linux
 
Redes Rpc
Redes RpcRedes Rpc
Redes Rpc
 
Sq Lv1a
Sq Lv1aSq Lv1a
Sq Lv1a
 

Último

Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellajuancamilo3111391
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.imejia2411
 

Último (13)

Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ella
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.
 

Desarrollo Aplicaciones Nube Glosario

  • 1. DESARROLLO DE APLICACIONES EN LA NUBE I OpenShift de Red Hat GLOSARIO DE TÉRMINOS
  • 2. PaaS o plataforma como servicio • PaaS es un entorno de trabajo en la nube que ofrece arquitectura e infraestructura para el desarrollo de aplicaciones Web, incluye: • Recursos de red • Almacenamiento de datos • Administración de software • Soporte técnico • Con PaaS la única preocupación del desarrollador es la construcción de la aplicación. • La infraestructura la proporciona el proveedor de la plataforma.
  • 3. OpenShift de Red Hat • OpenShift es un proveedor PaaS con opción gratuita para el desarrollo y despliegue de aplicaciones Java, Perl, PHP, Python y Ruby. • También proporciona servicios de base de datos con MySQL, PostgreSQL o MongoDB. • Su modelo basado en contenedores de docker permite el uso eficiente de la infraestructura y la portabilidad de las aplicaciones.
  • 4. LXC Contenedores Linux • Los contenedores Linux proveen la autonomía de las aplicaciones agrupandolas con las bibliotecas de las que dependen evitando conflictos entre ellas. No incluye un kernel (SO), por lo que son más rápidos y ágiles que las máquinas virtuales. No obstante, esto significa que todos los contenedores de un host deben utilizar el mismo kernel.
  • 5. LXC Contenedores Linux • Con el uso de contenedores, los recursos pueden ser aislados, los servicios restringidos, se otorga a los procesos la capacidad de tener una visión casi completa y privada del sistema operativo con su propio identificador de espacio de proceso, la estructura del sistema de archivos, y las interfaces de red. • Contenedores múltiples comparten el mismo núcleo, pero cada contenedor puede ser restringido a utilizar sólo una cantidad definida de recursos como CPU, memoria y E/S.
  • 6. Docker • Herramienta que puede empaquetar una aplicación y sus dependencias en un contenedor virtual que se puede ejecutar en cualquier servidor Linux. • Docker proporciona flexibilidad y portabilidad. • La aplicación se puede ejecutar en las instalaciones físicas, la nube pública, nube privada, etc.
  • 7. Gear en OpenShift • Es un contenedor con recursos limitados donde un usuario de OpenShift ejecuta su aplicacion. • En el caso de utilizar una cuenta gratuita se pueden crear como máximo tres gears de tipo “small”, cada uno de ellos puede utilizar un máximo de 512 MB de RAM, 100MB de swap y 1GB de espacio en disco. • Las aplicaciones se despliegan y ejecutan utilizando estos recursos asociados al “gear”.
  • 8. Catridge en OpenShift • Son contenedores de software preparados para ejecutarse en un gear. • Sobre cada gear pueden desplegarse varios cartridges, por ejemplo existen cartridges de php, ruby, jboss, MySQL, django, etc.
  • 9. Namespace en OpenShift • Cada cuenta de usuario en OpenShift está asociada a un espacio de nombres para generar un FQDN (nombre de dominio completo) único en Internet para cada gear. • En la configuración inicial de la cuenta de usuario habrá que seleccionar un espacio de nombres que sea único, este espacio de nombres se aplicará automáticamente a todos los gears que se creen. HTTPS://quickstart-wordpressguide.rhcloud.com
  • 10. Acceso remoto y autenticación en OpenShift • Una de las características interesantes que proporciona OpenShift es la posibilidad de acceder por SSH a la máquina en la que se está ejecutando la aplicación Web, aunque con un usuario con privilegios restringidos. • El mecanismo usado para la autenticación se realiza usando claves públicas, es necesario indicar las claves públicas para poder acceder de forma remota. • Es posible generar y usar claves RSA, este sistema criptográfico emplea dos claves una privada y otra pública, la clave pública debe subirse al portal de OpenShift.
  • 11. SSH Secure SHell • SSH es el nombre de un protocolo que hace posible que un equipo (cliente) abra una sesión interactiva en una máquina remota (servidor) para enviar comandos o archivos a través de un canal seguro.
  • 12. SSH Secure SHell • Una conexión SSH consta de dos fases, el establecimiento de un canal seguro y el inicio de sesión en el servidor; que puede ser a través del método de contraseña tradicional o con el uso de claves públicas.
  • 13. RSA y clave pública • RSA es un sistema criptográfico de clave pública que emplea un par de claves para el envío de mensajes. • Las dos claves pertenecen a la misma persona que ha enviado el mensaje, una clave es pública y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella.
  • 14. Mantenimiento de aplicaciones en OpenShift • Como desarrollador de OpenShift se tiene la necesidad de realizar cambios en el código de la aplicación. • OpenShift emplea Git para dar mantenimiento a las aplicaciones. Esta herramienta tiene la ventaja de que no requiere una presencia en línea continua. Es posible realizar cambios al código de una aplicación en una maquina local y posteriormente llevar esos cambios a la plataforma OpenShift. • El código de cada aplicación en OpenShift tiene su propio repositorio Git al que solo un usuario autenticado puede acceder y clonar en su máquina local. ssh://56a80a8289f5cfe367000019@apptest-dancruzmx.rhcloud.com/~/git/apptest.git/ Pass this URL to 'git clone' to copy the repository locally.
  • 15. Git Control de versiones • Git es un software de control de versiones cuyo propósito es administrar ágilmente los cambios en el código de una aplicación y poder revertirlos. • Emplea el modelo distribuido donde cada desarrollador trabaja directamente con su repositorio local, y los cambios se comparten entre repositorios en un paso posterior.
  • 16. Git Secciones principales • El directorio de Git (Repository) donde se almacenan los metadatos y la base de datos de objetos del proyecto. Es la parte más importante de Git, y es lo que se copia cuando se clona un repositorio desde otra computadora. • El directorio de trabajo (Working), es una copia de una versión del proyecto. Estos archivos se sacan de la base de datos comprimida en el directorio de Git, y se colocan en disco para que se puedan usar o modificar. • El área de preparación (Staging) es un archivo, generalmente contenido en el directorio de Git, que almacena información acerca de lo que va a ir en la próxima confirmación. A veces se le denomina índice (“index”), pero se está convirtiendo en estándar el referirse a ella como el área de preparación.
  • 17. Git Estado de los archivos • Git tiene tres estados principales en los que se pueden encontrar los archivos: • Confirmado (committed) los datos están almacenados de manera segura en la base de datos local. • Modificado (modified), se ha modificado un archivo pero todavía no se ha confirmado en la base de datos. • Preparado (staged), se ha marcado un archivo modificado en su versión actual para que vaya en la próxima confirmación.
  • 18. Git Flujo de trabajo local 1. Modificar una serie de archivos en el directorio de trabajo (edit). 2. Preparar los archivos, añadiéndolos al área de preparación (add). 3. Confirmar los cambios, toma los archivos tal y como están en el área de preparación y almacena esa copia instantánea de manera permanente en el directorio de Git (commit).
  • 19. Git Flujo de trabajo remoto • Los repositorios remotos son versiones del proyecto que están hospedadas en Internet generalmente con permisos de solo lectura o de lectura y escritura. • Cuando el proyecto local se encuentra en un estado que se desea compartir se envía al repositorio remoto (push). • También es posible recuperar la información del servidor remoto (fetch-checkout o pull).
  • 20. Git y Openshift Pull Mi aplicación en la nube Mantenimiento de mi aplicación en PC, MAC o Móvil
  • 21. Algo mas sobre Git, las ramas • Los flujos de trabajo pueden operar sobre distintas ramas, la rama por defecto en Git es master. • En cada confirmación de cambios (commit), la rama de trabajo ira avanzando. • Pueden crearse nuevas ramas (branch). • HEAD es un apuntador que señala sobre que rama estamos trabajando, siempre apunta al ultimo commit de la rama. HEAD
  • 22. Git Comandos básicos • Clona un repositorio remoto git clone username@host:/path/to/repository • Registra cambios (añadirlos al Index) git add <filename> • Confirma cambios git commit -m "Commit message" • Enviar cambios a repositorio remoto git push origin master • Actualiza repositorio local al commit más nuevo, baja y fusiona los cambios remotos git pull
  • 23. Git Comandos básicos • Crea nueva rama git branch <name> • Para cambiarse de una rama a otra git checkout <branch> • Fusiona otra rama a la rama activa “Git intenta fusionar automáticamente los cambios” git merge <branch> • Revisión de diferencias entre ramas git diff <source_branch> <target_branch> • Ver historial del proyecto con todo y ramas git log
  • 24. DESARROLLO DE APLICACIONES EN LA NUBE I FIN DE ESTA PARTE GLOSARIO DE TÉRMINOS