SlideShare una empresa de Scribd logo
1 de 23
CI/CD con Docker
para SQL Server
Christian Melendez
z
Agenda
 CI/CD con Bases de Datos
 ¿Docker?
 Migraciones con .NET Core
 Demo
z
CI/CD con Bases de Datos
Publicaciones consistentes y predecibles
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)
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
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
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)
z
Desacoplamiento
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
z
zz
Siempre
Refactorizacion
en la BD
Publicar Frecuentemente
“Si duele, hazlo mas seguido”
z
¿Docker?
Contendores FTW
z
z
Docker
 “Como una VM, pero diferente”
 Ligero, estandard y seguro
 Memoria, CPU, Network y Storage
 Volumenes (persistir datos)
z
Docker
Contenedores Maquinas Virtuales
z
zz
Modernizacion
con Docker
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)
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/
z
Migraciones con .NET Core
Bases de Datos como codigo
z
Entity Framework Core Migrations
 Migraciones como Codigo (MaC)
 Historico de Migraciones
 Rollback Facilmente
 Genera DDL
z
Herramientas
 SQL Server Data Tools
 Redgate Data Tools
 MSSQL Scripter
 sqlcmd
 bcp
 Y mas …
zz
Demo
 .NET Core
 Entity Framework
 Docker
 Kubernetes
https://github.com/christianhxc/evodb
z
¿Preguntas?
Christian Melendez | cmelendeztech.com
Twitter: @Christianhxc

Más contenido relacionado

La actualidad más candente

Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoMario IC
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
Kubernetes - #gdglimasummit
Kubernetes - #gdglimasummitKubernetes - #gdglimasummit
Kubernetes - #gdglimasummitAngel Nuñez
 
Pipelines as Code en Azure DevOps
Pipelines as Code en Azure DevOpsPipelines as Code en Azure DevOps
Pipelines as Code en Azure DevOpsChristian Melendez
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSJan Sanchez
 
Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayPlain Concepts
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeAngel Nuñez
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingAngel Nuñez
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
 
Web App Container
Web App ContainerWeb App Container
Web App ContainerCDS
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 

La actualidad más candente (20)

Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Contenedores como Servicio con Docker
Contenedores como Servicio con DockerContenedores como Servicio con Docker
Contenedores como Servicio con Docker
 
Kubernetes - #gdglimasummit
Kubernetes - #gdglimasummitKubernetes - #gdglimasummit
Kubernetes - #gdglimasummit
 
Pipelines as Code en Azure DevOps
Pipelines as Code en Azure DevOpsPipelines as Code en Azure DevOps
Pipelines as Code en Azure DevOps
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
 
Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev Day
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and Scaling
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 
Introducción a Kubernetes
Introducción a KubernetesIntroducción a Kubernetes
Introducción a Kubernetes
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 
Containers
ContainersContainers
Containers
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 

Similar a Integracion y Entrega Continua con Docker para SQL Server

Escalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEscalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEduardo Castro
 
Dynamics saturday madrid 2018 bc-on-docker - jakub
Dynamics saturday madrid 2018   bc-on-docker - jakubDynamics saturday madrid 2018   bc-on-docker - jakub
Dynamics saturday madrid 2018 bc-on-docker - jakubDemian Raschkovan
 
Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverEnrique Catala Bañuls
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosRonald Francisco Vargas Quesada
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...Plain Concepts
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 
Aplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual MachineAplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual MachineJoseph Lopez
 
Windows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTWindows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTMICTT Palma
 
Servicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWSServicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWSAmazon Web Services LATAM
 
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012SolidQ
 
BBVA Arquitectura - Demo DevOps
BBVA Arquitectura - Demo DevOpsBBVA Arquitectura - Demo DevOps
BBVA Arquitectura - Demo DevOpsErnesto Anaya
 
Escalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEscalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEduardo Castro
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en DockerJavier Villegas
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidadEduardo Castro
 

Similar a Integracion y Entrega Continua con Docker para SQL Server (20)

Escalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEscalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql database
 
Dynamics saturday madrid 2018 bc-on-docker - jakub
Dynamics saturday madrid 2018   bc-on-docker - jakubDynamics saturday madrid 2018   bc-on-docker - jakub
Dynamics saturday madrid 2018 bc-on-docker - jakub
 
