Hands-On Microservices with C# 8 and . NET Core 3


Book Description

Learn the essential concepts, techniques, and design patterns that will help you build scalable and maintainable distributed systems Key Features Learn to design, implement, test, and deploy your microservices Understand the challenges and complexities of testing and monitoring distributed services Build modular and robust microservice architectures with the latest features of C# 8 and .NET Core 3.1 Book Description The microservice architectural style promotes the development of complex applications as a suite of small services based on specific business capabilities. With this book, you'll take a hands-on approach to build microservices and deploy them using ASP .NET Core and Microsoft Azure. You'll start by understanding the concept of microservices and their fundamental characteristics. This microservices book will then introduce a real-world app built as a monolith, currently struggling under increased demand and complexity, and guide you in its transition to microservices using the latest features of C# 8 and .NET Core 3. You'll identify service boundaries, split the application into multiple microservices, and define service contracts. You'll also explore how to configure, deploy, and monitor microservices using Docker and Kubernetes, and implement autoscaling in a microservices architecture for enhanced productivity. Once you've got to grips with reactive microservices, you'll discover how keeping your code base simple enables you to focus on what's important rather than on messy asynchronous calls. Finally, you'll delve into various design patterns and best practices for creating enterprise-ready microservice applications. By the end of this book, you'll be able to deconstruct a monolith successfully to create well-defined microservices. What you will learn Package, deploy, and manage microservices and containers with Azure Service Fabric Use REST APIs to integrate services using a synchronous approach Protect public APIs using Azure Active Directory and OAuth 2.0 Understand the operation and scaling of microservices using Docker and Kubernetes Implement reactive microservices with Reactive Extensions Discover design patterns and best practices for building enterprise-ready apps Who this book is for This book is for C# and .NET Core developers who want to understand microservices architecture and implement it in their .NET Core applications. If you're new to building microservices or have theoretical knowledge of the architectural approach, this book will help you gain a practical perspective to manage application complexity efficiently.




Hands-On Parallel Programming with C# 8 and .NET Core 3


Book Description

Enhance your enterprise application development skills by mastering parallel programming techniques in .NET and C# Key FeaturesWrite efficient, fine-grained, and scalable parallel code with C# and .NET CoreExperience how parallel programming works by building a powerful applicationLearn the fundamentals of multithreading by working with IIS and KestrelBook Description In today’s world, every CPU has a multi-core processor. However, unless your application has implemented parallel programming, it will fail to utilize the hardware’s full processing capacity. This book will show you how to write modern software on the optimized and high-performing .NET Core 3 framework using C# 8. Hands-On Parallel Programming with C# 8 and .NET Core 3 covers how to build multithreaded, concurrent, and optimized applications that harness the power of multi-core processors. Once you’ve understood the fundamentals of threading and concurrency, you’ll gain insights into the data structure in .NET Core that supports parallelism. The book will then help you perform asynchronous programming in C# and diagnose and debug parallel code effectively. You’ll also get to grips with the new Kestrel server and understand the difference between the IIS and Kestrel operating models. Finally, you’ll learn best practices such as test-driven development, and run unit tests on your parallel code. By the end of the book, you’ll have developed a deep understanding of the core concepts of concurrency and asynchrony to create responsive applications that are not CPU-intensive. What you will learnAnalyze and break down a problem statement for parallelismExplore the APM and EAP patterns and how to move legacy code to TaskApply reduction techniques to get aggregated resultsCreate PLINQ queries and study the factors that impact their performanceSolve concurrency problems caused by producer-consumer race conditionsDiscover the synchronization primitives available in .NET CoreUnderstand how the threading model works with IIS and KestrelFind out how you can make the most of server resourcesWho this book is for If you want to learn how task parallelism is used to build robust and scalable enterprise architecture, this book is for you. Whether you are a beginner to parallelism in C# or an experienced architect, you’ll find this book useful to gain insights into the different threading models supported in .NET Standard and .NET Core. Prior knowledge of C# is required to understand the concepts covered in this book.




Hands-On Software Architecture with C# 8 and . NET Core 3


Book Description

