Modernizing Your Existing Applications

A
www.aspex.be 1
Modernizing Existing Apps
Using the Azure platform
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
www.aspex.be 3
www.aspex.be 4
Why modernize?
www.aspex.be 5
Why modernize?
5
— Standardization
— DevOps with CI/CD
— High-availability
— Analytics
— Infrastructure cost
— Maintenance
www.aspex.be 6
Great! Where do we start?
www.aspex.be 7
#define modernize types
7
— Full rewrite
— Infrastructure upgrade
— Refactor feature
— Software upgrade
www.aspex.be 8
Where do we start - Approaches
8
Cloud
Infrastructure
Ready
Cloud
Native
Cloud
DevOps
Ready
Existing
Application or
Service
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
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)
www.aspex.be 11
Approach A: Cloud Infrastructure Ready
11
Tools
Azure Migrate *Preview
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
www.aspex.be 13
Approach A: Cloud Infrastructure Ready
13
Other Tools
Azure Site Recovery
Azure Database Migration Service
Database Migration Service
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
www.aspex.be 15
Where do we start - Approaches
15
Cloud
Infrastructure
Ready
Cloud
Native
Existing
Application or
Service
Cloud
DevOps
Ready
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
www.aspex.be 17
Approach B: Cloud DevOps Ready
www.aspex.be 18
Approach B: Cloud DevOps Ready
18
Virtual Machines vs Docker Containers
www.aspex.be 19
Approach B: Cloud DevOps Ready
19
Virtual Machines vs Docker Containers
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
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
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
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)
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
www.aspex.be 25
Approach B: Cloud DevOps Ready
25
Building Docker Images
Requirements
— Dockerfile
— Application Binaries
Optionally
— Docker Compose files
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
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
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
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
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
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
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
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
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
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
www.aspex.be 36
Where do we start - Approaches
36
Cloud
Infrastructure
Ready
Cloud
Native
Cloud
DevOps
Ready
Existing
Application or
Service
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
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
www.aspex.be 39
Approach C: Cloud Optimized
39
Traditional Application Microservices Application
App X App X
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
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
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
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
www.aspex.be 44
THANK YOU
QUESTIONS?
1 of 44

Recommended

Accelerating Innovation with DevOps on AWS by
Accelerating Innovation with DevOps on AWSAccelerating Innovation with DevOps on AWS
Accelerating Innovation with DevOps on AWSAmazon Web Services
2.1K views50 slides
AWS Webcast - Build Agile Applications in AWS Cloud for Government by
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
2.6K views92 slides
Fabio Ferrari | particles.io | Presentation by
Fabio Ferrari | particles.io | PresentationFabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | PresentationFabio Ferrari
72 views11 slides
A Pathway to Continuous Integration/Continuous Delivery on AWS by
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSBhuvaneswari Subramani
374 views30 slides
CI/CD on AWS by
CI/CD on AWSCI/CD on AWS
CI/CD on AWSBhargav Amin
842 views37 slides
Deploying Azure DevOps using Terraform by
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformAdin Ermie
439 views24 slides

More Related Content

What's hot

IaC on AWS Cloud by
IaC on AWS CloudIaC on AWS Cloud
IaC on AWS CloudBhuvaneswari Subramani
247 views31 slides
CI/CD on AWS Deploy Everything All the Time by
CI/CD on AWS Deploy Everything All the TimeCI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeAmazon Web Services
2.3K views23 slides
Building Developer Pipelines with PKS, Harbor, Clair, and Concourse by
Building Developer Pipelines with PKS, Harbor, Clair, and ConcourseBuilding Developer Pipelines with PKS, Harbor, Clair, and Concourse
Building Developer Pipelines with PKS, Harbor, Clair, and ConcourseVMware Tanzu
3.5K views19 slides
Continuous Integration and Deployment Best Practices on AWS by
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
3K views44 slides
AWS Code Services by
AWS Code ServicesAWS Code Services
AWS Code ServicesAmazon Web Services
4.2K views68 slides
Hybris install telco accelerators on aws-ec2 by
Hybris   install telco accelerators on aws-ec2Hybris   install telco accelerators on aws-ec2
Hybris install telco accelerators on aws-ec2Venugopal Gummadala
3.1K views14 slides

What's hot(20)

