Hi Glenn,
You're absolutely right about .NET Framework 4.8 requiring Windows hosting. Here are the viable migration paths:
Modernize to .NET 6/8: This is the most strategic long-term approach. Upgrading to modern .NET would enable cross-platform hosting and provide better performance and security. The migration would involve converting from Web Forms to ASP.NET Core (likely MVC or Razor Pages) and updating any framework-specific dependencies. Given your relatively small database footprint, the data layer migration should be straightforward.
Windows Cloud Hosting: If timeline or budget constraints make a full migration impractical, moving to cloud-based Windows hosting (Azure App Service, AWS EC2, or similar) requires minimal code changes while providing better scalability and maintenance than on-premises hosting.
The migration complexity will depend heavily on the application's architecture and dependencies. Key factors to evaluate:
- Framework dependencies: Third-party controls, custom components
- Data access patterns: Entity Framework, raw ADO.NET, or custom ORM usage
- Authentication/authorization: Custom implementations vs. standard approaches
- Business logic complexity: How tightly coupled is the logic to Web Forms lifecycle
For a straightforward CRUD application with standard patterns, you're looking at several weeks of development effort. More complex applications with heavy framework dependencies could require months.
Recommended Approach:
I'd suggest starting with a technical assessment - examine the codebase for Windows-specific dependencies and framework coupling. Consider creating a proof-of-concept migration for a representative page or feature to gauge the actual effort required.
Your database size (roughly 1M records across 4 tables) makes data migration relatively simple regardless of which path you choose.
Planning:
You can refer to Azure Pricing Calculator Pricing Calculator | Microsoft Azure for actual numbers.
For VMs: B2 instance should be able to handle your workload well given your database size
For Azure SQL Database: DTU is recommended, basic or standard would be cost effective considering your database standard.
Hope this help, please reach out if you have any problem. Also consider consulting questions under Azure tags for better insights.