180 likes | 213 Views
Explore decisions, benefits, and tools for modernizing applications with Docker. Learn about key terminologies, leveraging cloud services, CI/CD pipelines, and deployment options on Azure. Discover tools like Docker, Kubernetes, and Visual Studio for efficient development.
E N D
Modernizing Applications with Docker • @spboyer • www.tattoocoder.com | spboyer.me/dev-azure-free • #devintersection • Shayne Boyer • Sr. Cloud Developer Advocate
What are the things we have to think about? Decisions spboyer.me/dev-azure-free
Moving to the cloud decisions • Require a transformation or re-architecting • Require partial modernization • “Lift and Shift” directly to the cloud • There is no one-size-fits-all strategy spboyer.me/dev-azure-free
Lift & Shift • Cloud Infrastructure Ready - VMs • Cloud DevOps Ready - Containers • Cloud Optimized – Full Platform as a Service (PAAS) spboyer.me/dev-azure-free
Terminology http://spboyer.me/dev-docker-terms • Dockerfile • Container - An instance of a Docker image. A container represents a runtime for a single application, process, or service. • Container Image - A package with all of the dependencies and information needed to create a container. • Tag - A mark or label that you can apply to images • Repository • Registry - i.e. Docker Hub, Azure Container Registry, other Private Registry spboyer.me/dev-azure-free
Terminology http://spboyer.me/dev-docker-terms • Compose • A command-line tool and YAML file format with metadata for defining and running multicontainer applications. • Cluster • A collection of Docker hosts exposed as if they were a single virtual Docker host so that the application can scale to multiple instances of the services spread across multiple hosts within the cluster. • Orchestrator • A tool that simplifies management of clusters and Docker hosts. spboyer.me/dev-azure-free
Why? If it’s not broken don’t fix it… Benefits spboyer.me/dev-azure-free
Benefits • CI/CD • Once the application is setup in a container, build a CI/CD pipeline to build and push the applications to the cloud in a streamlined fashion. • Increased velocity, versioning, rollback • In addition to the CI/CD features, the ability to version the container, ease of deployment and rollback in the event of failures is easier. • Leverage other cloud services • Add Application Insights, managed database services and other PAAS offerings spboyer.me/dev-azure-free
What are we using to build these applications? Tools spboyer.me/dev-azure-free
Tools for development • Docker • Kubernetes • Visual Studio • http://docker.com • Docker for Windows / MacDocker Compose • http://kubernetes.io • Orchestration • Azure - AKS Service • https://code.visualstudio.comhttps://visualstudio.com • Windows / Mac / Linux spboyer.me/dev-azure-free
Visual Studio 2017 – ASP.NET 4.x Visual Studio 2017 15.7 - Preview 2 • Automatically picks smart defaults for ASP.NET Full Framework & Windows Images • Support WCF and Webforms apps • Debugging inside containers • Adds new docker compose project • F5 to debug app just as you would using IIS Express • Build, publish container to Azure Container Registry or Docker Hub Can also publish to AppService or Virtual Machine spboyer.me/dev-azure-free
Visual Studio 2017 – ASP.NET 4.x Visual Studio 2017 15.7 - Preview 2 • Get to “Cloud DevOps Ready” quick • Deployment options from Azure Container Registry • Azure Container Instances • Azure Container Service (ACS/AKS) • On-Premises w/ Windows Server 2016 from ACR spboyer.me/dev-azure-free
Modernize a .NET WCF Service Demo spboyer.me/dev-azure-free
Where do I run these applications? Hosting on Azure spboyer.me/dev-azure-free
Hosting on Azure spboyer.me/dev-azure-free
Resources • Docker Terminologyhttp://spboyer.me/dev-docker-terms • Container Dev Center on Azurehttp://spboyer.me/dev-containers-centerFree Azure Accounthttp://spboyer.me/dev-azure-free • Shayne Boyer • @spboyer | #devintersection