SlideShare una empresa de Scribd logo
1 de 53
Kevin Grossnicklaus
President
kvgros@architectnow.net | @kvgros
architectnow.net | @architectnow
Migrating Legacy .NET Apps to Azure
EXPECTATIONS
What are we going to
discuss?
How deep are we going?
How can I get help and
advice?
Are you going to focus on
the “why” or the “how”
to move to Azure?
COMMON SCENARIOS
What do we consider
“Legacy”?
What do we consider “Cloud
Native”?
INTERNAL VS.
EXTERNAL APPS
THICK CLIENTS VS
WEBSITES VS
SERVICES
DATABASE OPTIONS SECURITY AND
NETWORK
CONSIDERATIONS
PERFORMANCE AND
AVAILABILITY
MAINTAINABILITY PRICING
• I want to deploy code and let
someone else handle the
configuration, maintenance, and
uptime of the infrastructure
Platform as a
Service
(PaaS)
• Give me access low level VM’s and
OS’s and I’ll handle configuring
everything myself
Infrastructure
as a Service
(SaaS)
Hybrid Deployments
Migrate some aspects of an application in the cloud and
maintain others internally
Data Center selection is critical
Be Creative and use Common Sense
STEP 1: ASSESSMENT
DEV OPS
Cloud deployments should be
automated
Before a Cloud migration serious
consider transitioning to a cloud-based
dev ops provider
Azure DevOps or GitHub
Plan for multiple
environments
Development
Testing
Staging
Production
Document Configuration Changes
Automate via Azure Pipelines
THICK APPLICATIONS (WINDOWS)
• WinForms or WPF
• Direct to DB or via API’s?
• Need access to local machine (ie. Printing, etc)?
• Basic “Lift and Shift” only
• Ability to use any .NET Framework version and (nearly) any 3rd party
components
Architecture
• Virtual Machines
• Remote Desktop Service (RDS)
• Hybrid Architectures
Hosting Options
Considerations
•Keep local but move API or database to
the cloud
•Shared RDS server or other VM
configuration
•Security (can auth against Azure AD or
O365)
WEB APPLICATIONS
• (Generally) Technology/Language Agnostic
• Support for a vast variety of architectures
• Easier to “Lift and Shift”
Architecture
• Virtual Machines
• App Services
• Docker/Kubernetes
Hosting Options
App Services = IIS (or
Apache)
Easier to scale, manage, and
troubleshoot
Access to wide varieties of .NET
framework
App Service Migration
Tool
https://appmigration.microsoft.com
Considerations
Reading/Writing files
Session state (shouldn’t be using)
SERVICES
• Long running or scheduled services
• Typically a “Windows Service”
• Easier to “Lift and Shift”
Architecture
• Virtual Machines
• App Services
• Docker/Kubernetes
• Azure Functions (Scheduled)
• Data Factory
• Microsoft Flow
Hosting Options
Considerations
• Communication with UI
• Data center selection
• Queuing Infrastructure
• Reading/Writing Files (consider move to
Blob storage)
• Monitoring or logging (Azure Monitor)
DATABASES
Database Options
• Any (if using VM)
• SQL Azure
• Cosmos DB
• MySQL
• PostgreSQL
• Many others
supported by 3rd
parties (i.e. MongoDB
Atlas)
Hosting Options
• Virtual Machines
• Native Offerings
• Data center selection
• Redundancy (possible Geolocated)
• Backups
• Security
• Multiple Environments
• Managing Schema Changes
Considerations
• https://docs.microsoft.com/en-us/sql/dma/dma-
overview?view=sql-server-2017
Data Migration
Assistant
FILE STORAGE
• Dynamic storage of files
Architecture
• Blob Storage
• Mapped Drives
Hosting Options
Considerations
Abstraction of file access code
Migration of existing files
Data Box https://azure.microsoft.com/en-
us/services/databox/
SECURITY
• Very flexible infrastructure to design full network topology
• Can likely design an equivalent (or better) environment than
utilized currently
Architecture
• Azure AD
• VNETS
• Firewalls
• Load Balancer
• ExpressRoute
• https://azure.microsoft.com/en-us/services/expressroute/
Hosting Options
PRICING
Sketch out proposed Azure architecture
Evaluate this against current infrastructure
• Gauge usage, storage requirements, etc
Review and get advice early on
Azure Price Calculator
• https://azure.microsoft.com/en-us/pricing/calculator/
Considerations
• Plan on multiple environments
• Use actuals when estimating (if possible)
• Plan on scalability and availability
• Organize assets via Azure tenants, subscriptions, and
resource groups
• Keep and eye on consumption/spend after launch
• Identify opportunities to use less and “scale up” as needed
(no overkill)
• Monitor usage and invoices
• Can be watched daily
• Work with an Azure CSP
Azure SQL Pricing
• DTUs
• vCore
DTU Pricing Calculator
• http://dtucalculator.azurewebsites.net/
LICENSING
• IaaS vs PaaS
• 3rd Party Tools
Azure Cloud Solution Providers
Managed Services and Support
Pay single bill for
• Office365 or M365
• Development Tools
• Azure Consumption
• Dynamics365
STEP 2: MIGRATE
.NET Core vs. Full Framework
3rd Party Components
• Commercial or Open Source
Target containerization
Automate build/deployment
Design with monitoring in mind
Consider how to load test and prove scale
Consider modularizing app and deployments
• Website vs API vs Mobile
• Separate versioning
Consider Infrastructure as Code
•Terraform - https://www.terraform.io/
•Pulumi - https://www.pulumi.com
•Example
STEP 3: OPTIMIZE
Refactor and extend code to better leverage the environment
Typically this means we phase in the use of native Azure technologies
Examples
• Docker/Kubernetes
• Azure Functions
• Service Bus
• Data Factories
• Redis Cache
• Azure Search
• Cognitive Services
• Artificial Intelligence
• Machine Learning
• Azure AD
• Azure Frontdoor - https://azure.microsoft.com/en-us/services/frontdoor/
• API Management Services - https://azure.microsoft.com/en-us/services/api-management/
• Traffic Manager
Azure SDK’s provided for most
platforms
•.NET = Nuget packages
•JS = NPM
Example: Azure Functions
• Serverless code execution
• C# or JavaScript
• Scheduled or triggered
RESOURCES
Azure
Migrate
https://azure.microsoft.com/en-us/services/azure-
migrate/
Data
Migration
Assistant
https://docs.microsoft.com/en-us/sql/dma/dma-
overview?view=sql-server-2017
App Service
Migration
Assistant
https://appmigration.microsoft.com/
Data Box https://azure.microsoft.com/en-
us/services/databox/
GitFlow https://nvie.com/posts/a-successful-git-branching-
model/
Kevin Grossnicklaus
President
kvgros@architectnow.net | @kvgros
architectnow.net | @architectnow

