Software Architecture with C# 9 and .NET 5: Architecting software solutions using microservices, DevOps, and design patterns for Azure
, Second Edition
Gain fundamental and comprehensive software architecture knowledge and the skillset to create fully modular apps
Design high-performance software systems using the latest features of .NET 5 and C# 9
Solve scalability problems in web apps using enterprise architecture patterns
Description
Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. This fully revised and expanded second edition, featuring the latest features of .NET 5 and C# 9, enables you to acquire the key skills, knowledge, and best practices required to become an effective software architect.
This second edition features additional explanation of the principles of Software architecture, including new chapters on Azure Service Fabric, Kubernetes, and Blazor. It also includes more discussion on security, microservices, and DevOps, including GitHub deployments for the software development cycle.
You will begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you will explore how to carefully choose a cloud solution for your infrastructure, along with the factors that will help you manage your app in a cloud-based environment.
Finally, you will discover software design patterns and various software approaches that will allow you to solve common problems faced during development.
By the end of this book, you will be able to build and deliver highly scalable enterprise-ready apps that meet your organization’s business requirements.
Who is this book for?
This book is for engineers and senior software developers aspiring to become architects or looking to build enterprise applications with the .NET Stack. Basic familiarity with C# and .NET is required to get the most out of this book.
What you will learn
Use different techniques to overcome real-world architectural challenges and solve design consideration issues
Apply architectural approaches such as layered architecture, service-oriented architecture (SOA), and microservices
Leverage tools such as containers, Docker, Kubernetes, and Blazor to manage microservices effectively
Get up to speed with Azure tools and features for delivering global solutions
Program and maintain Azure Functions using C# 9 and its latest features
Understand when it is best to use test-driven development (TDD) as an approach for software development
Write automated functional test cases
Get the best of DevOps principles to enable CI/CD environments
If you're involved in any aspect of software development, this book is an absolute essential addition to your library. I can't stress this enough: buy it now. Looking back, I wish I had encountered this gem earlier in my career. It brilliantly encapsulates numerous lessons I had to learn on the job, serving as a comprehensive resource that would have greatly accelerated my growth had I possessed its insights from the outset.The authors cover a vast array of topics, providing not only foundational knowledge but also invaluable insights into the intricacies of software development. Their expertise shines through, making this book an indispensable companion for anyone navigating the complexities of the field.While C# and .NET understandably receive ample attention within these pages, the book transcends mere language specifics. It equips readers with the skills and understanding necessary to thrive in enterprise-level environments, delving into essential technologies and ideologies that are practically mandatory for success.What truly sets this book apart is its accessibility. Despite addressing advanced concepts, it remains remarkably beginner-friendly, offering clarity where other resources might falter. The authors adeptly touch upon crucial subjects often overlooked by introductory texts, ensuring a well-rounded education for readers at any stage of their careers.Even seasoned engineers stand to benefit significantly from this tome. Personally, I found the discussions on Azure, Docker, Kubernetes, and microservices particularly enlightening, as they provided fresh perspectives on technologies that are less commonly encountered in my day-to-day work.In summary, this book is a game-changer. It deserves a prominent place in every engineer's collection, serving as both a comprehensive reference guide and a catalyst for professional growth. Trust me, you won't regret making this investment in yourself and your career.
Amazon Verified review
BOct 09, 2024
5
This book prioritizes breadth over depth, but still manages to convey the majority of important information for any given architecture topic. I have been incredibly pleased by how concise, knowledgeable, and thorough the authors are. This book actually gives expert insight.Similar to how 'C# in depth' is less of a tutorial book and more of a deep dive, this book stays on my desk as a second reference when I don't feel like digging through stack overflow for the theory behind things. This has been very helpful for refactoring a legacy application into a modern minimal-api based .NET project leveraging microservices.
Amazon Verified review
Igor IricApr 13, 2024
5
This book will introduce you to software architecture fundamentals which you can start applying in .NET immediately.The book is full of practical examples.Covers:- C# best practices- Software domains- Design patterns- DevOps principles for CI/CD with focus on Azure- Containers- AI and Machine LearningTechnologies:- Data storage on Azure- Frontend with Blazor- Microservices with Kubernetes- REST API- gRPC- Azure Service Bus- RabbitMQ- DockerYou will learn how to implement communication between microservices using technologies like REST API, gRPC, Azure Service Bus, and RabbitMQ.Understand the pros and cons of each approach and choose the most suitable one for your architecture.You will also understand how to design and implement serverless components in your architecture.You will learn about Azure Functions, AWS Lambda, and Google Cloud Functions.There is a nice practical case study where you’ll create software architecture for a travel agency to understand how to architect the real world app.There are a lot of new great things to learn throughout the book but, hey becoming an Arhitect isn't easy thing.
Amazon Verified review
Jonathan ReevesApr 02, 2024
5
This book is a great resource for anyone looking to sharpen their software architecting skills or looking to learn more about these skills. This book will walk you through the process of architecting your applications using .NET and C#. If you aren't a .NET or C# developer you can still benefit from going through this book to learn the ins and out of what makes a good software architect. The examples and theory go hand in hand which will help you put the concepts together and have a great grasp of them to use in your own projects and career.
Gabriel Baptista is a seasoned technology professional with over two decades of experience in software development and team leadership. He currently leads a team focused on building application software for retail and industry. In parallel, he serves as a member of a technical advisory board, teaches computer engineering at the undergraduate level, and has co-founded technology start-ups in the fields of industrial automation and intelligent logistics. Throughout his career, he has contributed extensively to academia, teaching subjects related to software engineering and information technology at various educational institutions.
Francesco Abbruzzese is the author of the MVC Controls Toolkit and Blazor Controls Toolkit libraries. He has contributed to the diffusion and evangelization of the Microsoft web stack since the first version of ASP.NET MVC. His company, Mvcct Team, offers web applications, tools, and services for web technologies. He moved from AI systems, where he implemented one of the first decision support systems for financial institutions, to top-10 video game titles such as Puma Street Soccer.
Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.
If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.
Please Note: Packt eBooks are non-returnable and non-refundable.
Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:
You may make copies of your eBook for your own use onto any machine
You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website?
If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:
Register on our website using your email address and the password.
Search for the title by name or ISBN using the search option.
Select the title you want to purchase.
Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title.
Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook?
If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
To view your account details or to download a new copy of the book go to www.packtpub.com/account
Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.
You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.
What are the benefits of eBooks?
You can get the information you need immediately
You can easily take them with you on a laptop
You can download them an unlimited number of times
You can print them out
They are copy-paste enabled
They are searchable
There is no password protection
They are lower price than print
They save resources and space
What is an eBook?
Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.
When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.
For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.