Workshops small

Transitioning a Content Streaming Platform from Monolithic to Microservices

Date / Time: Saturday 23 November / 15:35 - 16:35 EET @ Workshop room (-1st floor - Room 1)

Kindly Offered from Deloitte

Speaker: Grigoris Tsolakidis
Solution Architect @ Deloitte

Workshop Description:

This workshop is designed to guide software developers, architects, and engineers through the practical steps of transitioning a monolithic content streaming backend system to a microservices architecture using .NET Core. Participants will gain hands-on experience in refactoring a monolithic backend to separate microservices, implementing critical features such as user management, content library, recommendations, billing/subscriptions, and user ratings and favorites. The workshop emphasizes best practices in microservices design, database separation, API integration, and testing. 

By the end of this workshop, participants will be able to: 

  • Identify key monolithic-to-microservices transition challenges and their solutions. 
  • Design and implement microservices for user management, content library, recommendations, billing, and user ratings/favorites. 
  • Integrate microservices with a frontend via REST APIs. 

What will you Learn:

  • Practical techniques to refactor and transition a monolithic backend system to a microservices architecture. 
  • Key microservices design patterns and principles, including database decoupling, API communication, and independent deployment. 
  • How to build and integrate backend microservices for user authentication, content management, user recommendations, billing, and user ratings/favorites. 

Level: Intermediate

TAGs: #microservices #dotnetcore #architecture #backenddevelopment #api #testing #contentstreaming #visualstudio #sqlserver

Target audience:  

Software Developers, Software Architects, Engineers, and DevOps Professionals who want to gain hands-on experience with microservices architecture and backend development using .NET Core.

Prerequisites on HW and Audience:

  • Hardware: Participants must bring their own laptops.

  • Software:

  • .NET IDE (preferred Visual Studio 2022 or later, VS Code) with ASP.NET and web development workloads installed.

  • .NET 8.0 SDK installed.

  • SQL Server Management Studio (SSMS) and SQL Server installed.

  • Postman or a similar API testing tool installed.

  • Node.js latest version

  • Npm or other package manager

  • Experience:

  • Familiarity with C# and .NET Core.

  • Basic understanding of REST APIs and HTTP.

  • Knowledge of backend development practices and basic patterns.

Deliverables: 

  • Microservices-based backend code developed during the workshop. 
  • UI react web app code implemented prior to the workshop. 
  • Documentation of microservices API contracts and interactions. 
  • Presentation slides used during the workshop. 

Schedule: 

Introduction (10 Minutes) 

  • Overview of the workshop and its objectives. 
  • Importance of transitioning monolithic systems to microservices. 
  • Explanation of the content streaming use case and microservices scope. 

 

Installing Prerequisites (10 Minutes) 

  • Visual Studio Installation: 
  • Step-by-step instructions to ensure Visual Studio is properly installed with ASP.NET and web development workloads. 
  • SQL Server and SSMS Installation: 
  • Ensuring SQL Server and SQL Server Management Studio (SSMS) are installed and properly configured. 

Monolithic to Microservices Architecture Transition (15 Minutes) 

  • Presentation on monolithic challenges and microservices advantages. 
  • Overview of the target microservices: User Management, Content Library, Recommendations, Billing/Subscriptions, and User Ratings/Favorites. 

Refactoring the User Management Service (25 Minutes) 

  • Hands-on implementation: Creating a User Management microservice with user registration, login, and profile management using .NET Core and JWT. 
  • Discussion on database separation for user data and API authentication strategies using SQL Server. 

Developing the Content Library and Recommendations Services (20 Minutes) 

  • Hands-on implementation: Creating microservices for managing content metadata and user-specific recommendations. 
  • Explanation of API design and interaction between services. 
  • Demonstration of fetching and displaying content recommendations based on user preferences. 

Implementing the Billing/Subscriptions and User Ratings/Favorites Services (20 Minutes) 

  • Hands-on implementation: Building microservices for handling user subscriptions and managing user ratings, favorites, and watchlists. 
  • Discussion on data communication between microservices and API security considerations. 

Conclusion (15 Minutes) 

  • Recap of key learnings and implementation steps. 
  • Calls to action: Applying microservices transition techniques to participants’ own projects.