Building Modern SaaS Applications with C# and .NET: Build, deploy, and maintain professional SaaS applications

Building Modern SaaS Applications with C# and .NET: Build, deploy, and maintain professional SaaS applications

Building Modern SaaS Applications with C# and .NET: Build, deploy, and maintain professional SaaS applications
Автор: Watt Andy
Дата выхода: 2023
Издательство: Packt Publishing Limited
Количество страниц: 479
Размер файла: 2.5 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы  Дополнительные материалы 

Cover Page....2

Table of Contents....3

Preface....5

Part 1: Getting Started....14

Chapter 1: SaaS – the Modern Distribution Model that We All Need....15

What is SaaS?....16

What other types of applications are there?....18

Where did it all begin?....20

Why is SaaS a popular choice for businesses large and small?....23

Which tools are required to build SaaS apps?....24

Which techniques will be used to build SaaS apps?....27

How does this affect the development process?....33

What to expect from this book....35

How to assess and pay off technical debt....35

Summary....37

Further reading....38

Chapter 2: Building a Simple Demo Application....39

Technical requirements....40

Setting up....40

Building out a sample application....60

Where do we go from here?....74

Summary....75

Further reading....75

Questions....76

Part 2: Building the Backend....77

Chapter 3: What Is Multi-Tenancy, and Why Is It Important in SaaS Applications?....78

Technical requirements....79

What is multi-tenancy?....80

Options for data storage with multi-tenant applications....85

Design considerations through the application layers....89

Security considerations....108

Summary....117

Further reading....118

Chapter 4: Building Databases and Planning for Data-Rich Applications....119

Technical requirements....120

The importance of data in a SaaS application....120

Building a database....122

Testing data-rich applications....137

Upgrading a database....138

Summary....143

Further reading....143

Questions....143

Chapter 5: Building Restful APIs....145

Technical requirements....145

What are RESTful APIs?....146

Matching API operations to HTTP verbs....152

Data transfer objects....156

Designing better with REST....158

Versioning public APIs....178

Testing APIs....183

Summary....185

Further reading....185

Questions....186

Chapter 6: Microservices for SaaS Applications....187

Technical requirements....188

What are microservices and why use them?....188

Best practices for building microservices....191

Mixing microservices and RESTful APIs....200

Common pitfalls and how to avoid them....204

Some practical advice....206

A practical example....213

Summary....221

Further reading....221

Questions....222

Part 3: Building the Frontend....223

Chapter 7: Building a User Interface....224

Technical requirements....225

Introduction to the tech stack....225

UX considerations – knowing your customer....227

Building a simple UI....236

Connecting the UI to the backend....251

Building usable UIs....255

Summary....261

Further reading....263

Questions....263

Chapter 8: Authentication and Authorization....264

Technical requirements....265

What are authentication and authorization....265

Multi-tenancy and microservices....283

Managing users, roles, and permissions....291

Summary....295

Further reading....296

Questions....297

Part 4: Deploying and Maintaining the Application....298

Chapter 9: Testing Strategies for SaaS Applications....299

Technical requirements....300

Testing strategies for SaaS applications....300

The testing pyramid – unit, integration, and E2E testing....309

An overview of testing tools and frameworks for SaaS applications....318

A practical demonstration....322

Summary....324

Further reading....325

Questions....326

Chapter 10: Monitoring and Logging....327

Overview....328

Monitoring....330

Logging....338

Monitoring and logging considerations for SaaS applications....346

Summary....348

Further reading....350

Questions....350

Chapter 11: Release Often, Release Early....351

Understanding CI/CD....352

Configuring CI/CD pipelines....359

CI/CD pipelines and tools overview....363

SaaS-specific considerations....367

Summary....371

Further reading....372

Questions....373

Chapter 12: Growing Pains – Operating at Scale....374

The challenges of operating at scale....375

Scaling the database....390

Scaling the API....400

Scaling the UI....410

Summary....417

Further reading....418

Questions....418

Part 5: Concluding Thoughts....420

Chapter 13: Wrapping It Up....421

Well done!....421

What have you learned?....424

How can you use these skills?....427

Summary....433

Index....435

Why subscribe?....472

Other Books You May Enjoy....473

Packt is searching for authors like you....477

Share Your Thoughts....477

Download a free PDF copy of this book....478

There are several concepts that must be mastered to deliver functional and efficient SaaS applications. This book is perfect for developers and teams with experience in traditional application development looking to switch to SaaS and deliver slick and modern applications. You'll start with a general overview of SaaS as a concept and learn with the help of an example throughout the book to bring life to the technical descriptions. You'll use the Microsoft .NET tech stack for development and C# as the programming language to develop your desired SaaS application.

Delivering SaaS requires a deep understanding of all layers in the application stack. As you progress, you'll learn how to approach the database layer, the API, and the UI to confidently approach application development using the SaaS model. Additionally, you'll explore how to test, deploy, maintain, and upgrade each component of the application.

By the end of this book, you will be well equipped to approach all aspects of delivering software using the SaaS paradigm.

What you will learn

  • Explore SaaS and understand its importance in modern application development
  • Discover multi-tenancy and its impact on design decisions for SaaS
  • Build, test, and deploy a database, API, and UI for a SaaS application
  • Approach authentication and authorization like a pro
  • Scale a SaaS application
  • Employ C# and .NET to build SaaS applications

Who this book is for

If you are a software developer with an interest in developing apps using the 'SaaS' paradigm, or a tech lead, scrum master, or a director and founder - this book will help you understand how to build a SaaS application. If you are a Java developer looking to start fresh with distributed systems, this book is for you. A basic understanding of Java, Spring/Spring Boot, and Web services will help you get the most out of this book.


Похожее:

Список отзывов:

Нет отзывов к книге.