Más contenido relacionado

La actualidad más candente

DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)Ahmed Misbah
 
Azure Migration Program Pitch Deck
Azure Migration Program Pitch DeckAzure Migration Program Pitch Deck
Azure Migration Program Pitch DeckNicholas Vossburg
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overviewgjuljo
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Apigee | Google Cloud
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowAnton Babenko
 
Cloud Architecture - Multi Cloud, Edge, On-Premise
Cloud Architecture - Multi Cloud, Edge, On-PremiseCloud Architecture - Multi Cloud, Edge, On-Premise
Cloud Architecture - Multi Cloud, Edge, On-PremiseAraf Karsh Hamid
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureJohn Archer
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App ModernizationPhi Huynh
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Amazon Web Services
 
Azure Migrate
Azure MigrateAzure Migrate
Azure MigrateMustafa
 
Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)Szabolcs Zajdó
 
Managed Test Services - Maveric Systems
Managed Test Services - Maveric SystemsManaged Test Services - Maveric Systems
Managed Test Services - Maveric SystemsMaveric Systems
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps IntroductionRobert Sell
 

La actualidad más candente (20)

DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)
 
Azure Migration Program Pitch Deck
Azure Migration Program Pitch DeckAzure Migration Program Pitch Deck
Azure Migration Program Pitch Deck
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Terraform on Azure
Terraform on AzureTerraform on Azure
Terraform on Azure
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
 
DevOps-CoE
DevOps-CoEDevOps-CoE
DevOps-CoE
 
Terraform
TerraformTerraform
Terraform
 
Cloud Architecture - Multi Cloud, Edge, On-Premise
Cloud Architecture - Multi Cloud, Edge, On-PremiseCloud Architecture - Multi Cloud, Edge, On-Premise
Cloud Architecture - Multi Cloud, Edge, On-Premise
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
Terraform
TerraformTerraform
Terraform
 
Terraform
TerraformTerraform
Terraform
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
 
Azure Migrate
Azure MigrateAzure Migrate
Azure Migrate
 
Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)
 
