Introducci贸n

1

Lo que aprender谩s sobre DevOps con GitLab

2

驴Qu茅 es Devops?

3

El ciclo de vida del Devops

4

Introducci贸n a Gitlab

5

Gitlab vs Github

Administraci贸n

6

Autenticaci贸n

7

Grupos

8

Autorizaci贸n

9

Auditor铆a

10

Proyectos

Planificaci贸n

11

Tipos de desarrollo

12

Planificaci贸n en Gitlab-Issues

13

Planificaci贸n en Gitlab-Etiquetas

14

Planificaci贸n en Gitlab-Pesos

15

Planificaci贸n en Gitlab-Milestones

16

Planificaci贸n en Gitlab-Boards

17

Planificaci贸n en Gitlab-Service Desk

18

Planificaci贸n en Gitlab-Quick actions

Verificaci贸n

19

Inicializaci贸n del repositorio

20

Merge requests

21

Profundizando en Merge requests

22

Continuous Integration-CI

23

Gitlab CI

24

Automatizacion con GitLab Cl

25

Validacion de la configuracion con GitLab Cl

26

gitlab-ci.yml

27

Gitlab pages

28

Implementando Gitlab pages

29

驴Qu茅 es el Desarrollo 脕gil?

30

Gitlab autodevops

31

Implementando GitLab autodevops

32

Habilitando autodevops

Empaquetaci贸n

33

Gitlab container registry

34

Introducci贸n a contenedores

Seguridad

35

Introducci贸n a DevSecOps

36

Firmas de seguridad

37

Pruebas est谩ticas de seguridad

38

Escaneo de contenedores

39

Escaneo de dependencias

40

Pruebas din谩micas de seguridad

41

Gitlab security dashboard

Distribuci贸n

42

Continuous Delivery (CD)

43

Ambientes

44

Review apps

45

Estrategias de Distribuci贸n

46

Feature Flags

47

Rollback

Monitoreo

48

驴Por qu茅 monitorear?

49

M茅tricas de desempe帽o (performance metrics)

50

M茅tricas de salud (health metrics)

51

Metricas de equipo

52

Rastreo de errores

Conclusiones

53

驴Por qu茅 desarrollar con Gitlab?

El ciclo de vida del Devops

3/53
Recursos
Transcripci贸n

El modelo de DevOps no es una receta de cocina donde sigues las instrucciones y obtendr谩s un resultado. Este modelo es iterativo, un infinite loop y si lo detenemos nuestra compa帽铆a muere.

El modelo de DevOps se entiende como un loop donde existen diferentes etapas y consideraciones que atienden algunas etapas en especifico.

  • Plan: Ac谩 definimos las labores, los requerimientos que se necesitan para implementar en nuestra plataforma y para esto usamos herramientas como issues o boards.
  • Create: Es escribir el c贸digo necesario para resolver el problema de negocio que tenemos. Todo este c贸digo podemos tenerlo en un solo lugar para colaborar y se hace uso de repositorios, tambi茅n branchs o tags.
  • Verify: Se corren nuestras pruebas automatizadas donde definimos las reglas a probar.
  • Package: Empaquetamos nuestro c贸digo para correr en una infraestructura determinada. Normalmente se hace en un contenedor de Docker.
  • Release: Una nueva versi贸n de nuestro c贸digo y llega a producci贸n.
  • Configure: Se puede cambiar nuestro cluster de kubernetes, mandar instrucciones para manejar el nuevo estado de nuestra aplicaci贸n.
  • Monitor: C贸mo nuestro c贸digo esta funcionando, qu茅 tipo de performance ocurre en los dispositivos de nuestros clientes.

Aportes 23

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.


  • Plan: Ac谩 definimos las labores, los requerimientos que se necesitan para implementar en nuestra plataforma y para esto usamos herramientas como issues o boards.
  • Create: Es escribir el c贸digo necesario para resolver el problema de negocio que tenemos. Todo este c贸digo podemos tenerlo en un solo lugar para colaborar y se hace uso de repositorios, tambi茅n branchs o tags.
  • Verify: Se corren nuestras pruebas automatizadas donde definimos las reglas a probar.
  • Package: Empaquetamos nuestro c贸digo para correr en una infraestructura determinada. Normalmente se hace en un contenedor de Docker.
  • Release: Una nueva versi贸n de nuestro c贸digo y llega a producci贸n.
  • Configure: Se puede cambiar nuestro cluster de kubernetes, mandar instrucciones para manejar el nuevo estado de nuestra aplicaci贸n.
  • Monitor: C贸mo nuestro c贸digo esta funcionando, qu茅 tipo de performance ocurre en los dispositivos de nuestros clientes.

Ciclo de DevOps:

**PLAN: ** Planificar y dise帽ar lo que vamos a realizar.
**CREAR: ** Programar el software.
**VERIFICAR: ** Probar los requerimientos y que si cumpla las reglas establecidas.
**EMPAQUETAR: ** Empaquetar el software para ser revisado
**REVISAR: ** Realizar pruebas al c贸digo.
** CONFIGURAR: ** Organizar entornos y configuraci贸n requeridos.
** DISTRIBUIR: ** Tras cumplir el ciclo, distribuir el Software.
** MONITOR: ** Revisar que en los dispositivos todo siga funcionando.

