Hands-On Software Architecture with C# 8 and .NET Core 3: Architecting software solutions using microservices, DevOps, and design patterns for Azure Cloud

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.Table of Contents Understanding The Importance of Software Architecture Functional and Nonfunctional Requirements Documenting the Requirements with Azure DevOps Deciding the best cloud-based solution for your Infrastructure Applying Microservice Architecture to Your Enterprise Application Interacting with Data in C#: Entity Framework Core How to Choose Your Data Storage in the Cloud Working with Azure Functions Design Patterns and their Implementation in .NET Core Understanding Different Domains in A Software Solution Implementing Code Reusability in C# 8 Applying Service-Oriented Architecture with .NET Core Presenting Asp.Net Core MVC Best Practices in Coding C# 8 Testing your Code - Unit Test cases and TDD Applying Tools to Write Better Code Deploying Your Application With Azure DevOps Understanding DevOps Principles Challenges of Applying CI Scenarios in DevOps Automation for Software Testing

Author: Gabriel Baptista

Learn more