Build and deploy
Build and deploy Build and deploy
Build and deploy
 
Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productos
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
Aplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual MachineAplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual Machine
 
Windows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTWindows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTT
 
Dockeriza tu SQL Server
Dockeriza tu SQL ServerDockeriza tu SQL Server
Dockeriza tu SQL Server
 
Servicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWSServicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWS
 
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
 
Oracle en windows
Oracle en windowsOracle en windows
Oracle en windows
 
BBVA Arquitectura - Demo DevOps
BBVA Arquitectura - Demo DevOpsBBVA Arquitectura - Demo DevOps
BBVA Arquitectura - Demo DevOps
 
Docker ECS en AWS
Docker ECS en AWS Docker ECS en AWS
Docker ECS en AWS
 
Escalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEscalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scale
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidad
 

Más de Christian Melendez

DevOps Is Not What You Have Been Told It Is
DevOps Is Not What You Have Been Told It IsDevOps Is Not What You Have Been Told It Is
DevOps Is Not What You Have Been Told It IsChristian Melendez
 
Diferencias entre DevOps y SRE
Diferencias entre DevOps y SREDiferencias entre DevOps y SRE
Diferencias entre DevOps y SREChristian Melendez
 
Shifting security to the left with kubernetes, azure, and istio
Shifting security to the left with kubernetes, azure, and istioShifting security to the left with kubernetes, azure, and istio
Shifting security to the left with kubernetes, azure, and istioChristian Melendez
 
Development Workflow in Kubernetes
Development Workflow in KubernetesDevelopment Workflow in Kubernetes
Development Workflow in KubernetesChristian Melendez
 
La Vida de un Desarrollador con Kubernetes y Azure
La Vida de un Desarrollador con Kubernetes y AzureLa Vida de un Desarrollador con Kubernetes y Azure
La Vida de un Desarrollador con Kubernetes y AzureChristian Melendez
 
Building CI/CD Pipelines for Kubernetes
Building CI/CD Pipelines for KubernetesBuilding CI/CD Pipelines for Kubernetes
Building CI/CD Pipelines for KubernetesChristian Melendez
 
Bots ¿Qué son? Y ¿Cómo hacer uno?
Bots ¿Qué son? Y ¿Cómo hacer uno?Bots ¿Qué son? Y ¿Cómo hacer uno?
Bots ¿Qué son? Y ¿Cómo hacer uno?Christian Melendez
 
Optimizando imagenes con Multi Stage builds
Optimizando imagenes con Multi Stage buildsOptimizando imagenes con Multi Stage builds
Optimizando imagenes con Multi Stage buildsChristian Melendez
 
Arquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresArquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresChristian Melendez
 
Arquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECSArquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECSChristian Melendez
 
Aplicaciones Xamarin conectadas y desconectadas con Azure
Aplicaciones Xamarin conectadas y desconectadas con AzureAplicaciones Xamarin conectadas y desconectadas con Azure
Aplicaciones Xamarin conectadas y desconectadas con AzureChristian Melendez
 
Mi Primer Bot - Bot Framework + Xamarin
Mi Primer Bot - Bot Framework + XamarinMi Primer Bot - Bot Framework + Xamarin
Mi Primer Bot - Bot Framework + XamarinChristian Melendez
 
AWS Lambda + Serverless Framework
AWS Lambda + Serverless FrameworkAWS Lambda + Serverless Framework
AWS Lambda + Serverless FrameworkChristian Melendez
 
Docker Tools in Visual Studio and Azure
Docker Tools in Visual Studio and AzureDocker Tools in Visual Studio and Azure
Docker Tools in Visual Studio and AzureChristian Melendez
 
SQL Server Cross Platform Portable con Docker
SQL Server Cross Platform Portable con DockerSQL Server Cross Platform Portable con Docker
SQL Server Cross Platform Portable con DockerChristian Melendez
 

Más de Christian Melendez (20)

DevOps Is Not What You Have Been Told It Is
DevOps Is Not What You Have Been Told It IsDevOps Is Not What You Have Been Told It Is
DevOps Is Not What You Have Been Told It Is
 
Diferencias entre DevOps y SRE
Diferencias entre DevOps y SREDiferencias entre DevOps y SRE
Diferencias entre DevOps y SRE
 
