18
Continuous Integration @rsciriano [email protected] roberto@pronet- ise.com Roberto Sanz Ciriano

DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Embed Size (px)

Citation preview

Page 1: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Continuous Integration

@[email protected]@pronet-ise.com

Roberto Sanz Ciriano

Page 2: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Consultora TI desarrolladora del ERP iECS.

Alta especialización en sectores como el ambiental e industrial.

4 certificaciones ISO.

Sede en Zaragoza, delegaciones comerciales en Barcelona y Madrid. Oficinas en Colombia y Ecuador.

grupo-pronet.com

Page 3: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

ComunidadDebates

Charlas Networking

Mesas redondas

Laboratorios

Cursos BeerworkingCode-Katas

Page 4: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

DevOps Acrónimo inglés de development (desarrollo) y operations (operaciones), que se refiere a una cultura o movimiento que

se centra en la comunicación, colaboración e integración entre desarrolladores de software y los profesionales en las tecnologías de la información (IT).

Automatiza el proceso de entrega del software y los cambios en la infraestructura. Su objetivo es ayudar a crear

un entorno donde la construcción, prueba y lanzamiento de un software pueda ser más rápido y con mayor fiabilidad.

https://es.wikipedia.org/wiki/DevOps

Page 5: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service
Page 6: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Continuous Integration Software development practice where members of

a team integrate their work frequently, usually each

person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows

a team to develop cohesive software more rapidly.

https://www.martinfowler.com/articles/continuousIntegration.html

Page 7: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Continuous Delivery Software development discipline where you build software in such a way that the software can be released to production at any time.

You’re doing continuous delivery when:

1. Your software is deployable throughout its lifecycle2. Your team prioritizes keeping the software deployable over

working on new features

3. Anybody can get fast, automated feedback on the production readiness of their systems any time somebody makes a change to them

4. You can perform push-button deployments of any version of the

software to any environment on demand

https://martinfowler.com/bliki/ContinuousDelivery.html

Page 8: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service
Page 9: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Contenedores

Virt

ual m

achi

ne

Containner Engine

Page 10: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

C:\Windows\System32\cmd.exeC:\source\AspNetCoreWebApp> Docker daemon

Images

Containners

Docker host (dev-machine)

Docker registry

Imagesmicrosoft/dotnetmicrosoft/mssql-server-Linuxmicrosoft/mssql-server-windowsnginxmysql

Docker daemon

Images

Containners

Docker host (prod-server)

docker build -t username/myapp .1microsoft/dotnet1adocker run -p 5000:5000 username/myapp2

docker push username/myapp3 username/myapp1b

21e06958145f (username/myapp)2adocker run –H prod-server -p 80:5000 username/myapp4

username/myapp3a

microsoft/dotnet4a

username/myapp4b

3f568a223bac (username/myapp)4c

Page 11: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Ficheros

Histórico

Repositorio de código fuentePrivate Docker registry

Images

Cluster ejecución contenedores

user/myapp:v11b

Builds

Servicio de compilación

docker-compose.images.yaml

MyApp Dockerfile docker-compose.yaml Docker-compose.prod.yaml *.cs, *.html, …

commit11

MyApp-build-v1logs

1a

Test

Pre-producción

Servicio de despliegue

Producción

MyApp-deploy-v11c Test Pre-producción Producción

user/myapp:v11d

MyApp-build-v1logs

2a

docker-compose.images.yamlcommit22

user/myapp:v22b

MyApp-deploy-v22c

user/myapp:v22d user/myapp:v23a user/myapp:v24a

MyApp-deploy-v23

MyApp-deploy-v24

Page 12: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Azure Container ServicesStandard Docker tooling and API supportApache Mesos, Docker Swarm, Kubernetes Linux and Windows Server containersAzure and Azure Stack

DC/OS Swarm Kubernetes

Azure

Page 13: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Continuous Integration with Containers

WEB APP

Azure Container Service

Shopping Cart Service .NET CORE

Catalog Service JAVA

Inventory Service RUBY

Shipping Service .NET CORE

Account Service PYTHON

Container based CI/CD withVisual Studio Team Services

AzureContainerRegistry

Visual Studio

Page 14: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

http://www.wwwlicious.com/2016/05/03/servicestack-microservices-1/

Page 15: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service
Page 17: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

DEMO

Page 18: DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container Service

Q&[email protected]@gmail.com@rsciriano