Design scalable and high-performance enterprise applications using the latest features of C# 8 and .NET Core 3 Key Features Become a software architect capable of creating modular apps for specific business needs Design high-performance software systems using the latest features of C# 8 and .NET Core 3 Solve scalability problems in web apps using enterprise architectural patterns Book Description Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. With this software architecture book, you'll follow a hands-on approach to learning various architectural methods that will help you develop and deliver high-quality products. You'll begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you'll explore how to carefully choose a cloud solution for your infrastructure, along with covering dos and don'ts that will help you manage your app in a cloud-based environment. Later chapters will cover techniques and processes such as DevOps, microservices, and continuous integration, along with providing insights into implementing them using Microsoft technologies such as ASP.NET Core, the Entity Framework, Cosmos DB, and Azure DevOps. You will also learn about testing frameworks and automation tools that will help you through the development process. Finally, you'll discover design patterns and various software approaches that will allow you to solve common problems faced during development. By the end of this book, you'll be able to develop and deliver highly scalable enterprise-ready apps that meet customers' business needs. What you will learn Overcome real-world architectural challenges and solve design consideration issues Apply architectural approaches like Layered Architecture, service-oriented architecture (SOA), and microservices Learn to use tools like containers, Docker, and Kubernetes to manage microservices Get up to speed with Azure Cosmos DB for delivering multi-continental solutions Learn how to program and maintain Azure Functions using C# Understand when to use test-driven development (TDD) as an approach for software development Write automated functional test cases for your projects Who this book is for This book is for engineers and senior developers aspiring to become architects or looking to build enterprise applications with the .NET Stack. Experience with C# and .NET is required to understand this book.




Hands-On Microservices with C#


Book Description

Build enterprise-grade microservice ecosystems with intensive case studies using C# Key Features Learn to build message-based microservices Packed with case studies to explain the intricacies of large-scale microservices Build scalable, modular, and robust architectures with C# Book Description C# is a powerful language when it comes to building applications and software architecture using rich libraries and tools such as .NET. This book will harness the strength of C# in developing microservices architectures and applications. This book shows developers how to develop an enterprise-grade, event-driven, asynchronous, message-based microservice framework using C#, .NET, and various open source tools. We will discuss how to send and receive messages, how to design many types of microservice that are truly usable in a corporate environment. We will also dissect each case and explain the code, best practices, pros and cons, and more. Through our journey, we will use many open source tools, and create file monitors, a machine learning microservice, a quantitative financial microservice that can handle bonds and credit default swaps, a deployment microservice to show you how to better manage your deployments, and memory, health status, and other microservices. By the end of this book, you will have a complete microservice ecosystem you can place into production or customize in no time. What you will learn Explore different open source tools within the context of designing microservices Learn to provide insulation to exception-prone function calls Build common messages used between microservices for communication Learn to create a microservice using our base class and interface Design a quantitative financial machine microservice Learn to design a microservice that is capable of using Blockchain technology Who this book is for C# developers, software architects, and professionals who want to master the art of designing the microservice architecture that is scalable based on environment. Developers should have a basic understanding of.NET application development using C# and Visual Studio




Building Microservices with .NET Core


Book Description

Architect your .NET applications by breaking them into really small pieces—microservices—using this practical, example-based guide About This Book Start your microservices journey and understand a broader perspective of microservices development Build, deploy, and test microservices using ASP.Net MVC, Web API, and Microsoft Azure Cloud Get started with reactive microservices and understand the fundamentals behind it Who This Book Is For This book is for .NET Core developers who want to learn and understand microservices architecture and implement it in their .NET Core applications. It's ideal for developers who are completely new to microservices or have just a theoretical understanding of this architectural approach and want to gain a practical perspective in order to better manage application complexity. What You Will Learn Compare microservices with monolithic applications and SOA Identify the appropriate service boundaries by mapping them to the relevant bounded contexts Define the service interface and implement the APIs using ASP.NET Web API Integrate the services via synchronous and asynchronous mechanisms Implement microservices security using Azure Active Directory, OpenID Connect, and OAuth 2.0 Understand the operations and scaling of microservices in .NET Core Understand the testing pyramid and implement consumer-driven contract using pact net core Understand what the key features of reactive microservices are and implement them using reactive extension In Detail Microservices is an architectural style that promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within the business. We'll start by looking at what microservices are, and what the main characteristics are. Moving forward, you will be introduced to real-life application scenarios, and after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices. You will identify the service boundaries, split the application into multiple microservices, and define the service contracts. You will find out how to configure, deploy, and monitor microservices, and configure scaling to allow the application to quickly adapt to increased demand in the future. With an introduction to the reactive microservices, you strategically gain further value to keep your code base simple, focusing on what is more important rather than the messy asynchronous calls. Style and approach This guide serves as a stepping stone that helps .NET Core developers in their microservices architecture. This book provides just enough theory to understand the concepts and apply the examples.




Hands-On Design Patterns with C# and .NET Core


Book Description

