SlideShare a Scribd company logo
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

More Related Content

What's hot

Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Kai Wähner
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App ModernizationPhi Huynh
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice ArchitectureWSO2
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaAraf Karsh Hamid
 
Develop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris MerriganDevelop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris MerriganAmazon Web Services
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
On-premise to Microsoft Azure Cloud Migration.
 On-premise to Microsoft Azure Cloud Migration. On-premise to Microsoft Azure Cloud Migration.
On-premise to Microsoft Azure Cloud Migration.Emtec Inc.
 
Learn Terraform on Azure
Learn Terraform on AzureLearn Terraform on Azure
Learn Terraform on AzureJorn Jambers
 
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | EdurekaAzure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | EdurekaEdureka!
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloudJames Serra
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Edureka!
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesAdrian Cockcroft
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - ObservabilityAraf Karsh Hamid
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic AppsBizTalk360
 

What's hot (20)

Azure Cloud Services
Azure Cloud ServicesAzure Cloud Services
Azure Cloud Services
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
 
Develop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris MerriganDevelop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
 
Application Migrations at Scale
Application Migrations at ScaleApplication Migrations at Scale
Application Migrations at Scale
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
On-premise to Microsoft Azure Cloud Migration.
 On-premise to Microsoft Azure Cloud Migration. On-premise to Microsoft Azure Cloud Migration.
On-premise to Microsoft Azure Cloud Migration.
 
Learn Terraform on Azure
Learn Terraform on AzureLearn Terraform on Azure
Learn Terraform on Azure
 
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | EdurekaAzure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
 
Microsoft azure
Microsoft azureMicrosoft azure
Microsoft azure
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloud
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in Microservices
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - Observability
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
 

Similar to 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
 
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
 
Cloud migration Through Automation
Cloud migration Through AutomationCloud migration Through Automation
Cloud migration Through AutomationUni Systems S.M.S.A.
 

Similar to 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
 
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
 
Cloud migration Through Automation
Cloud migration Through AutomationCloud migration Through Automation
Cloud migration Through Automation
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform EngineeringJemma Hussein Allen
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»QADay
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

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