Building Developer Pipelines with PKS, Harbor, Clair, and Concourse by VMware Tanzu
Building Developer Pipelines with PKS, Harbor, Clair, and ConcourseBuilding Developer Pipelines with PKS, Harbor, Clair, and Concourse
Building Developer Pipelines with PKS, Harbor, Clair, and Concourse
VMware Tanzu3.5K views
Continuous Integration and Deployment Best Practices on AWS by Amazon Web Services
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Containers and microservices for realists by Karthik Gaekwad
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
Karthik Gaekwad2.2K views
Infrastructure as code by Axel Quack
Infrastructure as codeInfrastructure as code
Infrastructure as code
Axel Quack4.1K views
Operational Best Practices in the Cloud by RightScale
Operational Best Practices in the CloudOperational Best Practices in the Cloud
Operational Best Practices in the Cloud
RightScale3.9K views
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy... by Amazon Web Services
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Amazon Web Services4.1K views
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ... by Animesh Singh
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Animesh Singh3.9K views
Pivotal Cloud Foundry 2.0: First Look by VMware Tanzu
Pivotal Cloud Foundry 2.0: First LookPivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First Look
VMware Tanzu4.2K views
AWS Webcast - Continuous integration with AWS and Ravello by Amazon Web Services
AWS Webcast - Continuous integration with AWS and RavelloAWS Webcast - Continuous integration with AWS and Ravello
AWS Webcast - Continuous integration with AWS and Ravello
Amazon Web Services1.7K views
How to build the Cloud Native applications the way you want – not the way the... by Eficode
How to build the Cloud Native applications the way you want – not the way the...How to build the Cloud Native applications the way you want – not the way the...
How to build the Cloud Native applications the way you want – not the way the...
Eficode860 views
Kubernetes Concepts And Architecture Powerpoint Presentation Slides by SlideTeam
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam4K views
Continuous Integration and Deployment Best Practices on AWS by Danilo Poccia
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Danilo Poccia1.6K views
Developer Experience Cloud Native - Become Efficient and Achieve Parity by Michael Hofmann
Developer Experience Cloud Native - Become Efficient and Achieve ParityDeveloper Experience Cloud Native - Become Efficient and Achieve Parity
Developer Experience Cloud Native - Become Efficient and Achieve Parity
Michael Hofmann94 views
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re... by Amazon Web Services
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Amazon Web Services29.3K views

Similar to Modernizing Your Existing Applications

Containers in Microsoft Azure by
Containers in Microsoft AzureContainers in Microsoft Azure
Containers in Microsoft AzureSergii Kryshtop
528 views37 slides
Modernizing existing .NET applications with Windows Containers and Azure cloud by
Modernizing existing .NET applications with Windows Containers and Azure cloudModernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloudMicrosoft Tech Community
1.1K views38 slides
What's new in containers by
What's new in containersWhat's new in containers
What's new in containersMicrosoft
75 views41 slides
Continuously deploy a containerized app to “Azure App Service” by
Continuously deploy a containerized app to “Azure App Service”Continuously deploy a containerized app to “Azure App Service”
Continuously deploy a containerized app to “Azure App Service”Seven Peaks Speaks
39 views18 slides
Rackspace Best Practices for DevOps on AWS by
Rackspace Best Practices for DevOps on AWSRackspace Best Practices for DevOps on AWS
Rackspace Best Practices for DevOps on AWSAmazon Web Services
1.6K views40 slides
Continuous Integration and Deployment Best Practices on AWS by
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
6.9K views83 slides

Similar to Modernizing Your Existing Applications(20)