Repetir, para siempre estar mejorando y avanzando.

Eso de simular ataques si que no me lo esperaba.

Beneficios del ciclo de vida de devops

  • Velocidad: Es lento hacer las cosas manuales

  • R谩pida distribuci贸n: Poder comparar cambios diariamente ayuda mucho

  • Confiabilidad: Cuando tenemos procesos manuales, nos podemos equivocar como humanos, al hacer bien nuestro trabajo de devops, bajamos ese error.

  • Escala: Al automatizar bajamos el tiempo y hace que podamos crecer nuestra infraestructura a una escala antes no imaginada

  • Colaboraci贸n: Al estar todo el equipo en comunicaci贸n se mejora la colaboraci贸n

  • Seguridad: Las m谩quinas se ponen a hacer revisones de seguridad constantes cada que realizamos un cambio.

No pos ta chido

Para los que quieran SIMULAR ATAQUES
aqui hay un articulo muy bueno de provedores de simulacion de ataques y brechas de seguritad

https://www.esecurityplanet.com/products/breach-and-attack-simulation-bas-vendors/

  • Ciclo DevOps. Infinity Loop, Mejora Continua.

    • Planificaci贸n. Definimos los requerimientos, usamos issues, boards.
    • Desarrollo. Escribir c贸digo, uso de repositorios.
    • Verificaci贸n, Pruebas Automatizadas, definimos las reglas para que el software se de calidad.
    • Empaquetado. Compilaci贸n de c贸digo para la puesta a producci贸n, usamos contenedores.
    • Despliegue o Release. Nuevas versiones, CD, puesta a producci贸n.
    • Configuraci贸n, realizar los cambios para que la aplicaci贸n se ejecute correctamente.
    • Monitoreo. Verificar la performance de la aplicaci贸n.

    Mientras desarrollamos debemos de asegurar nuestra aplicaci贸n y cuando ya se encuentra en producci贸n debemos defender.

  • Beneficios DevOps

    • Velocidad. entregas r谩pidas, automatizaci贸n.
    • R谩pida distribuci贸n. CD, cambios diarios
    • Confiabilidad. Por la automatizaci贸n de procesos
    • Escala, Podemos escalar nuestra infraestructura
    • Colaboraci贸n. Mejora de procesos
    • Seguridad. a trav茅s de pruebas automatizadas.

驴cu谩l ser铆a la definici贸n de 鈥渇eature flag鈥? obviamente teniendo en cuenta el contexto y ser铆a ideal alg煤n ejemplo.

驴El ciclo de vida del devops, es equivalente a un sprint? 驴O a cu谩nto tiempo equivale?

En inform谩tica, el hardening o endurecimiento es el proceso de asegurar un sistema reduciendo sus vulnerabilidades o agujeros de seguridad, para los que se est谩 m谩s propenso cuanto m谩s funciones desempe帽a; en principio un sistema con una 煤nica funci贸n es m谩s seguro que uno con muchos prop贸sitos.(tomado de Wikipedia),

Somos semidioses

Muy claro los conceptos, iniciamos!

El modelo de DevOps se entiende como un loop donde existen diferentes etapas como: Plan, crear, verificar, empaquetar, release, configurar y monitorear.!!!

Devops es un ciclo iterativo:
----DESARROLLO----
PLAN Se define el problema a resolver.
CREATE Crear el c贸digo para crear el programa para resolcer el programa. Un pizarron cualquiera.
VERIFICARLO El testeo, b谩sicamente. Git.
EMPAQUETAR Lo entiendo como comprimir el c贸digo para que el c贸digo corra donde sea. Docker.
----OPERACIONES----

RELEASE Mandar el c贸digo anterior a operaciones.
CONFIGURACION Configurar la nube (los clusters) para que el c贸digo corra.
MONITOREAR Ver como el c贸digo est谩 corriendo, su permormance, y ver que se puede mejorar

Haciendo esto, ser谩 muchisimo m谩s r谩pido que el c贸digo llegue a producci贸n.

Muy claro todo el inicio de DevOps

Muy Intererante el curso. Siempre pensando en la mejora continua.

Mejor explicaci贸n DevOps

Mejora continua un Infinite Loop.

Devops
Plan
Create
Verify
Package
Release
Configure
Monitor

Muy interesante el ciclo de vida de DevOps

  1. Planeacion
  2. Creacion
  3. Verficacion
  4. Empaquetar
  5. Liberar
  6. Configracion
  7. Monitoreo

En muchas empresas se pasa por alto todo en el afan de sacar rapidamente a produccion, pero a la larga toma mas tiempo y termina siendo mas costoso

Ciclo DevOps. Infinity Loop, Mejora Continua.
- Planificaci贸n. Definimos los requerimientos
- Desarrollo. Escribir c贸digo, uso de repositorios
- Pruebas. Automatizadas, definimos las reglas para que el software se de calidad.
- Empaquetado. Compilaci贸n para la puesta a producci贸n
- Despliegue o Release. Nuevas versiones, CI
- Configuraci贸n, realizar los cambios para que la aplicaci贸n se ejecute correctamente.
- Monitoreo. Verificar la performance de la aplicaci贸n.