Platzi
Platzi

Suscríbete a Expert y aprende de tecnología al mejor precio anual.

Antes:$249
$209
Currency
Antes:$249
Ahorras:$40
COMIENZA AHORA
12

Resumen de la carrera Administración de Servidores y DevOps

Osmandi
osmandi
40502
Screenshot_20171014_120057.png

La creación de aplicaciones web es un poco más complicada de lo que podemos pensar en un principio, aquí te ayudare con la parte de llevarlo a producción. La administración de servidores, el BackEnd, Data Science y Pentesting son mis partes favoritas por cierto 😃

Esta carrera enseña lo que es la administración de servidores Linux, plataformas de producción y DevOps.

Imaginémosnos un carro:

  • Todo lo que vemos (ruedas, volante, color, puertas, etc.) es el FrontEnd
  • Todo el mecanismo para que ruede de forma segura (motor, transmisión, frenos, etc.) es el BackEnd
  • Las carreteras y autopistas por donde conduciremos es la Administración de Servidores

Muy bien, parece que tenemos todo. Y, ¿dónde encaja DevOps en nuestro ejemplo? Muy sencillo 😃 :

DevOps hace que nuestro carro se conduzca solo, evite huecos y retorne en caso de que haya un problema en la autopista.

En este tutorial te hablaré de las carreteras y de nuestro auto inteligente.

No sé cómo era antes, pero hoy en día tenemos muchas opciones para desplegar nuestra aplicación a producción de forma gratuita, con ciertas limitaciones claro. Entra ellas son:

1.- Con control de la infraestructura (IaaS)
Aquí rentas un servidor virtualizado completo, tendrás el control total de su administración. Lo único que te evitas acá es estar pendiente del bienestar del Hardware, lo que debes preocuparte es de la administración correcta de la RAM. Como todo estará a tu cargo, debes estar pendiente de la configuración correcta del firewall, respaldo de la base de datos, que el servidor no se caiga, etc. Las opciones más destacadas son:

a.- AWS: Es de Amazon, es por instancia donde cada una tiene su performance y costo. Tienes acceso gratis por todo un año a su instancia más básica. Para Optar por ella requieres verificar tu tarjeta de crédito para lo cual necesitas tener 1$ que al cabo de unos días te lo retornarán.

b.- Azure: Es de Microsoft, también es por instancias. Cada instancia tiene su performance y su costo. De tener tu instancia apagada no generará ningún costo. Su plataforma administrativa es bastante completa de lo que cabe destacar es la parte de Facturación donde te indican lo que has consumido y cuánto te van a cobrar. Se pueden instalar extensiones como firewall que te falicitarán muchas cosas, algunas son de pago. Para optar por una cuenta necesitas ingresar una tarjeta de crédito que tenga mínimo 1$, una vez creada te obsequian 200$ que puedes gastarlo a tu antojo dentro de la plataforma durante solo el primer mes (ese dinero no puede ser usado fuera de Azure).

c.- DigitalOcean: Sus instancias se llaman Droplets, cada Droplet tiene su performance y costo. Es más intuitiva de usar que AWS y Azure pero estos dos son unos monstruos en IaaS. Es bastante “accesible”, su Droplet más económico cuesta 5$/mes, pero no tiene nada gratuito.

Nota Para practicar con IaaS, necesitas mínimo 1$ en tu tarjeta de crédito.

2.- Sin control de la infraestructura (PaaS):
Aquí de lo único que te tienes que preocupar es de construir tu aplicación y solo eso. Las opciones son muy variadas, entre las que más destacan son:

a.- Surge.sh: Es una plataforma para solo subir páginas web estáticas. Al momento de hacer deploy escoges el subdominio, aunque muy bien comprar un dominio desde la plataforma. Tienes un certificado SSL básico gratis, pero sin redireccionamiento HTTP=>HTTPS. Puedes tener tantas aplicaciones web como quieras. Reconoce automáticamente el 404.html. Ideal para desarrolladores FrontEnd. Mi pagina web de prueba con esta plataforma es https://osmandi.surge.sh

b.- GitHub Pages: GitHub tiene el servicio de páginas web estáticas, lo bueno de subirlas aquí es que tendrás tu código de la página en la misma plataforma, solo haces un git push a tu repositorio y GitHub se encarga del resto. Hay dos maneras de hacer páginas web en esta plataforma, una es dejando todos los archivos estáticos en la carpeta principal de la rama y la otra es hacerlo en la carpata /docs. Tienes SSL gratis. Lo que debes tener en cuenta es que tendrás tu página principal con el nombre de tu repositorio y el resto de páginas que vayas a crear van a ser una subcarpeta de tu página principal. Ejemplo:

Mi página aquí es
https://osmandi.github.com

y mi blog personal es
https://osmandi.github.com/blog

No sólo puedes tener html también puedes hacer tu página con md y GitHub tiene unos temas muy llamativos, pero ten cuidado porque hay un límite de caracteres en ciertos parámetros que si los pasas no lo asimilará la página, es decir, no se va a caer porque hayas ingresado mal una línea sencillamente no tomará el último deploy. Ideal para desarrolladores FrontEnd.

c.- Now.sh: Esta es una plataforma a parte. Aquí puedes subir aplicaciones web estáticas como dinámicas pero con unos detalles que ya te mencionaré. Puedes hacer tantos deploy quieras, con su SSL gratis, subdominio personalizado, redireccionamiento HTTP=>HTTPS, debes tener en cuenta que no reconoce automáticamente el 404.html. Puedes comprar un dominio con mucha facilidad y ver los logs es sumanente sencillo. Un aspecto importante, es que en su modo gratuito todo lo que subas será opensource, todo el código será visible de forma pública. Pero las claves a bases de datos puedes guardarlas como variables de entorno que no estarán a la vista de los curiosos 😃. Para BackEnd puedes subir Node.js y Docker. Con Docker se traduce al archivo Dockerfile, de tal forma que puedes usar cualquier lenguaje de BackEnd usando Docker. Ahora en tanto a las bases de datos, las manejas con conecciones a bases de datos remotas, una plataforma que tiene planes gratuitos y usa PostgreSQL es https://www.elephantsql.com/ . Mi página aquí es https://osmandi.now.shIdeal para FrontEnd y BackEnd. Pero más para el segundo 😃

d.- Heroku: Esta es una plataforma donde de verdad en lo único que te tienes que preocupar es en tu aplicación, aquí las instancias se les llaman dyno. Puedes subir código Node.js, Java, Go, Scala, PHP, Ruby, Python y Clojure. Tienes SSL gratis. Debes saber lo básico de Git, pues porque la mejor manera de hacer deploy es por terminal. Los servicios como bases de datos es con plugin. Gratuitamente puedes tener 550 horas de tu aplicación en funcionamiento, si tu aplicación no tiene solicitudes en 30 minutos seguidos, ella duerme para ahorrar horas dyno y si alguien busca tu aplicación cuando está dormida solo tardará unos segundos adicionales para responder. Puedes tener hasta 5 aplicaciones gratuitas en funcionamiento. Ahora, si verificas tu cuenta con tu tarjeta de crédito (en dólares) tienes más beneficios, como por ejemplo 450 horas dyno adicionales y 100 aplicaciones en funcionamiento. Ideal para desarrolladores BackEnd

Mi aplicación en go
https://sleepy-dusk-98595.herokuapp.com/

Mi aplicación en Java
https://serene-temple-94963.herokuapp.com/

¿Cuál Service usar? Mi recomendación, si tu aplicación es pequeña usa PaaS. Pero si quieres tener el control total del servidor usar IaaS.

Ahora, ¿En qué parte entra DevOps a la escena? Lo pondré sencillo, imagina hacer deploy de tu aplicación a tu repositorio en GitHub en una rama secundaria, pase por una plataforma que verifique que no vaya a romper todo el código, luego haga un deploy a una plataforma de prueba, verifique que todo esté bien, haga un merge de la rama secundaria con master para finalmente subirlo a tu plataforma de producción y todo de forma automática. Eso es DevOps en su estado puro, con muchas vitaminas y gimnasio 😄, ¿no crees que sería genial que además te llegue un mensaja a tu tlf si todo salió bien? Verdad que sí 😃

Lo primero es que hagas el curso de Terminal y luego el de Git y GitHub

Si vas por FrontEnd el curso de Now.sh

Si vas por BackEnd el curso de Docker y Now.sh o Heroku.

Ahora si lo que quieres es administrar servidores y DevOps entonces todos los cursos de la carrera 😄.

Espero tus comentarios 😃

Escribe tu comentario
+ 2
Ordenar por:
0
5327Puntos

No puedo usar azure como servidor?

0
5052Puntos

Muy buen artículo, gracias por tu aporte.

0
2040Puntos

Muy buen artículo. Me parece excelente tu resumen. Creo que esta será la primera carrera a completar en mi lista! 😃

1
40502Puntos
4 años

Muchas gracias, es una muy buena decisión 😄