Ya que ahora SQL Server corre en Linux, da paso a muchas posibilidades para poder trabajar de una manera más consistente y esperada. Seguramente también habrás ya escuchado hablar de Docker y te preguntaras como esta pieza encaja dentro del rompecabezas, sobre todo para temas de bases de datos.
En esta presentación veremos cómo los contenedores Docker para SQL Server nos pueden ayudar a tener una integración y entrega continua de los cambios en las bases de datos. Abarcaremos tanto la perspectiva de desarrollo como la del administrador (DBA). Sera una presentación con un gran porcentaje de práctica, así que lleva lista tu computadora con Docker instalado, no importa el SO que uses.
4. z
“Cuando el servidor de la base de datos
deja de funcionar o se somete a una revisión
o reemplazo importante, los programadores
no pueden trabajar porque su trabajo está
vinculado a la presencia de la base de datos.
Esto causa costos de demora y, a menudo,
malos sentimientos entre las personas.”
(Alistar Cockburn, Hexagonal Architecture)
5. z
¿CI/CD?
Integracion Continua
Integrar al menos diario
Pruebas Automatizadas
“Andon cord”
Ciclos Cortos
Build una vez
Entrega Continua
Igual en todos lados
Minimizar Riesgos
Incrementar Calidad
< Tiempo de Entrega
+ Feedback
6. z
¿Por que es tan dificil?
Volumen de Informacion Involucrado
Diferente Ciclo de Vida al de la Aplicacion
Preservacion de Datos
Grandes Cambios
Revision de Scripts
Centro de la Arquitectura
7. z
¿Solucion?
Control de Versiones
Base de Datos como Codigo (DB Scripting)
Bases de Datos Isoladas (no solo por ambiente)
Cambios Incrementales (Integracion Continua)
Historico de Migraciones (Roll-back facilmente)
Datos de Prueba (por caso de uso)
9. z
Un dia usual de trabajo …
Inicio del desarrollo
Actualizar copia local (BD y codigo)
Empujar los cambios al repositorio
Integrar los cambios por el servidor de CI
Server de CI compila y prueba (automatico)
Server de CI empaqueta los artefactos
17. z
SQL Server + Docker
Windows, Linux, Mac
2 GB de Memoria y Disco
docker pull microsoft/mssql-server-linux:2017-latest
docker run -e "ACCEPT_EULA=Y" -e
"MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" ` -p
1401:1433 --name sql1 ` -d microsoft/mssql-server-linux:2017-
latest
Developer Edition (Enterprise Non-Production)
18. zz
Docker para Desarrollo
de SQL Server
Miles de pruebas
CI/CD automatizado
800 contenedores (dia)
1.5k contenedores (semana)
https://thenewstack.io/microsoft-uses-linux-containers-test-sql-server-2017/