Apply design patterns to solve problems in software architecture and programming using C# 7.x and .NET Core 2 Key FeaturesEnhance your programming skills by implementing efficient design patterns for C# and .NETExplore design patterns for functional and reactive programming to build robust and scalable applicationsDiscover how to work effectively with microservice and serverless architecturesBook Description Design patterns are essentially reusable solutions to common programming problems. When used correctly, they meet crucial software requirements with ease and reduce costs. This book will uncover effective ways to use design patterns and demonstrate their implementation with executable code specific to both C# and .NET Core. Hands-On Design Patterns with C# and .NET Core begins with an overview of object-oriented programming (OOP) and SOLID principles. It provides an in-depth explanation of the Gang of Four (GoF) design patterns such as creational, structural, and behavioral. The book then takes you through functional, reactive, and concurrent patterns, helping you write better code with streams, threads, and coroutines. Toward the end of the book, you’ll learn about the latest trends in architecture, exploring design patterns for microservices, serverless, and cloud native applications. You’ll even understand the considerations that need to be taken into account when choosing between different architectures such as microservices and MVC. By the end of the book, you will be able to write efficient and clear code and be comfortable working on scalable and maintainable projects of any size. What you will learnMake your code more flexible by applying SOLID principlesFollow the Test-driven development (TDD) approach in your .NET Core projectsGet to grips with efficient database migration, data persistence, and testing techniquesConvert a console application to a web application using the right MVPWrite asynchronous, multithreaded, and parallel codeImplement MVVM and work with RxJS and AngularJS to deal with changes in databasesExplore the features of microservices, serverless programming, and cloud computingWho this book is for If you have a basic understanding of C# and the .NET Core framework, this book will help you write code that is easy to reuse and maintain with the help of proven design patterns that you can implement in your code.




C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development


Book Description

Publisher's Note: Microsoft stops supporting .NET Core 3.1 in December 2022. The newer 7th edition of this book is available that covers .NET 7 (end-of-life May 2024) or .NET 6 (end-of-life November 2024), with C# 11 and EF Core 7. Key FeaturesBuild modern, cross-platform applications with .NET Core 3.0Get up to speed with C#, and up to date with all the latest features of C# 8.0Start creating professional web applications with ASP.NET Core 3.0Book Description In C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development, Fourth Edition, expert teacher Mark J. Price gives you everything you need to start programming C# applications. This latest edition uses the popular Visual Studio Code editor to work across all major operating systems. It is fully updated and expanded with new chapters on Content Management Systems (CMS) and machine learning with ML.NET. The book covers all the topics you need. Part 1 teaches the fundamentals of C#, including object-oriented programming, and new C# 8.0 features such as nullable reference types, simplified switch pattern matching, and default interface methods. Part 2 covers the .NET Standard APIs, such as managing and querying data, monitoring and improving performance, working with the filesystem, async streams, serialization, and encryption. Part 3 provides examples of cross-platform applications you can build and deploy, such as web apps using ASP.NET Core or mobile apps using Xamarin.Forms. The book introduces three technologies for building Windows desktop applications including Windows Forms, Windows Presentation Foundation (WPF), and Universal Windows Platform (UWP) apps, as well as web applications, web services, and mobile apps. What you will learnBuild cross-platform applications for Windows, macOS, Linux, iOS, and AndroidExplore application development with C# 8.0 and .NET Core 3.0Explore ASP.NET Core 3.0 and create professional web applicationsLearn object-oriented programming and C# multitaskingQuery and manipulate data using LINQUse Entity Framework Core and work with relational databasesDiscover Windows app development using the Universal Windows Platform and XAMLBuild mobile applications for iOS and Android using Xamarin.FormsWho this book is for Readers with some prior programming experience or with a science, technology, engineering, or mathematics (STEM) background, who want to gain a solid foundation with C# 8.0 and .NET Core 3.0.




C# 8 and .NET Core 3 Projects Using Azure


Book Description

Get up to speed with using C# 8 and .NET Core 3.0 features to build real-world .NET Core applications Key FeaturesLearn the core concepts of web applications, serverless computing, and microservicesCreate an ASP.NET Core MVC application using controllers, routing, middleware and authenticationBuild modern applications using cutting-edge services from Microsoft AzureBook Description .NET Core is a general-purpose, modular, cross-platform, and opensource implementation of .NET. The latest release of .NET Core 3 comes with improved performance and security features, along with support for desktop applications. .NET Core 3 is not only useful for new developers looking to start learning the framework, but also for legacy developers interested in migrating their apps. Updated with the latest features and enhancements, this updated second edition is a step-by-step, project-based guide. The book starts with a brief introduction to the key features of C# 8 and .NET Core 3. You'll learn to work with relational data using Entity Framework Core 3, before understanding how to use ASP.NET Core. As you progress, you’ll discover how you can use .NET Core to create cross-platform applications. Later, the book will show you how to upgrade your old WinForms apps to .NET Core 3. The concluding chapters will then help you use SignalR effectively to add real-time functionality to your applications, before demonstrating how to implement MongoDB in your apps. Finally, you'll delve into serverless computing and how to build microservices using Docker and Kubernetes. By the end of this book, you'll be proficient in developing applications using .NET Core 3. What you will learnUnderstand how to incorporate the Entity Framework Core 3 to build ASP.NET Core MVC applicationsCreate a real-time chat application using Azure’s SignalR serviceGain hands-on experience of working with Cosmos DBDevelop an Azure Function and interface it with an Azure Logic AppExplore user authentication with Identity Server and OAuth2Understand how to use Azure Cognitive Services to add advanced functionalities with minimal codeGet to grips with running a .NET Core application with KubernetesWho this book is for This book is for developers and programmers of all levels who want to build real-world projects and explore the new features of .NET Core 3. Developers working on legacy desktop software who are looking to migrate to .NET Core 3 will also find this book useful. Basic knowledge of .NET Core and C# is assumed.