Modernizing existing .NET applications with Windows Containers and Azure cloud by Microsoft Tech Community
Modernizing existing .NET applications with Windows Containers and Azure cloudModernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloud
What's new in containers by Microsoft
What's new in containersWhat's new in containers
What's new in containers
Microsoft75 views
Continuously deploy a containerized app to “Azure App Service” by Seven Peaks Speaks
Continuously deploy a containerized app to “Azure App Service”Continuously deploy a containerized app to “Azure App Service”
Continuously deploy a containerized app to “Azure App Service”
Continuous Integration and Deployment Best Practices on AWS by Amazon Web Services
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Amazon Web Services6.9K views
Application Portability using Cloud Native Technology: Docker, Kubernetes by Aarno Aukia
Application Portability using Cloud Native Technology: Docker, KubernetesApplication Portability using Cloud Native Technology: Docker, Kubernetes
Application Portability using Cloud Native Technology: Docker, Kubernetes
Aarno Aukia181 views
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat... by Ian Choi
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
Ian Choi309 views
DevOps and BigData Analytics by sbbabu
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
sbbabu332 views
Kubernetes VS. App Service: When the orchestrator challenges the platform by Lorenzo Barbieri
Kubernetes VS. App Service: When the orchestrator challenges the platformKubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platform
Lorenzo Barbieri334 views
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat... by Digicomp Academy AG
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
IPv6 on Container Plattforms by Aarno Aukia
IPv6 on Container PlattformsIPv6 on Container Plattforms
IPv6 on Container Plattforms
Aarno Aukia141 views
Elevating your Continuous Delivery Strategy Above the Rolling Clouds by Michael Elder
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Michael Elder683 views
Pivotal CloudFoundry on Google cloud platform by Ronak Banka
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
Ronak Banka201 views
AWS ECS Copilot DevOps Presentation by Varun Manik
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps Presentation
Varun Manik356 views
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services by Patrick Chanezon
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon1.2K views
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS by Amazon Web Services
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
Amazon Web Services5.8K views

More from ASPEX_BE

Human Ingenuity Amplified by Intelligent Technology by
Human Ingenuity Amplified by Intelligent TechnologyHuman Ingenuity Amplified by Intelligent Technology
Human Ingenuity Amplified by Intelligent TechnologyASPEX_BE
783 views39 slides
Kubernetes: Container Orchestration for Production-grade People by
Kubernetes: Container Orchestration for Production-grade PeopleKubernetes: Container Orchestration for Production-grade People
Kubernetes: Container Orchestration for Production-grade PeopleASPEX_BE
51 views38 slides
Aspex Tech Partner Event 2018 - Keynote by
Aspex Tech Partner Event 2018 - KeynoteAspex Tech Partner Event 2018 - Keynote
Aspex Tech Partner Event 2018 - KeynoteASPEX_BE
53 views9 slides
Azure Management Basics by
Azure Management BasicsAzure Management Basics
Azure Management BasicsASPEX_BE
39 views15 slides
Aspex tech partner event 12-12-17 by
Aspex tech partner event 12-12-17Aspex tech partner event 12-12-17
Aspex tech partner event 12-12-17ASPEX_BE
76 views12 slides
The Microsoft vision for Blockchain by
The Microsoft vision for BlockchainThe Microsoft vision for Blockchain
The Microsoft vision for BlockchainASPEX_BE
940 views60 slides

More from ASPEX_BE(7)

Human Ingenuity Amplified by Intelligent Technology by ASPEX_BE
Human Ingenuity Amplified by Intelligent TechnologyHuman Ingenuity Amplified by Intelligent Technology
Human Ingenuity Amplified by Intelligent Technology
ASPEX_BE783 views
Kubernetes: Container Orchestration for Production-grade People by ASPEX_BE
Kubernetes: Container Orchestration for Production-grade PeopleKubernetes: Container Orchestration for Production-grade People
Kubernetes: Container Orchestration for Production-grade People
ASPEX_BE51 views
Aspex Tech Partner Event 2018 - Keynote by ASPEX_BE
Aspex Tech Partner Event 2018 - KeynoteAspex Tech Partner Event 2018 - Keynote
Aspex Tech Partner Event 2018 - Keynote
ASPEX_BE53 views
Azure Management Basics by ASPEX_BE
Azure Management BasicsAzure Management Basics
Azure Management Basics
ASPEX_BE39 views
Aspex tech partner event 12-12-17 by ASPEX_BE
Aspex tech partner event 12-12-17Aspex tech partner event 12-12-17
Aspex tech partner event 12-12-17
ASPEX_BE76 views
The Microsoft vision for Blockchain by ASPEX_BE
The Microsoft vision for BlockchainThe Microsoft vision for Blockchain
The Microsoft vision for Blockchain
ASPEX_BE940 views
2014 02 20_iamcp_partner_networking_aspe_xl by ASPEX_BE
2014 02 20_iamcp_partner_networking_aspe_xl2014 02 20_iamcp_partner_networking_aspe_xl
2014 02 20_iamcp_partner_networking_aspe_xl
ASPEX_BE420 views

