From 299339d59bdf206f36add5a3aff6411aeb4f1113 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Thu, 28 Nov 2019 18:21:43 +0000 Subject: [PATCH] Include release notes page with details --- Asynchronous-messaging.md | 1 + Release-notes.md | 76 ++++++++++++++++++ _Sidebar.md | 2 + images/Release-Notes/new-folder-structure.png | Bin 0 -> 11111 bytes 4 files changed, 79 insertions(+) create mode 100644 Asynchronous-messaging.md create mode 100644 Release-notes.md create mode 100644 images/Release-Notes/new-folder-structure.png diff --git a/Asynchronous-messaging.md b/Asynchronous-messaging.md new file mode 100644 index 0000000..2d4bb9d --- /dev/null +++ b/Asynchronous-messaging.md @@ -0,0 +1 @@ +Placeholder to reference Asynchronous messaging solutions. diff --git a/Release-notes.md b/Release-notes.md new file mode 100644 index 0000000..9be189a --- /dev/null +++ b/Release-notes.md @@ -0,0 +1,76 @@ +> **CONTENT** + +- [2019-11-26 - Release 3.0.0](#2019-11-26---release-300) + - [Highlights](#highlights) + - [Details](#details) + - [New folder structure](#new-folder-structure) + - [Retired deployment scenarios](#retired-deployment-scenarios) + +## 2019-11-26 - Release 3.0.0 + +The latest [3.0.0 release](https://github.com/dotnet-architecture/eShopOnContainers/releases/tag/3.0.0) contains a **LOT** of changes and new features: + +### Highlights + +1. Update to .NET Core 3.0 +2. Use of gRPC for microservice-to-microservice communication +3. Use of Envoy Proxy for BFF +4. Repo cleanup +5. Initial Service Mesh support +6. Revise deployment scenarios + +### Details + +- Migrate solution from ASP.NET Core 2.2 to 3.0 and update all projects to use the latest .NET Core 3.0 templates. + +- Implement the new .NET Core 3.0 WorkerService in Ordering.API and other background processes. + +- Improve Ordering.API + - Group order items + - apply discounts from Marketing.API + +- Handle two deployment scenarios + - Basic deployment, better for learning: + - [CLI or Visual Studio Code](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Windows-setup) + - [Visual Studio (F5 experience)](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Windows-setup#optional---use-visual-studio) + - [Docker compose](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Docker-compose-deployment-files) + - [Local Kubernetes](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploy-to-Local-Kubernetes) + + - Advanced deployment, complex but more real-life: + - [Deploy to AKS with a Service Mesh for resiliency](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploy-to-Azure-Kubernetes-Service-(AKS)) + - Sidecar implementation with Envoy/Linkerd + - Improved API Gateway and resilience + - gRPC for microservice-to-microservice communications + +#### New folder structure + +The repo also has a new, simpler, folder structure, as shown in the following image: + +![](images/Release-Notes/new-folder-structure.png) + +In the above image you can see that the first folder level contains, basically: + +- **build**: Scripts for building Docker images. +- **deploy**: Scripts for deployment. +- **src**: All source projects, including tests. + - **ApiGateways**: Envoy configuration and Aggregators source code. + - **BuildBlocks**: Common components used by several projects. + - **Mobile**: Mobile apps projects. + - **Services**: Backend for all services. Including unit and functional tests for some projects. + - Basket + - Catalog + - Identity + - Location + - Marketing + - Ordering + - Payment + - Webhooks + - **Tests**: General functional application tests. + - **test-results**: Test results + - **Web**: Web applications + +#### Retired deployment scenarios + +- Service Fabric & Service Fabric Mesh. +- Kubernetes using YAML (only Helm charts are supported) +- CLI scripts for build and push (docker-compose and docker multi-stage are used) diff --git a/_Sidebar.md b/_Sidebar.md index dcf3782..c413612 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -1,6 +1,7 @@ ## eShopOnContainers - [Home](Home) +- [Release notes](Release-notes) - [Roadmap](Roadmap) - [e-books](eBooks) - [Follow updates](https://github.com/dotnet-architecture/News/issues?q=is%3Aopen+is%3Aissue) @@ -27,6 +28,7 @@ - [API gateways](API-gateways) - [Webhooks](Webhooks) - [Azure Key Vault](Azure-Key-Vault) + - [Asynchronous messaging](Asynchronous-messaging) - Logging and Monitoring - [Serilog & Seq](Serilog-and-Seq) - [Using HealthChecks](Using-HealthChecks) diff --git a/images/Release-Notes/new-folder-structure.png b/images/Release-Notes/new-folder-structure.png new file mode 100644 index 0000000000000000000000000000000000000000..14a62e7153d334327083339aa5425ceefe6dcf01 GIT binary patch literal 11111 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

v3K1AL;r<#rgSxI2~CV#Na`&oU`Qr~W}cfW$M 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 IHhJ@Z0HdQ4DgXcg literal 0 HcmV?d00001