Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developing for the cloud with Visual Studio

Similar presentations


Presentation on theme: "Developing for the cloud with Visual Studio"— Presentation transcript:

1 Developing for the cloud with Visual Studio
11/28/2018 8:59 AM BRK3191 Developing for the cloud with Visual Studio Andrew Hall Principal Program Manager @AndrewBrianHall © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Agenda Considerations and Design Patterns Azure App Service
11/28/2018 8:59 AM Agenda Considerations and Design Patterns Azure App Service Diagnostics Continuous Integration and Delivery (CI/CD) Severless Computing Containers © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 .NET Application Architecture
Available at dot.net/architecture Prescriptive guidance for building Microservices, Web, Mobile and Windows applications. eBooks accompanied by sample applications

4 Why develop for the cloud?
Agility Better deployment stack DevOps practices using continuous delivery Growth Enablement Lead Time for Expansion Scalability Insights and Analytics Total cost Infrastructure Cost Ongoing Maintenance

5 Traditional App Design
Most functionality contained within a few processes made of libraries and separated by layers Scales by cloning the entire app on new servers or VMs

6 Microservices Segregate functionality into separate smaller services with well defined communication protocols (e.g. http, message buses, etc.) Scale by deploying each service independently with multiple instances Improve speed of iteration: Changes only affect small areas of the application Enables testing in isolation

7 Micro Service Design Separates functionality into separate services
Fine grained density of services Each service is deployed and scaled independently

8 Secret Management Application Secret: Data required by your application to access secured resources (e.g. database connection strings, API keys, etc.) Frequently are different with different access levels across application deployment tiers (Dev, Test, Staging, Production) Should not be stored in source code

9 Demo #1 Microservices Key Vault Azure B2C 11/28/2018 8:59 AM
© Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Azure Diagnostics See overall service health and which layers are failing Automatic correlation of logs & exceptions across http calls Snapshot Debugger Code-level analysis of performance in production

11 Demo #2 Azure App Service Diagnostics CI/CD 11/28/2018 8:59 AM
© Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 Serverless Computing Event Driven
e.g. when an item is pushed into storage Scales Indefinitely Pay only for resources used during execution

13 Demo #3 Azure Functions Cosmos DB 11/28/2018 8:59 AM
© Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

14 Containers Package the application and all dependencies at build time
Build Process Dependencies Runtime Containers are immutable (cannot be changed) after build

15 Virtual Machines Docker Containers compared to Hypervisor
+ Network isolation at container level + Resources constraints at container level App 1 App 2 App 3 Bins/Libs Bins/Libs Bins/Libs Guest OS Guest OS Guest OS App/Svc 1 App/Svc 2 App/Svc 3 Bins/Libs Bins/Libs Bins/Libs Hypervisor Container Engine Host Operating System Operating System Infrastructure Infrastructure

16 Azure Container Registry, VM for Test Environment
Deploying to Azure through a Container Registry Container Registry Azure Container Registry, Docker Hub, or private Microsoft Azure VM for Test Environment Windows Server 2016 or later Docker Engine Docker engine and Docker CLI Local Docker Image Repository Docker-compose up Azure Service PC Dev Environment Windows 10 or later Docker for Windows ASP.NET (.NET Framework) on Windows Server Core Container docker push docker pull Local Docker Image Repository docker-compose build or docker build

17 Docker and .NET .NET Framework images Windows Server Core
TechReady 23 11/28/2018 8:59 AM Docker and .NET .NET Framework images Windows Server Core .NET Core Docker images Linux & Windows Nano Server See at Docker Hub © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

18 Container Orchestrators
Coordinate how multiple containers work together Define Deployment Availability Scaling Networking

19 Demo #4 Docker Containers in Visual Studio
11/28/2018 8:59 AM Demo #4 Docker Containers in Visual Studio Publish to Container Registry from Visual Studio © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

20 Choosing Orchestrators in Azure
TechReady 23 11/28/2018 8:59 AM Choosing Orchestrators in Azure Azure Product Orchestrator Description Good for Common workloads Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices Stateful svc & Actors Microservices based on plain processes Microservices based on containers Docker Swarm is a clustering and scheduling tool for Docker containers. With Swarm, IT administrators and developers can establish and manage a cluster of Docker nodes as a single virtual system Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts As a datacenter operating system, DC/OS is itself a distributed system, a cluster manager and a container platform Microservices based on containers (Including other Linux containers, not just Docker) Azure Service Fabric Production-ready & Microsoft ecosystem Service Fabric More mature: Less mature: Azure Container Service Easy to get started Dev/Test and Production Docker Swarm More mature: Less mature: Production-ready & Windows/Linux ecosystem Kubernetes More mature: Less mature: Production-ready & Linux ecosystem Mesosphere DC/OS More mature: Less mature: © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21 Choosing Orchestrators in Azure
TechReady 23 11/28/2018 8:59 AM Choosing Orchestrators in Azure Azure Product Orchestrator Description Good for Common workloads Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices Stateful svc & Actors Microservices based on plain processes Microservices based on containers Docker Swarm is a clustering and scheduling tool for Docker containers. With Swarm, IT administrators and developers can establish and manage a cluster of Docker nodes as a single virtual system Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts As a datacenter operating system, DC/OS is itself a distributed system, a cluster manager and a container platform Microservices based on containers (Including other Linux containers, not just Docker) Azure Service Fabric Production-ready & Microsoft ecosystem Service Fabric More mature: Less mature: Azure Container Service Easy to get started Dev/Test and Production Docker Swarm More mature: Less mature: Production-ready & Windows/Linux ecosystem Kubernetes More mature: Less mature: Production-ready & Linux ecosystem Mesosphere DC/OS More mature: Less mature: © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 Questions?

23 Related Sessions BRK3189-Modernizing existing .NET applications with Windows Containers and Azure cloud BRK3187-Snapshot debugging and Microsoft Azure diagnostics in action BRK3317-Implement microservices patterns with .NET Core and Docker containers BRK3278-DevOps for any language

24 Resources Blog: aka.ms/webdevblog
Architecture Guidance: dot.net/architecture .NET Docker Images: hub.docker.com/r/microsoft/dotnet Docker for Windows: docs.docker.com/docker-for-windows

25 Please evaluate this session
Tech Ready 15 11/28/2018 Please evaluate this session From your Please expand notes window at bottom of slide and read. Then Delete this text box. PC or tablet: visit MyIgnite Phone: download and use the Microsoft Ignite mobile app Your input is important! © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

26 11/28/2018 8:59 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Developing for the cloud with Visual Studio"

Similar presentations


Ads by Google