Managed Test Services - Maveric Systems
Managed Test Services - Maveric SystemsManaged Test Services - Maveric Systems
Managed Test Services - Maveric Systems
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
Terraform
TerraformTerraform
Terraform
 

Similar a ArchitectNow - Migrating Legacy .NET Apps to Azure

ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
ArchitectNow  -  Designing Cloud-Native apps in Microsoft AzureArchitectNow  -  Designing Cloud-Native apps in Microsoft Azure
ArchitectNow - Designing Cloud-Native apps in Microsoft AzureKevin Grossnicklaus
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Introduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptxIntroduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptxNadir Arain
 
Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Balabiju
 
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)Amazon Web Services
 
Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Fernando Mejía
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Amazon Web Services
 
05 internet-of-things-io t-cloudcomputing
05 internet-of-things-io t-cloudcomputing05 internet-of-things-io t-cloudcomputing
05 internet-of-things-io t-cloudcomputingJohn Soldatos
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Lucas Jellema
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java CloudAnkur Gupta
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiGirish Kalamati
 
Cloud Computing Overview
Cloud Computing OverviewCloud Computing Overview
Cloud Computing OverviewSean Connolly
 
Cloud computing power point presentation
Cloud computing power point presentationCloud computing power point presentation
Cloud computing power point presentationRituraj Azad
 
Introducing Azure Arc
Introducing Azure ArcIntroducing Azure Arc
Introducing Azure ArcMohamed Wali
 

Similar a ArchitectNow - Migrating Legacy .NET Apps to Azure (20)

ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
ArchitectNow  -  Designing Cloud-Native apps in Microsoft AzureArchitectNow  -  Designing Cloud-Native apps in Microsoft Azure
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Introduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptxIntroduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptx
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101
 
Cloud Computing by AGDMOUN Khalid
Cloud Computing by AGDMOUN KhalidCloud Computing by AGDMOUN Khalid
Cloud Computing by AGDMOUN Khalid
 
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
 
Ppt cloud deployment
Ppt cloud deploymentPpt cloud deployment
Ppt cloud deployment
 
Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017
 
05 internet-of-things-io t-cloudcomputing
05 internet-of-things-io t-cloudcomputing05 internet-of-things-io t-cloudcomputing
05 internet-of-things-io t-cloudcomputing
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
Cloud Computing Overview
Cloud Computing OverviewCloud Computing Overview
Cloud Computing Overview
 
Cloud computing power point presentation
Cloud computing power point presentationCloud computing power point presentation
Cloud computing power point presentation
 
Cloud Deployment
Cloud DeploymentCloud Deployment
Cloud Deployment
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Introducing Azure Arc
Introducing Azure ArcIntroducing Azure Arc
Introducing Azure Arc
 

Último

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

