Session 1: Virtual Machines y la Nube

GCP Essentials

Victor Aguilar

http://xiberty.com

victor@xiberty.com

Victor Aguilar C

victor@xiberty.com

Soy desarrollador fullstack y fundador de xiberty en donde construimos aplicaciones web, móviles (android e ios) y chatbots.


¿Que son las Maquinas Virtuales?

Una máquina virtual es un software que emula un ordenador justo como si fuese uno real.

Básicamente es un ordenador dentro de otro ordenador

alias: MV ó VM

Las Maquinas Virtuales

Se verían así:

Host

Hipervisor (Tipo 1 y 2)

VMs (Virtual Machines)

https://xib.li/gcloud-tour

Google Cloud DataCenter

En perspectiva

Nos enfocaremos en las VMs

¿Como crear Maquinas Virtuales?

  1. Crear VMs de forma local
  2. Puedes alquilar VMs en internet

Maquinas Virtuales

 

de forma Local

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|

  config.vm.box = "ubuntu/xenial64"

  config.vm.hostname = "GCPSession1"
  config.vm.box_check_update = true

  config.vm.network "private_network", ip: "192.168.33.190"
  config.vm.synced_folder "./", "/code", disabled: false

  config.vm.provider "virtualbox" do |vb|
     vb.gui = false
     vb.memory = "1024"
     vb.name = "GCPSession1"
  end

end

Ejemplo

VMs en internet

Hay muchos mas...

mediante proveedores

MEJOR

EXPLÍCAME CON CHUBIS

Preguntas comunes

  • ¿Como lo despliego en Internet?
  • ¿Que necesito?
  • ¿Que me conviene?

Para desplegar un proyecto en internet

  • Hosting Compartido (si se puede)
  • Servidor Dedicado (propio / alquilado)
  • PAAS (Plataformas como Servicio)
  • SAAS (Software como Servicio)
  • IAAS  (Infraestructura como servicio - VPS)

Existen muchas opciones

Servidor Dedicado

  • Necesitas un IP Público
  • Computadora con buena conectividad.
  • Configurar todo (básicamente tener mucho tiempo libre y mucha plata)

Hosting compartido

  • Casi no necesitas conocimientos
  • Levantas una piedra, encuentras proveedor
  • Viene con un webadmin (cpanel por lo general)
  • Puedes subir tus proyectos por FTP y a veces por SSH
  • No tienes control
  • Es el más barato en todo aspecto

PAAS

  • Generalmente es una solución todo en uno
  • Basta con tener su CLI instalado
  • Tiene una serie de componentes para potenciar el proyecto o un catalogo de servicios
  • Pagas por uso

IAAS (VPS)

  • Es una maquina virtual privada en internet
  • De un tiempo hasta ahora son accesibles
  • Es uno de  los pilares de "La Nube"
  • Tienes el control total
  • Es Flexible y en cierto modo escalable
  • Pagas según el plan

Pensemos en un edificio

Hosting Compartido

VPS

Servidor Dedicado

Para entenderlo mejor

Proveedores

...

CLOUD

TRADICIONAL

...

Proveedores

CLOUD

TRADICIONAL

Precio Fijo

Mensual

Servicios

Basicos

Recursos

Fijos

Precio Según uso

Todo tipo de Servicios

Recursos a demanda

¿Que es la nube?

Es una red global de servidores conectados para funcionar como un único ecosistema

Practiquemos un poco

Para ver las diferencias

1. Montar un sitio web Angular ​ en Digital Ocean  (Proveedor tradicional)

Prácticas

2. Montar un Wordpress en Google Cloud       (Proveedor Cloud)

Terminal

Herramientas

Cliente SSH

VPS

Dominio

Sitio Web

Enlaces

Desplegar un sitio Angular

en:

https://akveo.github.io/nebular/docs/

Desplegando un sitio Angular

1. Crear el Droplet en Digital Ocean

2. Registrar y dirigir el dominio de la app al droplet

3. Instalar el proyecto en el Droplet

4. Configurar el  Servidor Web para la app.

# cd /var/www/angular.xiberty.com

# apt install build-essential curl nginx git  -y 

# npm install && npm run build:prod

Comandos en el server

INSTALAR EL PROYECTO

# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

# apt install nodejs -y && mkdir -p /var/www/angular.xiberty.com

1.
2.
3.
4.
5.
6.

# wget https://xib.li/angular-config --no-check-certificate

# mv angular-config  angular.xiberty.com

# ln -s /etc/nginx/sites-available/angular.xiberty.com /etc/nginx/sites-enabled/

# cd /etc/nginx/sites-available/

Comandos en el server

CONFIGURAR EL SERVIDOR WEB

#  service nginx restart

# nano  angular.xiberty.com # Editar

7.
8.
9.
10.
11.
12.

Google Compute Engine

Regiones

Google Cloud Console

Google Cloud Shell

gcloud

https://cloud.google.com/sdk/

PORFIS PROBEMOS QUICKLABS

GCP Essentials

1. Creating a Virtual Machine

2. Getting Started with Cloud Shell & gcloud

3. Provision Services with Cloud Launcher

Lab. Desplegar un sitio Wordpress

en:

Text

Desplegando un sitio Wordpress

1. Crear la instancia en Google Cloud

2. Abrir Google Cloud Shell

3. Configurar un Dominio para el Sitio

4. Instalar un Servidor Web y crear la configuración de wordpress.

Google Cloud Launcher

Es un catalogo de aplicaciones y servicios que se lanzan a un solo click

Lab: Desplegar un blog Ghost en

Google Cloud

Via Cloud Launcher

Enlaces de Interés

¿Preguntas?

victor@xiberty.com

VMs, Droplets, Instancias y otras Hierbas

By Victor Aguilar

VMs, Droplets, Instancias y otras Hierbas

Un breve repaso a las maquinas virtuales su uso y funcionamiento

  • 295