Arquitectura por capas en la nube
Summary
TLDRManuel Zapata, en este video, aborda el desafío de trasladar arquitecturas por capas a la nube. Explica cómo se puede hacer de manera más escalable y eficiente, evitando el uso de una máquina virtual por cada capa. Sugiere la implementación de balanceadores de carga y bases de datos replicadas para mejorar la redundancia y la disponibilidad. Destaca los servicios de Amazon, Azure y Google Cloud como opciones para la implementación en la nube y ofrece consejos para aplicaciones web simples y para migrar aplicaciones existentes. Finalmente, invita a suscriptores a unirse a su lista de correo para más información.
Takeaways
- 🌟 Manuel Zapata discute sobre la arquitectura de software en la nube en el Campus Vario 2019.
- 📚 Se aborda la aplicación de una arquitectura por capas en la nube para mejorar la escalabilidad.
- 🚀 Se recomienda no utilizar una máquina virtual para cada capa, ya que esto es un uso poco eficiente de la nube.
- 💡 Se sugiere desplegar capas en diferentes máquinas virtuales o contenedores para mayor independencia y separación de responsabilidades.
- 🔄 Se habla sobre la importancia de tener balanceadores de carga para distribuir el tráfico y mejorar la disponibilidad.
- 💾 Se menciona la necesidad de que los servicios sean stateless para permitir la escalabilidad y la movilidad de los recursos.
- 🔄 Se destaca el uso de bases de datos réplicas para la resiliencia y recuperación ante posibles fallos.
- 🛠️ Se mencionan servicios de cloud computing como Amazon Web Services, Microsoft Azure y Google Cloud Platform.
- 🔧 Se aconseja el uso de servicios de base de datos a nivel de plataforma en lugar de instalar la base de datos en una máquina virtual.
- 📈 Se habla sobre el enfoque Lift and Shift para migrar aplicaciones existentes a la nube sin cambios arquitectónicos significativos.
- 📧 Se invita a los espectadores a suscribirse al canal y a profundizar en el tema a través de los enlaces proporcionados.
Q & A
¿Qué es el Campus Vario 2019 donde se encuentra Manuel Zapata en este video?
-El Campus Vario 2019 es un evento donde Manuel Zapata está dando una charla sobre patrones de arquitectura de software en la nube.
¿Qué es la arquitectura por capas y cómo se aplica en la nube?
-La arquitectura por capas es un enfoque en el que se separan las responsabilidades de un sistema en capas distintas, como presentación, negocio y acceso a datos. En la nube, se busca aplicar esta arquitectura de manera que cada capa pueda ser desplegada de forma independiente y escalable, aprovechando las capacidades de la computación en la nube.
¿Por qué desplegar cada capa de una aplicación en una máquina virtual es una mala práctica en la nube?
-Desplegar cada capa en una máquina virtual separada resulta en un uso poco eficiente de los recursos de la nube y puede conducir a costos de hosting muy altos, ya que no se está aprovechando la flexibilidad y escalabilidad que ofrece la computación en la nube.
¿Cómo se puede mejorar la arquitectura por capas para su implementación en la nube?
-Para mejorar la arquitectura por capas en la nube, se puede utilizar una única máquina virtual para cada capa, con balanceadores de carga para manejar el tráfico y bases de datos replicadas para garantizar la disponibilidad y la recuperación de datos.
¿Qué es un balanceador de carga y cómo funciona en la arquitectura por capas?
-Un balanceador de carga es un componente que distribuye el tráfico entre varias instancias de máquinas virtuales o contenedores, asegurando que el tráfico se maneje de manera eficiente y sin sobrecargar ninguna instancia específica.
¿Qué es una base de datos replicada y cuál es su propósito?
-Una base de datos replicada es una copia de la base de datos principal que se utiliza para la recuperación de datos en caso de fallo de la base de datos original. Permite mantener la continuidad del servicio y la disponibilidad de los datos.
¿Cuáles son los tres servicios en la nube con mayor penetración de mercado según el video?
-Los tres servicios en la nube con mayor penetración de mercado según el video son Amazon Web Services (AWS), Microsoft Azure y Google Cloud Platform (GCP).
¿Qué servicios específicos se mencionan para la implementación de máquinas virtuales y bases de datos en la nube?
-Para la implementación de máquinas virtuales, se mencionan servicios como EC2 de AWS, Virtual Machines de Azure y Compute Engine de Google Cloud. Para bases de datos, se habla de servicios como RDS de AWS, Azure SQL Database y Cloud SQL de Google Cloud.
¿Qué es el enfoque Lift and Shift y cómo se aplica a la migración a la nube?
-El enfoque Lift and Shift es una estrategia de migración a la nube donde se levanta una aplicación de su entorno actual y se coloca directamente en la nube sin cambios arquitectónicos significativos. Es un enfoque rápido pero no ideal para aprovechar plenamente las capacidades de la nube.
¿Qué sucede si se almacena estado en las máquinas virtuales en la arquitectura por capas?
-Si se almacena estado en las máquinas virtuales, se puede limitar la escalabilidad y la resiliencia de la aplicación, ya que el usuario se vincula a una instancia específica y cualquier cambio o fallo en esa instancia puede afectar negativamente al servicio.
Outlines
🌟 Introducción a la Arquitectura en la Nube
Manuel Zapata presenta un video diferente sobre cómo aplicar una arquitectura por capas en la nube, explicando cómo se puede llevar una aplicación monolítica a una enfoque más escalable utilizando la potencia de la computación en la nube. Se invita a suscriptores a suscribirse y activar la notificación para contenido nuevo, y se ofrece un enlace a otros videos relacionados con la arquitectura por capas.
📈 Arquitectura por Capas y Despliegue en la Nube
Manuel Zapata discute la implementación de una arquitectura por capas en la nube, comparando la forma tradicional de desplegar aplicaciones en una única máquina virtual con las ventajas de utilizar contenedores y servicios especializados para cada capa. Se enfatiza la importancia de la independencia entre las capas y la mejora de la escalabilidad y la resiliencia mediante la replicación de bases de datos y el uso de balanceadores de carga.
💡 Servicios en la Nube y Recomendaciones
El video ofrece una visión de los servicios de computación en la nube de Amazon, Azure y Google Cloud, los cuales son los líderes en mercado en 2019. Se explica cómo utilizar estos servicios para implementar máquinas virtuales y bases de datos, destacando la ventaja de utilizar servicios de base de datos en lugar de instalarlas en máquinas virtuales propias, para mejorar la rentabilidad y la escalabilidad de la aplicación.
🚀 Guía para Migración a la Nube
Manuel Zapata concluye el video ofreciendo consejos para aquellos que desean migrar aplicaciones existentes a la nube, mencionando el enfoque Lift and Shift como una opción rápida pero no ideal, y sugiriendo que se consideren las recomendaciones del video para lograr una arquitectura óptima en la nube. Finalmente, invita a la audiencia a compartir sus experiencias y a suscribirse a su lista de correo para obtener más información.
Mindmap
Keywords
💡Arquitectura por capas
💡Computación en la nube
💡Máquinas virtuales
💡Contenedores
💡Balanceador de carga
💡Base de datos replicada
💡Servicios de cloud
💡Stateless
💡Escalabilidad
💡Lift and Shift
Highlights
Manuel Zapata presenta un video sobre patrones de arquitectura de software en la nube.
El video se grabó durante el Campus Party 2019 en Bogotá.
Manuel habla sobre cómo aplicar una arquitectura por capas en la nube.
Se discute cómo transformar arquitecturas monolíticas para un enfoque escalable en la nube.
Se invita a los espectadores a suscribirse al canal y activar la notificación para nuevos contenidos.
Se explica la arquitectura por capas y la interacción entre las capas.
Se menciona la arquitectura de tres capas: presentación, negocio y acceso a datos.
Se sugiere que la forma menos ideal de llevar una aplicación a la nube es desplegar cada capa en una máquina virtual separada.
Se propone una mejor manera de desplegar aplicaciones en la nube, manteniendo las tres capas en una única máquina virtual.
Se habla sobre la independencia y separación de las capas para una mayor escalabilidad y manejo de cambios.
Se introduce el concepto de balanceador de carga para distribuir el tráfico entre las máquinas virtuales.
Se menciona la importancia de que los servicios sean stateless para evitar problemas de escalabilidad.
Se habla sobre la replicación de bases de datos para seguridad y recuperación ante fallos.
Se mencionan los tres servicios de cloud con mayor penetración de mercado en 2019: Amazon, Azure y Google Cloud.
Se explica cómo utilizar servicios de cloud para implementar máquinas virtuales y bases de datos.
Se aconseja evitar la instalación de bases de datos en máquinas virtuales para mantener la escalabilidad y reducir costos.
Se mencionan los servicios de balance de carga específicos de cada plataforma de cloud.
Se habla sobre el enfoque lift and shift para llevar aplicaciones existentes a la nube.
Manuel invita a los espectadores a compartir sus experiencias con la computación en la nube.
Transcripts
hola a todos soy manuel zapata este es
un vídeo un poquito diferente a todos
los que vimos haciendo normalmente en el
canal porque en este momento me
encuentra el campus vario 2019 donde
estudiando una charla sobre patrones de
arquitectura software en la nube y en
bogotá está bastante frío el día
entonces lo que quiero hacer para este
vídeo es básicamente hacer digamos que
un pequeño pedacito de la charla para
los que de pronto no tienen la
oportunidad de verla dónde voy a estar
hablando de cómo aplicar una
arquitectura por capas en la nube cómo
podría dar este tipo arquitecturas
monolíticas a un enfoque digamos más
escalable utilizando la potencia la
computación en la nube entonces vamos
con el vídeo
[Aplausos]
miremos entonces cómo es ese tema la
arquitectura por capas
primero que todo entonces quisiera
invitar para que te suscribas al canal
dale click a la campanita para que
cuando publique nuevo contenido te pueda
avisar en la arquitectura por capas ya
la hemos realizar en otros vídeos y por
aquí te voy a dejar un enlace para que
la pueda revisar básicamente tenemos un
conjunto de capas donde la idea es que
una capa superior pueda acceder una capa
inferior y digamos que en la
arquitectura básica uno puede saltar de
capas entonces si la capa en uno quiere
acceder la capa uno tiene que pasar
absolutamente por todas las capas
intermedias para poder comunicarse y la
idea es que tú puedes digamos que
asignar responsabilidades a cada una de
las capas qué es lo que sucede por
ejemplo en la arquitectura de tres capas
que todos conocemos de una capa de
presentación que la que interactúa con
el usuario
hay una capa de negocio y una capa
también de acceso datos sobre esta
arquitectura hay un vídeo en el canal
este también lo puedes revisar si
quieres mucho más detalles de eso en lo
que quisiera enfocarme es cómo llevar
ese tipo aplicaciones a la nube ese es
el enfoque más clásico y como no quiera
llevarlo a la nube digamos que no es tan
clara el camino
y terminar haciendo de la forma menos
ideal
y cuál es esa forma notarial la forma
básica es digamos que tener una máquina
virtual y ahí despegar absolutamente
cada una de las capas de la aplicación
sin embargo esa es la peor manera o sea
la nube y ya te voy a decir por qué la
peor y la razón es muy sencilla la razón
es que estamos haciendo un pobre uso de
la nube y estamos digamos que pagando
por un hosting muy muy costoso entonces
la idea es que si tienes una
arquitectura así es simple donde quiere
desplegar todo en la misma máquina pues
sencillamente busca un hosting
tradicional olvídate de la nube y
continúa tu camino pero sin necesitar la
nube por alguna razón está digamos que
la peor forma de hacerlo
grissom cuál es entonces una mejor
manera una mejor manera es la siguiente
tenemos de nuevo las tres capas la capa
de presentación la capa de negocio la
capa de datos pero entonces vamos a
hacer algo diferente en vender una
máquina una única máquina virtual donde
está todo lo que voy a hacer es que voy
a tener una máquina virtual en la capa
de presentación también podría ser un
contenedor voy a tener otro otra máquina
dentro de la capa de negocio y voy a
tener mi base de datos listo y esa base
a todo logra poner un servicio
especializado en manejo de base de datos
y digamos aquí tenemos una arquitectura
mucho mejor porque la presentación está
de manera independiente a la parte del
negocio y la idea es que por ejemplo si
en algún momento cambia la parte de
negocio pues yo pueda desplegar la y
hacer cambios sin tener que afectar la
parte de la presentación entonces ya voy
creando como una mayor independencia y
una mayor separación sin embargo tenemos
que hacer algo más esto no es suficiente
y que lo que podríamos hacer aquí
podríamos entonces bueno primer lugar
renombrar un poquito las capas durante
esa capa de presentación se le llama la
capa web o se le llama los servicios del
servidor web normalmente es el tipo de
aplica si en casa poner en la nube vas a
tener por otro lado trae una capa
aplicación donde vas a encontrar digamos
que una serie servidores de aplicaciones
que no solamente van a ser utilizados
por la parte web sino que pueden ser
consumidas por una aplicación móvil
oa lo mejor por otros servicios listón y
ahí vamos a poner las tres cajitas que
habíamos puesto en la pantalla anterior
pero vamos a hacer unos cambios
adicionales el primero es que en la
parte de la presentación vamos a tener
una segunda máquina virtual donde
básicamente vamos a tener el mismo
y vamos a tener digamos que una mayor
digamos que redundar en en la parte de
negocio de aplicación vamos también a
tener una máquina virtual un contenedor
adicional y vamos a tener una segunda
base de datos y ya luego vamos a ver eso
porque es pero lo que vamos a hacer es
ponerle digamos que algunas partes
cintas adicionales la primer parte
necesita adicional y es digamos que ese
es el rombo que estás viendo en la capa
de presentación en lo que llamamos un
balanceador de carga y este balanceador
de carga nos ayuda a digamos que a poder
enrutar el tráfico de perdiendo de
ciertas condiciones ya lo mejor la
máquina virtual de la parte superior
está muy ocupada pues puede ser que
entonces la de la parte inferior atienda
ese tráfico que la arriba no podría
manejar listo y eso nos lo ayuda a ser
el balanceador de carga que es lo
importante aquí que cada uno de estos
máquinas virtuales o el código que
contenga y sea state les tiene que ser
sin estado porque si guardamos o
empezamos a guardar sesiones o estado en
los en cada una de las máquinas
virtuales
el usuario va a quedar automáticamente
amarrado a una máquina virtual en el
momento que queramos
la solicitud hacia un servicio diferente
ahí vamos a tener un problema en la
parte de negocio de alguien también
tengamos otro balanceador de carga que
haga exactamente lo mismo pero a nivel
de negocio y ambos van a acceder a la
base de dyson pero la diferencia aquí es
que vamos a tener una base de datos de
réplica y la idea es que la base de
datos de abajo básicamente sea lo que
llamamos una base datos secundaria donde
lo que haga es que de alguna forma
replique los datos de la base datos
original porque porque la base de datos
principal puede que haya algún problema
puede que a lo mejor un desarrollador
tenga demasiados privilegios y
accidentalmente borre datos puede que la
primera base de datos se caiga entonces
es que tengamos una segunda copia o
tengamos una copia más bien donde
tengamos digamos que
donde tengamos una réplica que nos
permita recuperar datos porque nos
permita reemplazar la base de datos
principal
en la nube digamos que hay tres
servicios muy importantes el primero es
el de amazon el segundo es el de azul y
el de google cloud a 2019 esos serán los
tres servicios con mayor penetración de
mercado y por eso voy a enfocar en sus
tres entonces qué servicios hay en la
nube y cada uno de esas plataformas para
implementar esta arquitectura que les
estoy mostrando para que puedan empezar
digamos que a profundizar más y empezar
a estudiar los servicios que les van a
servir para implementar las máquinas
virtuales además den un servicio que se
llama el s2 ahí no puede crear máquinas
virtuales
en windows linux tú escoges cuánta
memoria ram quieres qué procesador
necesitas lo mismo pueden ser visuales
virtual machines de hacer lo mismo con
el engine de google cloud para bases de
datos hay muchísimos servicios
básicamente digamos que las bases de
datos principales están en todas las
plataformas gratis más equal post sql
así cual server todas están disponibles
también hay toda una gama de bases de
datos
- igual donde digamos que también para
implementarlas y las puedes pegar sin
ningún problema
y cuál es que te salga muchísimo más
rentable utilizar un servicio base de
datos joyce implementaciones donde se
instala la base de datos en la máquina
virtual donde va a poner el código y esa
es una buena idea principalmente porque
te va a salir más costoso y porque estás
arriesgando la escalabilidad y la
residencia de la aplicación en el
sentido de que si esa máquina virtual se
cae pues se cae todo seca su servidor de
aplicaciones y se queda también tu base
a dos listón y esos servicios de base de
datos están diseñados con ciertas
funcionalidades adicionales que están a
facilitar digamos que tener en ciertas
ventajas al manipular tus bases de apps
y si necesitan ser balance de carga
también hay unos servicios y estuve se
llama muy similar en el caso del uss se
llaman las siglas balance y en el caso
de google crowd se llama google cloud
los dallas english o just en los
balances entonces los nombres son muy
muy similares
cuando eres utilizar esa arquitectura es
preguntando principalmente que no tienes
aplicaciones web sencillas estás digamos
que la arquitectura con la que digamos
un arrancaría en algunos casos puede que
el servidor de aplicaciones o la capa de
negocios no sea necesaria listo si tu
aplicación es tan simple que te puedes
dar el lujo de interactuar con la base
de datos desde digamos que una capa web
es válido eliminar esa capa en la mitad
de díaz que va a hablar bien el caso
tienes que mirar muy bien la separación
de responsabilidades y el otro escenario
es cuando tú quieres llevar una
aplicación que ya tienes la quieres
poner en la nube eso es lo que se llama
un enfoque leaf and chief porque esta es
la forma digamos que es más rápida donde
yo tomo mi aplicación y alguna forma es
como si utilizar una grúa la levantara y
la pusiera digamos que dentro de la nube
entonces esa es digamos que es el
enfoque más sencillo y más rápido de
llegar a la nube
obviamente no vas a tener la
arquitectura ideal que quisieras pero es
un buen punto de partida
entonces eso era lo que tenía para
compartir te espero que te haya servido
este vídeo si estás pensando en cloud y
tienes arquitecturas por capas tú las
puede llevar a la nube sin ningún
problema pero tienes que tener en cuenta
algunas de las cosas que mencionan en
este vídeo ya cerrando el tema entonces
quisiera que tú quieras' a mi lista de
correo aquí está la url para que puedas
profundizar más entonces se manda
arquitectura y de diseño y bueno eso era
lo que quería para compartir entonces
del campus par y espero que te haya
gustado el vídeo si hacen alguna
experiencia previa con computación en la
nube desplegando aplicaciones me
gustaría
hicimos a verlo déjame un comentario
abajo de este vídeo y nos vemos en el
próximo hasta pronto
[Música]
5.0 / 5 (0 votes)