Shifting security to the left with kubernetes, azure, and istio
Shifting security to the left with kubernetes, azure, and istioShifting security to the left with kubernetes, azure, and istio
Shifting security to the left with kubernetes, azure, and istio
 
Development Workflow in Kubernetes
Development Workflow in KubernetesDevelopment Workflow in Kubernetes
Development Workflow in Kubernetes
 
Bases de Datos en Kubernetes
Bases de Datos en KubernetesBases de Datos en Kubernetes
Bases de Datos en Kubernetes
 
La Vida de un Desarrollador con Kubernetes y Azure
La Vida de un Desarrollador con Kubernetes y AzureLa Vida de un Desarrollador con Kubernetes y Azure
La Vida de un Desarrollador con Kubernetes y Azure
 
Building CI/CD Pipelines for Kubernetes
Building CI/CD Pipelines for KubernetesBuilding CI/CD Pipelines for Kubernetes
Building CI/CD Pipelines for Kubernetes
 
7 Container Design Patterns
7 Container Design Patterns7 Container Design Patterns
7 Container Design Patterns
 
Bots ¿Qué son? Y ¿Cómo hacer uno?
Bots ¿Qué son? Y ¿Cómo hacer uno?Bots ¿Qué son? Y ¿Cómo hacer uno?
Bots ¿Qué son? Y ¿Cómo hacer uno?
 
AWS re:Invent 2017 re:Cap
AWS re:Invent 2017 re:CapAWS re:Invent 2017 re:Cap
AWS re:Invent 2017 re:Cap
 
Optimizando imagenes con Multi Stage builds
Optimizando imagenes con Multi Stage buildsOptimizando imagenes con Multi Stage builds
Optimizando imagenes con Multi Stage builds
 
Arquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresArquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y Contenedores
 
Arquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECSArquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECS
 
Aplicaciones Xamarin conectadas y desconectadas con Azure
Aplicaciones Xamarin conectadas y desconectadas con AzureAplicaciones Xamarin conectadas y desconectadas con Azure
Aplicaciones Xamarin conectadas y desconectadas con Azure
 
Mi Primer Bot - Bot Framework + Xamarin
Mi Primer Bot - Bot Framework + XamarinMi Primer Bot - Bot Framework + Xamarin
Mi Primer Bot - Bot Framework + Xamarin
 
Azure Functions 101
Azure Functions 101Azure Functions 101
Azure Functions 101
 
Docker en Azure
Docker en AzureDocker en Azure
Docker en Azure
 
AWS Lambda + Serverless Framework
AWS Lambda + Serverless FrameworkAWS Lambda + Serverless Framework
AWS Lambda + Serverless Framework
 
Docker Tools in Visual Studio and Azure
Docker Tools in Visual Studio and AzureDocker Tools in Visual Studio and Azure
Docker Tools in Visual Studio and Azure
 
SQL Server Cross Platform Portable con Docker
SQL Server Cross Platform Portable con DockerSQL Server Cross Platform Portable con Docker
SQL Server Cross Platform Portable con Docker
 

Último

Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 

Último (20)

Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 

Integracion y Entrega Continua con Docker para SQL Server

  • 1. CI/CD con Docker para SQL Server Christian Melendez
  • 2. z Agenda  CI/CD con Bases de Datos  ¿Docker?  Migraciones con .NET Core  Demo
  • 3. z CI/CD con Bases de Datos Publicaciones consistentes y predecibles
  • 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
  • 11. Publicar Frecuentemente “Si duele, hazlo mas seguido”
  • 13. z
  • 14. z Docker  “Como una VM, pero diferente”  Ligero, estandard y seguro  Memoria, CPU, Network y Storage  Volumenes (persistir datos)
  • 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/
  • 19. z Migraciones con .NET Core Bases de Datos como codigo
  • 20. z Entity Framework Core Migrations  Migraciones como Codigo (MaC)  Historico de Migraciones  Rollback Facilmente  Genera DDL
  • 21. z Herramientas  SQL Server Data Tools  Redgate Data Tools  MSSQL Scripter  sqlcmd  bcp  Y mas …
  • 22. zz Demo  .NET Core  Entity Framework  Docker  Kubernetes https://github.com/christianhxc/evodb
  • 23. z ¿Preguntas? Christian Melendez | cmelendeztech.com Twitter: @Christianhxc