ArchitectNow - Migrating Legacy .NET Apps to Azure

  • 1. Kevin Grossnicklaus President kvgros@architectnow.net | @kvgros architectnow.net | @architectnow Migrating Legacy .NET Apps to Azure
  • 3. What are we going to discuss? How deep are we going? How can I get help and advice? Are you going to focus on the “why” or the “how” to move to Azure?
  • 5. What do we consider “Legacy”? What do we consider “Cloud Native”?
  • 6. INTERNAL VS. EXTERNAL APPS THICK CLIENTS VS WEBSITES VS SERVICES DATABASE OPTIONS SECURITY AND NETWORK CONSIDERATIONS PERFORMANCE AND AVAILABILITY MAINTAINABILITY PRICING
  • 7.
  • 8. • I want to deploy code and let someone else handle the configuration, maintenance, and uptime of the infrastructure Platform as a Service (PaaS) • Give me access low level VM’s and OS’s and I’ll handle configuring everything myself Infrastructure as a Service (SaaS)
  • 9. Hybrid Deployments Migrate some aspects of an application in the cloud and maintain others internally Data Center selection is critical Be Creative and use Common Sense
  • 12. Cloud deployments should be automated Before a Cloud migration serious consider transitioning to a cloud-based dev ops provider Azure DevOps or GitHub
  • 13. Plan for multiple environments Development Testing Staging Production Document Configuration Changes Automate via Azure Pipelines
  • 14.
  • 15.
  • 17. • WinForms or WPF • Direct to DB or via API’s? • Need access to local machine (ie. Printing, etc)? • Basic “Lift and Shift” only • Ability to use any .NET Framework version and (nearly) any 3rd party components Architecture • Virtual Machines • Remote Desktop Service (RDS) • Hybrid Architectures Hosting Options
  • 18. Considerations •Keep local but move API or database to the cloud •Shared RDS server or other VM configuration •Security (can auth against Azure AD or O365)
  • 20. • (Generally) Technology/Language Agnostic • Support for a vast variety of architectures • Easier to “Lift and Shift” Architecture • Virtual Machines • App Services • Docker/Kubernetes Hosting Options
  • 21. App Services = IIS (or Apache) Easier to scale, manage, and troubleshoot Access to wide varieties of .NET framework App Service Migration Tool https://appmigration.microsoft.com Considerations Reading/Writing files Session state (shouldn’t be using)
  • 23. • Long running or scheduled services • Typically a “Windows Service” • Easier to “Lift and Shift” Architecture • Virtual Machines • App Services • Docker/Kubernetes • Azure Functions (Scheduled) • Data Factory • Microsoft Flow Hosting Options
  • 24. Considerations • Communication with UI • Data center selection • Queuing Infrastructure • Reading/Writing Files (consider move to Blob storage) • Monitoring or logging (Azure Monitor)
  • 26. Database Options • Any (if using VM) • SQL Azure • Cosmos DB • MySQL • PostgreSQL • Many others supported by 3rd parties (i.e. MongoDB Atlas) Hosting Options • Virtual Machines • Native Offerings
  • 27. • Data center selection • Redundancy (possible Geolocated) • Backups • Security • Multiple Environments • Managing Schema Changes Considerations • https://docs.microsoft.com/en-us/sql/dma/dma- overview?view=sql-server-2017 Data Migration Assistant
  • 28.
  • 29.
  • 31. • Dynamic storage of files Architecture • Blob Storage • Mapped Drives Hosting Options
  • 32. Considerations Abstraction of file access code Migration of existing files Data Box https://azure.microsoft.com/en- us/services/databox/
  • 34. • Very flexible infrastructure to design full network topology • Can likely design an equivalent (or better) environment than utilized currently Architecture • Azure AD • VNETS • Firewalls • Load Balancer • ExpressRoute • https://azure.microsoft.com/en-us/services/expressroute/ Hosting Options
  • 35.
  • 36.
  • 38. Sketch out proposed Azure architecture Evaluate this against current infrastructure • Gauge usage, storage requirements, etc Review and get advice early on Azure Price Calculator • https://azure.microsoft.com/en-us/pricing/calculator/
  • 39. Considerations • Plan on multiple environments • Use actuals when estimating (if possible) • Plan on scalability and availability • Organize assets via Azure tenants, subscriptions, and resource groups • Keep and eye on consumption/spend after launch • Identify opportunities to use less and “scale up” as needed (no overkill) • Monitor usage and invoices • Can be watched daily • Work with an Azure CSP
  • 40. Azure SQL Pricing • DTUs • vCore DTU Pricing Calculator • http://dtucalculator.azurewebsites.net/
  • 41.
  • 42. LICENSING • IaaS vs PaaS • 3rd Party Tools
  • 43. Azure Cloud Solution Providers Managed Services and Support Pay single bill for • Office365 or M365 • Development Tools • Azure Consumption • Dynamics365
  • 45. .NET Core vs. Full Framework 3rd Party Components • Commercial or Open Source Target containerization Automate build/deployment Design with monitoring in mind Consider how to load test and prove scale Consider modularizing app and deployments • Website vs API vs Mobile • Separate versioning
  • 46. Consider Infrastructure as Code •Terraform - https://www.terraform.io/ •Pulumi - https://www.pulumi.com •Example
  • 48. Refactor and extend code to better leverage the environment Typically this means we phase in the use of native Azure technologies Examples • Docker/Kubernetes • Azure Functions • Service Bus • Data Factories • Redis Cache • Azure Search • Cognitive Services • Artificial Intelligence • Machine Learning • Azure AD • Azure Frontdoor - https://azure.microsoft.com/en-us/services/frontdoor/ • API Management Services - https://azure.microsoft.com/en-us/services/api-management/ • Traffic Manager
  • 49. Azure SDK’s provided for most platforms •.NET = Nuget packages •JS = NPM
  • 50. Example: Azure Functions • Serverless code execution • C# or JavaScript • Scheduled or triggered
  • 53. Kevin Grossnicklaus President kvgros@architectnow.net | @kvgros architectnow.net | @architectnow