Recently uploaded

IETF 118: Starlink Protocol Performance by
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol PerformanceAPNIC
297 views22 slides
Marketing and Community Building in Web3 by
Marketing and Community Building in Web3Marketing and Community Building in Web3
Marketing and Community Building in Web3Federico Ast
12 views64 slides
information by
informationinformation
informationkhelgishekhar
9 views4 slides
Building trust in our information ecosystem: who do we trust in an emergency by
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergencyTina Purnat
100 views18 slides
How to think like a threat actor for Kubernetes.pptx by
How to think like a threat actor for Kubernetes.pptxHow to think like a threat actor for Kubernetes.pptx
How to think like a threat actor for Kubernetes.pptxLibbySchulze1
5 views33 slides
Is Entireweb better than Google by
Is Entireweb better than GoogleIs Entireweb better than Google
Is Entireweb better than Googlesebastianthomasbejan
12 views1 slide

Recently uploaded(10)

IETF 118: Starlink Protocol Performance by APNIC
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol Performance
APNIC297 views
Marketing and Community Building in Web3 by Federico Ast
Marketing and Community Building in Web3Marketing and Community Building in Web3
Marketing and Community Building in Web3
Federico Ast12 views
Building trust in our information ecosystem: who do we trust in an emergency by Tina Purnat
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergency
Tina Purnat100 views
How to think like a threat actor for Kubernetes.pptx by LibbySchulze1
How to think like a threat actor for Kubernetes.pptxHow to think like a threat actor for Kubernetes.pptx
How to think like a threat actor for Kubernetes.pptx
LibbySchulze15 views
UiPath Document Understanding_Day 3.pptx by UiPathCommunity
UiPath Document Understanding_Day 3.pptxUiPath Document Understanding_Day 3.pptx
UiPath Document Understanding_Day 3.pptx
UiPathCommunity105 views
PORTFOLIO 1 (Bret Michael Pepito).pdf by brejess0410
PORTFOLIO 1 (Bret Michael Pepito).pdfPORTFOLIO 1 (Bret Michael Pepito).pdf
PORTFOLIO 1 (Bret Michael Pepito).pdf
brejess04108 views

Modernizing Your Existing Applications

  • 1. www.aspex.be 1 Modernizing Existing Apps Using the Azure platform
  • 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
  • 5. www.aspex.be 5 Why modernize? 5 — Standardization — DevOps with CI/CD — High-availability — Analytics — Infrastructure cost — Maintenance
  • 7. www.aspex.be 7 #define modernize types 7 — Full rewrite — Infrastructure upgrade — Refactor feature — Software upgrade
  • 8. www.aspex.be 8 Where do we start - Approaches 8 Cloud Infrastructure Ready Cloud Native Cloud DevOps Ready Existing Application or Service
  • 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. 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. www.aspex.be 11 Approach A: Cloud Infrastructure Ready 11 Tools Azure Migrate *Preview
  • 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. www.aspex.be 13 Approach A: Cloud Infrastructure Ready 13 Other Tools Azure Site Recovery Azure Database Migration Service Database Migration Service
  • 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. www.aspex.be 15 Where do we start - Approaches 15 Cloud Infrastructure Ready Cloud Native Existing Application or Service Cloud DevOps Ready
  • 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. www.aspex.be 17 Approach B: Cloud DevOps Ready
  • 18. www.aspex.be 18 Approach B: Cloud DevOps Ready 18 Virtual Machines vs Docker Containers
  • 19. www.aspex.be 19 Approach B: Cloud DevOps Ready 19 Virtual Machines vs Docker Containers
  • 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. 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. 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. 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. 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. www.aspex.be 25 Approach B: Cloud DevOps Ready 25 Building Docker Images Requirements — Dockerfile — Application Binaries Optionally — Docker Compose files
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. www.aspex.be 36 Where do we start - Approaches 36 Cloud Infrastructure Ready Cloud Native Cloud DevOps Ready Existing Application or Service
  • 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. 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. www.aspex.be 39 Approach C: Cloud Optimized 39 Traditional Application Microservices Application App X App X
  • 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. 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. 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. 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