All Projects → bmaluijb → CloudDesignPatterns

bmaluijb / CloudDesignPatterns

Licence: other
Welcome to the GitHub repository of the cloud design patterns. This repository contains the examples for the Pluralsight course series: Cloud Design Patterns for Azure. You can download a copy and follow along in the course.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to CloudDesignPatterns

Material Backdrop
A simple solution for implementing Backdrop pattern for Android
Stars: ✭ 221 (+130.21%)
Mutual labels:  design-patterns
Getx pattern
Design pattern designed to standardize your projects with GetX on Flutter.
Stars: ✭ 225 (+134.38%)
Mutual labels:  design-patterns
Designpatterns
Examples of Design Patterns in Java
Stars: ✭ 250 (+160.42%)
Mutual labels:  design-patterns
Design Patterns Typescript
Design Pattern Examples in TypeScript
Stars: ✭ 221 (+130.21%)
Mutual labels:  design-patterns
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (+137.5%)
Mutual labels:  design-patterns
Clean Architecture Manga
🌀 Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Stars: ✭ 3,104 (+3133.33%)
Mutual labels:  design-patterns
Designpattern.samples.csharp
23种面向对象设计模式示例代码(C#实现)
Stars: ✭ 215 (+123.96%)
Mutual labels:  design-patterns
System Design Primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Stars: ✭ 154,659 (+161003.13%)
Mutual labels:  design-patterns
Program Blog
Practice, thinking and reading
Stars: ✭ 228 (+137.5%)
Mutual labels:  design-patterns
Design Patterns Python
💻 Padrões de Projeto em Python
Stars: ✭ 246 (+156.25%)
Mutual labels:  design-patterns
Javascript Design Patterns For Humans
An ultra-simplified explanation of design patterns implemented in javascript
Stars: ✭ 2,818 (+2835.42%)
Mutual labels:  design-patterns
Run Aspnetcore
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD best practices. Download 100+ page eBook PDF from here ->
Stars: ✭ 227 (+136.46%)
Mutual labels:  design-patterns
Design Patterns
💼 Design patterns written in different programming languages 📐
Stars: ✭ 244 (+154.17%)
Mutual labels:  design-patterns
Awesome Design Systems
A curated list of bookmarks, resources and articles about design systems focused on developers.
Stars: ✭ 222 (+131.25%)
Mutual labels:  design-patterns
Go Patterns
Curated list of Go design patterns, recipes and idioms
Stars: ✭ 17,827 (+18469.79%)
Mutual labels:  design-patterns
Dpmodel
《设计模式之禅》原书源码学习
Stars: ✭ 220 (+129.17%)
Mutual labels:  design-patterns
Designpatterns
Simple repository containing one simple example for all existing patterns in C#
Stars: ✭ 231 (+140.63%)
Mutual labels:  design-patterns
awesome-software-architecture
A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
Stars: ✭ 1,594 (+1560.42%)
Mutual labels:  design-patterns
Java Design Patterns
Design patterns implemented in Java
Stars: ✭ 71,923 (+74819.79%)
Mutual labels:  design-patterns
Node.js Design Patterns Third Edition
Node.js Design Patterns Third Edition, published by Packt
Stars: ✭ 239 (+148.96%)
Mutual labels:  design-patterns

CloudDesignPatterns

enter image description here

Hi!

Welcome to the GitHub repository of the cloud design patterns. This repository contains the examples for the Pluralsight course series: Cloud Design Patterns for Azure.

The solution consists of:

  • AutomaticScalingPattern
    • .NET 4.5.2 Console Application
    • The pattern is implemented in
      • Program.cs
  • CacheAsidePattern
    • .NET 4.5.2 Console Application
    • The pattern is implemented in
      • CacheService.cs
      • FakeDataSource.cs
      • Program.cs
  • CircuitBreakerPattern
    • .NET 4.5.2 Console Application
    • The pattern is implemented in
      • All classes in the CircuitBreaker folder
      • Program.cs
  • CQRSPattern
    • .NET 4.5.2 Console Application
    • The pattern is implemented in
      • All classes in the DataStores, Models and Services folders
      • Program.cs
  • EventSourcingPattern
    • .NET 4.5.2 Console Application
    • The pattern is implemented in
      • All classes in the Commands and EventStore folders
      • Program.cs
  • QueueBasedLoadLevelingPatternApplication
    • .NET 4.5.2 Console Application
    • One of the QueueBasedLoadLevelingPattern applications, this one acts as the application calling a service
    • The pattern is implemented in
      • Program.cs
  • QueueBasedLoadLevelingPatternLibary
    • .NET 4.5.2 Console Application
    • One of the QueueBasedLoadLevelingPattern applications, this is a library containing a service that talks to Azure Storage
  • QueueBasedLoadLevelingPatternService
    • .NET 4.5.2 Console Application
    • One of the QueueBasedLoadLevelingPattern applications, this is the application that picks up messages from the Azure queue and processes them
    • The pattern is implemented in
      • Program.cs
  • QueueBasedLoadLevelingPatternWebJob
    • An Azure WebJob project
    • One of the QueueBasedLoadLevelingPattern applications, this is the application that picks up messages from the Azure queue and processes them, showing a trigger that is triggered by new messages on the queue
    • The pattern is implemented in
      • Functions.cs
  • RetryPattern
    • .NET 4.5.2 Console Application
    • The pattern is implemented in
      • StorageService.cs
  • RuntimeReconfigurationPattern
    • ASP.NET Core MVC 1.1 Web Application
    • The pattern is implemented in
      • Startup.cs class
      • HomeController.cs
  • ShardingPattern
  • ValetKeyPattern
    • ASP.NET Core MVC 1.1 Web Application
    • The pattern is implemented in
      • AzureStorage/CORSConfigurator.cs
      • Controllers/SasController.cs
      • Views/Upload.cshtml

All of the projects can be run independently.

The QueueBasedLoadLevelingPattern projects make no sense can be run independently, but serve little purpose doing so. Please watch the Queue-based loadleveling pattern module for more information.

Getting started

Step 1

Make sure that you have the following:

  • Visual Studio 2017
  • Azure subscription (Try for free)
  • Azure SDK, if you didn't indicate it it the Visual Studio 2017 setup

Step 2

Download a copy of the code and build it. Select the example that you want to run and set it as the startup project.

Running the AutomaticScalingPattern project

To run the AutomaticScalingPattern project, you need to create a Service Principal in Azure. Find out here to to create one: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal. Insert the ClientId, ClientSecret (AAD application token) and AAD TenantId into the Authenticate method in program.cs

Running the CacheAsidePattern project

To run the CacheAsidePattern project, you need an Azure Redis Cache. Once you've created one, you need to put the Redis Cache connectionstring in the APp.Config file.

Running the EventSourcingPattern project

To run the EventSourcingPattern project, you need a SQL Server. This can be a SQL Server Local DB, SQL Server Express, other SQL Server versions on-premises or in the cloud. Put the SQL Server connectionstring in the App.config file.

Running the QueueBasedLoadLevelingPattern projects

To run these projects, you need to indicate an Azure Storage account where in which a queue will be created. When you have an Azure Storage Account, you need to put the connectionstring for the storage account in the App.config files of the following projects:

  • QueueBasedLoadLevelingPatternApplication
  • QueueBasedLoadLevelingPatternService
  • QueueBasedLoadLevelingPatternWebJob

The connectionstring should look like this: "DefaultEndpointsProtocol=https;AccountName=saspluralsight;AccountKey=WCxWWe1q6w0EHByo+==;"

Running the RetryPattern project

To run the RetryPattern project, you need an Azure Storage account. Find out more here. When you have one, you need to put the connectionstring for the storage account in the App.config file.

The connectionstring should look like this: "DefaultEndpointsProtocol=https;AccountName=saspluralsight;AccountKey=WCxWWe1q6w0EHByo+==;"

Running the ShardingPattern project

To run the EventSourcingPattern project, you need an Azure SQL Server. In the App.config file:

  • ServerName: Put in the servername (YOURSQLSERVERNAME.database.windows.net)
  • UserName: SQL Server user username (user should be able to create and delete databases)
  • Password: SQL Server user password

Running the ValetKeyPattern project

To run the ValetKeyPattern project, you need an Azure Storage account. Find out more here. When you have one, you need to put the connectionstring for the storage account in either the appsettings.json or appsettings.development.json file, in the AzureStorageConnection setting.

The connectionstring should look like this: "DefaultEndpointsProtocol=https;AccountName=saspluralsight;AccountKey=WCxWWe1q6w0EHByo+==;"

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].