Building Microservices with .NET is an engaging course taught by Julio Casal. This comprehensive program aims to guide learners in developing backend services for a client-based video game, all using the robust .NET platform. The course is set in a game environment where players purchase items like potions and weapons with an in-game currency, "Jill," providing a practical context for the microservices being built.
Course Overview
Throughout the course, learners are introduced to key aspects essential for building effective microservices.
High-Level Architecture
Understand the architecture involving client applications and backend services. While the development of client-side applications is beyond the course's scope, the focus is on backend services that are crucial for game operations.
Microservices-Based System
Explore the Play Economy System, engineered with four specialized microservices: Catalog, Inventory, Identity, and Trading. Each microservice is equipped with its own database, and they communicate with one another via a coherent message broker system.
Technologies and Frameworks
Delve into a variety of technologies utilized throughout the course, including .NET, ASP.NET Core, MongoDB, RabbitMQ, Mass Transit, Identity Server, React, Docker, and more. These tools are integral in constructing different components of the system.
Authentication and Authorization
Learn how to implement secure authentication and authorization mechanisms through OpenID Connect to ensure reliable user interactions across multiple services.
API Gateway
Gain insights into managing communication within cloud environments utilizing an API gateway, addressing cross-cutting concerns effectively.
Infrastructure Components
Understand the significance of logging, distributed tracing, and monitoring for maintaining system health. Utilize tools like Seq, OpenTelemetry, Jaeger, Prometheus, and Grafana for efficient system troubleshooting.
Practical Application
Access comprehensive source code and receive detailed guidance on building and running a frontend portal and accompanying microservices in a local development environment.
Hands-On Experience
Engage in practical exercises that focus on setup and utilization of the necessary tools and technologies, ensuring an immersive and comprehensive learning experience.
Julio Casal is a US software engineer and one of the more active independent .NET / C# educators publishing course material on the modern .NET stack. His courses focus on the production-engineering side of .NET microservices and the cloud-native patterns that show up in real .NET applications running on Azure and AWS.
The course catalog covers ASP.NET Core, .NET microservices with Docker and Kubernetes, Azure cloud deployment patterns, the testing tracks, and the broader cloud-native .NET work that separates Julio's material from generic .NET tutorial content. Course material is taught at the level of a working senior .NET engineer.
The CourseFlix listing under this source carries 9 Julio Casal courses spanning that range. Material is paid and aimed at intermediate-and-up .NET developers building production microservices and cloud-native applications.
Watch Online 122 lessons
This is a demo lesson (10:00 remaining)
You can watch up to 10 minutes for free. Subscribe to unlock all 122 lessons in this course and access 10,000+ hours of premium content across all courses.
How real-world developers set up their projects, use source control, configure CI/CD, and manage multiple environments. In this course*, you are going to learn
5h 43m
Frequently asked questions
What prerequisites are required for this course?
This course assumes a foundational understanding of C# and .NET, as it involves developing microservices using these technologies. Familiarity with basic web development concepts and REST APIs is advantageous, given the course's focus on backend service development. Experience with Docker and MongoDB is beneficial but not mandatory, as these topics are covered in the course.
What kind of project will I be building during the course?
Participants will develop backend services for a client-based video game. The project involves creating a Play Economy System using four specialized microservices: Catalog, Inventory, Identity, and Trading. Each microservice is responsible for different aspects of the game, such as managing items, handling user identities, and enabling trading, all facilitated by a message broker system.
Is this course suitable for beginners in software development?
The course targets individuals with some experience in software development, particularly those familiar with C# and .NET. It is not designed for absolute beginners due to the technical depth of topics such as microservices architecture, Docker, MongoDB, and message broker systems, which require prior knowledge of programming and web service concepts.
How does the scope of this course compare to other microservices courses?
This course provides a focused exploration of building microservices with .NET within a gaming context, emphasizing practical application through a Play Economy System. It covers a range of technologies like RabbitMQ and Mass Transit for communication, and Identity Server for authentication. Unlike some courses that might include frontend development, this course concentrates on backend services, omitting client-side application development.
What specific technologies and tools will be used in the course?
The course employs a variety of technologies integral to microservices development, including .NET, ASP.NET Core, MongoDB, and RabbitMQ. Participants will also use Docker for containerization, Mass Transit for message-based communication, and Identity Server for authentication. Additional tools include VS Code for coding, Postman for API testing, and Docker Compose for orchestrating services.
What topics are explicitly not covered in the course?
The course does not cover the development of client-side applications, as the focus is strictly on backend services. While it involves setting up a development environment with Node.js for some frontend interactions, it does not delve into advanced frontend development topics or frameworks beyond basic communication with the backend microservices.
What is the expected time commitment to complete this course?
The course consists of 122 lessons, offering a comprehensive curriculum on building microservices with .NET. While the exact runtime is not specified, learners should anticipate dedicating a significant amount of time to fully engage with the material, including coding exercises, project development, and optional further reading on covered technologies.