Successfully reported this slideshow.
Your SlideShare is downloading. ×

Modernizing Your Existing Applications

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 44 Ad

Modernizing Your Existing Applications

Download to read offline

Why even bother to modernize an application when it is running just fine? How would we even get started with so many options readily available on the Microsoft Azure platform? What about the costs? Getting your tried and trusted application ready for the Cloud can seem like an incredibly daunting task for you and your team. 
No need to get worried. We can show you how to climb the mountain.

Why even bother to modernize an application when it is running just fine? How would we even get started with so many options readily available on the Microsoft Azure platform? What about the costs? Getting your tried and trusted application ready for the Cloud can seem like an incredibly daunting task for you and your team. 
No need to get worried. We can show you how to climb the mountain.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Modernizing Your Existing Applications (20)

Advertisement
Advertisement

Modernizing Your Existing Applications

  1. 1. www.aspex.be 1 Modernizing Existing Apps Using the Azure platform
  2. 2. www.aspex.be 22 We work closely with you to build up technical insight into your software. We give you full SaaS support and offer added-value through our experience and management tools. --- Visit www.aspex.be for more information Thomas Van Laere 2015 - TODAY Microsoft Azure Consultant @Thomas_VanLaere
  3. 3. www.aspex.be 3
  4. 4. www.aspex.be 4 Why modernize?
  5. 5. www.aspex.be 5 Why modernize? 5 — Standardization — DevOps with CI/CD — High-availability — Analytics — Infrastructure cost — Maintenance
  6. 6. www.aspex.be 6 Great! Where do we start?
  7. 7. www.aspex.be 7 #define modernize types 7 — Full rewrite — Infrastructure upgrade — Refactor feature — Software upgrade
  8. 8. www.aspex.be 8 Where do we start - Approaches 8 Cloud Infrastructure Ready Cloud Native Cloud DevOps Ready Existing Application or Service
  9. 9. www.aspex.be 9 Approach A: Cloud Infrastructure Ready 9 Rehost the on-premise application using IaaS on Azure Existing Apps On-Premise IaaS PROS — Architecture remains — Quick migration — Least amount of effort
  10. 10. www.aspex.be 10 Approach A: Cloud Infrastructure Ready 10 Scenario: Filtering naughty requests with Azure Application Gateway Application Gateway VM Scale Set SQL Injection XSS Attack Valid Request Azure VM Azure VM Azure VM HTTP(S)
  11. 11. www.aspex.be 11 Approach A: Cloud Infrastructure Ready 11 Tools Azure Migrate *Preview
  12. 12. www.aspex.be 12 Approach A: Cloud Infrastructure Ready 12 vCenter Server and vSphere support 6.5, 6.0, 5.5 Windows Guest OS support Windows Server 2016 NEW Windows Server 2012 R2 Windows Server 2012 Windows Server 2008 R2 Linux Guest OS support RHEL 5.*, 6.* and 7.* Cent OS 5.*, 6.* and 7.* Ubuntu 14.04 and 16.04 LTS NEW SUSE Enterprise Server 11 SP3, SP4 OEL 6.4 and 6.5 Debian 7 and 8 support NEW Azure platform support Managed Disk NEW Up to 4TB data disk support NEW Encrypted Storage NEW Azure Hybrid Use Benefit NEW
  13. 13. www.aspex.be 13 Approach A: Cloud Infrastructure Ready 13 Other Tools Azure Site Recovery Azure Database Migration Service Database Migration Service
  14. 14. www.aspex.be 14 Approach A: Cloud Infrastructure Ready 14 Rehost the on-premise application using IaaS on Azure Existing Apps On-Premise IaaS CONS — Smaller value — Manual patching — Manual upgrades — No auto scaling — No auto high availability PROS — Architecture remains — Quick migration — Least amount of effort
  15. 15. www.aspex.be 15 Where do we start - Approaches 15 Cloud Infrastructure Ready Cloud Native Existing Application or Service Cloud DevOps Ready
  16. 16. www.aspex.be 16 Approach B: Cloud DevOps Ready 16 Increase benefits by Containerizing with Windows Server Containers and deploying them to Azure or on-premises Existing Apps On-Premise Lift & Shift PROS — Architecture remains — Increased density — Lower deployment cost — Improved productivity — High Availability — Orchestration tooling — Azure Service Fabric — Azure Container Service + Potential other Azure services
  17. 17. www.aspex.be 17 Approach B: Cloud DevOps Ready
  18. 18. www.aspex.be 18 Approach B: Cloud DevOps Ready 18 Virtual Machines vs Docker Containers
  19. 19. www.aspex.be 19 Approach B: Cloud DevOps Ready 19 Virtual Machines vs Docker Containers
  20. 20. www.aspex.be 20 Approach B: Cloud DevOps Ready 20 Docker Images & Containers - 30.000 feet view https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ Security Patches .NET Core Debian 8.9 “Jessie” Layer 3 Layer 2 Layer 1
  21. 21. www.aspex.be 21 Approach B: Cloud DevOps Ready 21 Docker Images & Containers - 30.000 feet view https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ File 2 File 1 File 3 File 4 File 5 Layer 3 Layer 2 Layer 1
  22. 22. www.aspex.be 22 Approach B: Cloud DevOps Ready 22 Docker Images & Containers - 30.000 feet view https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ File 2File 1 File 4File 5
  23. 23. www.aspex.be 23 Approach B: Cloud DevOps Ready 23 Docker Engine - 30.000 feet view Docker Client >_ Docker Engine deamon containerd runc *As of Docker 1.11 (2016)
  24. 24. www.aspex.be 24 Approach B: Cloud DevOps Ready 24 Docker 💖 .NET .NET Framework images — Windows Server Core .NET Core images — Linux — Windows Nano Server
  25. 25. www.aspex.be 25 Approach B: Cloud DevOps Ready 25 Building Docker Images Requirements — Dockerfile — Application Binaries Optionally — Docker Compose files
  26. 26. www.aspex.be 26 Approach B: Cloud DevOps Ready 26 Image2Docker — PowerShell — Simplify creation of Dockerfiles — Open Source tool with support from Docker Inc. — Built-in artifact discovery
  27. 27. www.aspex.be 27 Approach B: Cloud DevOps Ready 27 Scenario: Deploy to Azure VM through Docker Engine Dev environment (Windows 10 w/ Docker for Windows) SQL Server Container Windows Server Core ASP.NET 4.6.2 Container Windows Server Core Docker Image Repository 1 > docker-compose build 2> docker-compose Azure VM (Test/Accept) (Windows 10 w/ Docker for Windows) SQL Server Container Windows Server Core ASP.NET 4.6.2 Container Windows Server Core Docker Image Repository 2b> docker run
  28. 28. www.aspex.be 28 Approach B: Cloud DevOps Ready 28 Scenario: Deploy to Azure VM through Azure Container Registry ACRDev environment (Windows 10 w/ Docker for Windows) SQL Server Container Windows Server Core ASP.NET 4.6.2 Container Windows Server Core Docker Image Repository 1 > docker-compose build Azure VM (Test/Accept) (Windows 10 w/ Docker for Windows) SQL Server Container Windows Server Core ASP.NET 4.6.2 Container Windows Server Core Docker Image Repository 4> docker-compose up
  29. 29. www.aspex.be 29 Approach B: Cloud DevOps Ready 29 Scenario: Deploy to Azure VM through your CI/CD pipeline (IaaS) 1. Dev environment 2. Code repo 3. Build ACR 4. Release 5. Test/Accept SQL Web SQL Web
  30. 30. www.aspex.be 30 Approach B: Cloud DevOps Ready 30 Scaling, High Availability in Production ASP.NET 4.6.2 Container Windows Server CoreASP.NET 4.6.2 Container Windows Server CoreASP.NET 4.6.2 Container Windows Server CoreASP.NET 4.6.2 Container Windows Server CoreASP.NET 4.6.2 Container Windows Server CoreASP.NET 4.6.2 Container Windows Server CoreASP.NET 4.6.2 Container Windows Server CoreASP.NET 4.6.2 Container Windows Server Core — Azure SQL Database Single/Elastic Pools — Azure SQL Database Managed Instance — SQL Server Cluster
  31. 31. www.aspex.be 31 Approach B: Cloud DevOps Ready 31 Azure Container Service - Kubernetes Kubernetes Cluster – Production Windows Server 2016 nodes Private VNETNode Docker HostNode Docker HostNode Docker HostNode Docker HostNode Web_1 Web_2 Master Node -Deployment -Proxy -Scheduling -Etc.. K Pod 1 Pod 2
  32. 32. www.aspex.be 32 Approach B: Cloud DevOps Ready 32 Previous Scenario: Deploy to Azure VM through your CI/CD pipeline (IaaS) 1. Dev environment 2. Code repo 3. Build ACR 4. Release 5. Test/Accept SQL Web SQL Web
  33. 33. www.aspex.be 33 Approach B: Cloud DevOps Ready 33 Scenario: Deploy to Orchestrators in Production (IaaS) 1. Dev environment 2. Code repo 3. Build ACR 4. Release 5. Production ACS SQL Web
  34. 34. www.aspex.be 34 Approach B: Cloud DevOps Ready 34 Scenario: Move to Azure Container Instances (PaaS) 1. Dev environment 2. Code repo 3. Build ACR 4. Release 5. Production ACI SQL Web *Preview
  35. 35. www.aspex.be 35 Approach B: Cloud DevOps Ready 35 Increase benefits by Containerizing with Windows Server Containers and deploying them to Azure or on-premises Existing Apps On-Premise Lift & Shift CONS — Learning Curve — Paradigm Shift PROS — Architecture remains — Increased density — Lower deployment cost — Improved productivity — High Availability — Orchestration tooling + Potential other Azure services
  36. 36. www.aspex.be 36 Where do we start - Approaches 36 Cloud Infrastructure Ready Cloud Native Cloud DevOps Ready Existing Application or Service
  37. 37. www.aspex.be 37 Approach C: Cloud Optimized 37 Extend apps with Azure Cloud Services Existing Apps On-Premise PROS — Optimized for long term Agility — Optimized for scale — Optimized for high availability — Modern architecture Cloud-optimized
  38. 38. www.aspex.be 38 Approach C: Cloud Optimized Traditional Application — Few Processes — Componentized with layers and libraries — Scaling achieved by cloning the app — Multiple VMs/Containers — Split up functionality into multiple processes — Scaling achieved through cloning individual processes. Microservices Application
  39. 39. www.aspex.be 39 Approach C: Cloud Optimized 39 Traditional Application Microservices Application App X App X
  40. 40. www.aspex.be 40 Approach C: Cloud Optimized 40 What about Azure App Services? (aka Azure Web Apps) ASP.NET MCV Web Forms Web API SignalR Web Pages WCF App has Server/Custom Dependencies? Cloud Optimized Approach Azure App Service No Cloud DevOps Approach Yes
  41. 41. www.aspex.be 41 Approach C: Cloud Optimized 41 Extend apps with Azure Cloud Services Existing Apps On-Premise CONS — Increased time and budget — Code refactoring — New features — Learning curve PROS — Optimized for long term Agility — Optimized for scale — Optimized for high availability — Modern architecture Cloud-optimized
  42. 42. www.aspex.be 42 Data Migration 42 Data Migration Azure SQL DB Managed Instance — Built-in HA — Built-in Scaling — Built-in Patching — Built-in Upgrades — Private IP address via VNET SQL Server – On-Premise — No migration / changes — Hybrid scenarios — S2S-VPN / ExpressRoute — Latency SQL Server – Azure VMs — Fast migration — Hybrid scenarios — Manual HA — Manual Scaling — Manual Patching
  43. 43. www.aspex.be 43 Other Recommended Improvements 43 Other Recommended Improvements .NET Versions — Recompile .NET 2.0, 3.5 apps to 4.x ASP.NET Caching — InProc vs. Distributed Caching — Azure Redis Cache Centralized Logging — Native support for log tracing and diagnostics Security — Encryption, MFA, RBAC, HSM, etc.. Identity — Azure Active Directory, AD Connect
  44. 44. www.aspex.be 44 THANK YOU QUESTIONS?

×