Hands-On Domain-Driven Design with .NET Core


Book Description

Solve complex business problems by understanding users better, finding the right problem to solve, and building lean event-driven systems to give your customers what they really want Key FeaturesApply DDD principles using modern tools such as EventStorming, Event Sourcing, and CQRSLearn how DDD applies directly to various architectural styles such as REST, reactive systems, and microservicesEmpower teams to work flexibly with improved services and decoupled interactionsBook Description Developers across the world are rapidly adopting DDD principles to deliver powerful results when writing software that deals with complex business requirements. This book will guide you in involving business stakeholders when choosing the software you are planning to build for them. By figuring out the temporal nature of behavior-driven domain models, you will be able to build leaner, more agile, and modular systems. You'll begin by uncovering domain complexity and learn how to capture the behavioral aspects of the domain language. You will then learn about EventStorming and advance to creating a new project in .NET Core 2.1; you'll also and write some code to transfer your events from sticky notes to C#. The book will show you how to use aggregates to handle commands and produce events. As you progress, you'll get to grips with Bounded Contexts, Context Map, Event Sourcing, and CQRS. After translating domain models into executable C# code, you will create a frontend for your application using Vue.js. In addition to this, you'll learn how to refactor your code and cover event versioning and migration essentials. By the end of this DDD book, you will have gained the confidence to implement the DDD approach in your organization and be able to explore new techniques that complement what you've learned from the book. What you will learnDiscover and resolve domain complexity together with business stakeholdersAvoid common pitfalls when creating the domain modelStudy the concept of Bounded Context and aggregateDesign and build temporal models based on behavior and not only dataExplore benefits and drawbacks of Event SourcingGet acquainted with CQRS and to-the-point read models with projectionsPractice building one-way flow UI with Vue.jsUnderstand how a task-based UI conforms to DDD principlesWho this book is for This book is for .NET developers who have an intermediate level understanding of C#, and for those who seek to deliver value, not just write code. Intermediate level of competence in JavaScript will be helpful to follow the UI chapters.




Building Microservices with .NET Core 2.0


Book Description

Architect your .NET applications by breaking them into really small pieces - microservices -using this practical, example-based guide. Key Features Start your microservices journey and get a broader perspective on microservices development using C# 7.0 with .NET Core 2.0 Build, deploy, and test microservices using ASP.Net Core, ASP.NET Core API, and Microsoft Azure Cloud Get the basics of reactive microservices Book Description The microservices architectural style promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within your business. We'll start by looking at what microservices are and their main characteristics. Moving forward, you will be introduced to real-life application scenarios; after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices using C# 7.0 with .NET Core 2.0. You will identify service boundaries, split the application into multiple microservices, and define service contracts. You will find out how to configure, deploy, and monitor microservices, and configure scaling to allow the application to quickly adapt to increased demand in the future. With an introduction to reactive microservices, you’ll strategically gain further value to keep your code base simple, focusing on what is more important rather than on messy asynchronous calls. What you will learn Get acquainted with Microsoft Azure Service Fabric Compare microservices with monolithic applications and SOA Learn Docker and Azure API management Define a service interface and implement APIs using ASP.NET Core 2.0 Integrate services using a synchronous approach via RESTful APIs with ASP.NET Core 2.0 Implement microservices security using Azure Active Directory, OpenID Connect, and OAuth 2.0 Understand the operation and scaling of microservices in .NET Core 2.0 Understand the key features of reactive microservices and implement them using reactive extensions Who this book is for This book is for .NET Core developers who want to learn and understand the microservices architecture and implement it in their .NET Core applications. It’s ideal for developers who are completely new to microservices or just have a theoretical understanding of this architectural approach and want to gain a practical perspective in order to better manage application complexities.