Book Image

Solution Architecture with .NET

By : Jamil Hallal
Book Image

Solution Architecture with .NET

By: Jamil Hallal

Overview of this book

Understanding solution architecture is a must to build and integrate robust systems to meet your client’s needs. This makes it crucial for a professional .NET software engineer to learn the key skills of a .NET solution architect to create a unique digital journey and build solutions for a wide range of industries, from strategy and design to implementation. With this handbook, developers working with the .NET technology will be able to put their knowledge to work. The book takes a hands-on approach to help you become an effective solution architect. You’ll start by learning the principles of the software development life cycle (SDLC), the roles and responsibilities of a .NET solution architect, and what makes a great .NET solution architect. As you make progress through the chapters, you’ll understand the principles of solution architecture and how to design a solution, and explore designing layers and microservices. You'll complete your learning journey by uncovering modern design patterns and techniques for designing and building digital solutions. By the end of this book, you'll have learned how to architect your modern web solutions with ASP.NET Core and Microsoft Azure and be ready to automate your development life cycle with Azure DevOps.
Table of Contents (15 chapters)
Section 1: Understanding the Responsibilities of a Solution Architect
Section 2: Designing a Solution Architecture
Section 3: Architecting Modern Web Solutions with DevOps Solutions

What this book covers

Chapter 1, Principles of the Software Development Life Cycle, helps you understand that the concept and principles of the software development life cycle are a great kick-off point towards planning a software product. This chapter aims to explain the notion of SDLC, its phases, and methodologies.

Chapter 2, Team Roles and Responsibilities, focuses on the main roles in a typical software development team and their corresponding responsibilities. One of the key factors for a successful software project is to ensure that the key stakeholders of the development team are all in place. The success of the project also depends on how well the team works together.

Chapter 3, What Makes an Effective Solution Architect?, elaborates more on the personal qualifications needed to become a good solution architect.

Chapter 4, Designing a Solution Architecture, focuses on solution architecture practices by exploring the key principles of solution architecture and the most popular Unified Modeling Language (UML) diagrams that are recommended to design medium to large-scale solutions.

Chapter 5, Exploring Architecture Design Patterns, talks about modern architecture patterns with sample use cases. Additionally, we will explain the criteria that should be adopted to choose the right architecture pattern for our software solution.

Chapter 6, Architecture Considerations, explores design quality attributes and how to properly plan caching, exception handling, and deployment.

Chapter 7, Securing ASP.NET Web Applications, explores security considerations to be taken into account when designing a solution and looks at best practices in this context.

Chapter 8, Testing in Solution Architecture, explores different types of testing, including unit testing, stress testing, and automated testing.

Chapter 9, Architecting Modern Web Solutions with ASP.NET Core and Azure, helps you learn how to architect cross-platform modern web solutions with ASP.NET Core to best take advantage of its capabilities. Building web applications with ASP.NET Core, hosted in Azure, offers many competitive advantages over traditional alternatives. ASP.NET Core is optimized for modern web application development practices and cloud hosting scenarios.

Chapter 10, Designing and Implementing Microsoft DevOps Solution, helps you learn how to make use of Azure DevOps to build, test, and deploy applications by using modern software development practices. Moreover, we will get to know how to manage source control and we will also explore the management of packages using Azure Artifacts, as well as understanding Continuous Integration/Continuous Deployment practices.