From 10cb5f10a5d1c6a28a54233ec2e2cfc7fc043a67 Mon Sep 17 00:00:00 2001 From: Cesar De la Torre Date: Sun, 5 Mar 2017 12:13:05 -0800 Subject: [PATCH] Updated README for home page at GitHub --- README.md | 49 +++++++++--------- ...rch_dev_microservices_containers_cover.png | Bin 39284 -> 34080 bytes 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 60f6a5740..59aaa694b 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,27 @@ Sample .NET Core reference application, powered by Microsoft, based on a simplified microservices architecture and Docker containers.

> ### DISCLAIMER -> IMPORTANT: The current state of this sample application is ALPHA, therefore, many areas could change significantly while refactoring and getting improvements. Feedback and pull requests from the community will be appreciated. +> **IMPORTANT:** The current state of this sample application is **ALPHA**, consider it version a 0.1 foundational version, therefore, many areas could be improved and change significantly while refactoring current code and implementing new features. **Feedback with improvements and pull requests from the community will be highly appreciated and accepted.** > -> This reference application proposes a simplified microservice oriented architecture implementation (as mentioned, currently in ALPHA state) to introduce technologies like .NET Core with Docker containers through a comprehensive but simplified application. However, this reference application it is not trying to solve all the problems in a large and mission-critical distributed system, it is just a bootstrap for developers to easily get started in the world of Docker containers and microservices with .NET Core. +> This reference application proposes a simplified microservice oriented architecture implementation to introduce technologies like .NET Core with Docker containers through a comprehensive application. However, this reference application it is not trying to solve all the problems in a large and mission-critical distributed system, it is just a bootstrap for developers to easily get started in the world of Docker containers and microservices with .NET Core. >

For example, the next step (still not covered here) after understanding Docker containers and microservices is to select a microservice cluster/orchestrator like Docker Swarm, Kubernetes or DC/OS (in Azure Container Service) or Azure Service Fabric which in most of the cases will require additional partial changes to your application's configuration (although the present architecture should work on most orchestrators with small changes). In the future we might fork this project and make multiple versions targeting specific microservice cluster/orchestrators.

-> Read the planned Roadmap and Milestones for future releases of eShopOnContainers within the Wiki for further info about possible new implementations and provide feedback at the ISSUES level if you'd like to see any specific scenario implemented. +> Read the planned Roadmap and Milestones for future releases of eShopOnContainers within the Wiki for further info about possible new implementations and provide feedback at the ISSUES section if you'd like to see any specific scenario implemented or improved. Also, feel free to discuss on any current issue. +**Architecture overview**: This reference application is cross-platform either at the server and client side, thanks to .NET Core services capable of running on Linux or Windows containers depending on your Docker host, and to Xamarin for mobile apps running on Android, iOS or Windows/UWP plus any browser for the client web apps. +The architecture proposes a simplified microservice oriented architecture implementation with multiple autonomous microservices (each one owning its own data/db) and implementing different approaches within each microservice (simple CRUD vs. DDD/CQRS patterns) using Http as the current communication protocol.

-This reference application is cross-platform either in the server and client side, thanks to .NET Core services capable of running on Linux or Windows containers depending on your Docker host, and to Xamarin for mobile apps running on Android, iOS or Windows/UWP plus any browser for the client web apps. +The plan is to add asynchronous communication for data updates propagation across multiple services based on integration events and an event bus plus other features defined at the roadmap.

+

+Additional miroservice styles with other frameworks and No-SQL databases will be added, eventually. This is a great opportunity for pull requests from the community, like a new microservice using Nancy, or even other languages like Node, Go, Python or data containers with MongoDB with Azure DocDB compatibility, Postgress, RavenDB, Event Store, MySql, etc. You name it! :) > ### Important Note on Database Servers/Containers -> In this solution's current configuration for a development environment, the SQL databases are automatically deployed with sample data into a single SQL Server for Linux container (a single shared Docker container for SQL databases) so the whole solution can be up and running without any dependency in the cloud or server. Each database could also be deployed as a single Docker container, but then you'd need more then 8GB or memory RAM in your development machine in order to be able to run 3 SQL Server Docker containers in your Docker Linux host in "Docker for Windows" or "Docker for Mac" development environments. +> In this solution's current configuration for a development environment, the SQL databases are automatically deployed with sample data into a single SQL Server for Linux container (a single shared Docker container for SQL databases) so the whole solution can be up and running without any dependency to any cloud or specific server. Each database could also be deployed as a single Docker container, but then you'd need more then 8GB or memory RAM assigned to Docker in your development machine in order to be able to run 3 SQL Server Docker containers in your Docker Linux host in "Docker for Windows" or "Docker for Mac" development environments. >

A similar case is defined in regards Redis cache running as a container for the development environment. ->

However, in a real production environment it is recommended to have persistance (SQL Server and Redis) in HA services like Azure SQL Database, Redis as a service or any other clustering system. If you want to change to a production configuration, you'll just need to change the connection strings once you have set up the servers in HA cloud or on-premises. +>

However, in a real production environment it is recommended to have your databases (SQL Server and Redis, in this case) in HA (High Available) services like Azure SQL Database, Redis as a service or any other clustering system. If you want to change to a production configuration, you'll just need to change the connection strings once you have set up the servers in a HA cloud or on-premises. ## Related documentation and guidance While developing this reference application, we are creating a reference Guide/eBook named "Architecting and Developing Containerized and Microservice based .NET Applications" which explains in detail how to develop this kind of architectural style (microservices, Docker containers, Domain-Driven Design for certain microservices) plus other simpler architectural styles, like monolithic apps that can also live as Docker containers. @@ -34,7 +38,7 @@ You can download both eBooks from here: | **Download (Early DRAFT, still work in progress)** - send feedback to cesardl@microsoft.com | **Download** - First Edition from late 2016 | -

However, we encourage to review the "*Architecting/Developing*" eBook because the architectural styles and architectural patterns and technologies explained in the guidance are using this reference application when explaining many sample implementations, so you'll understand much better the context, design and decisions taken. +

However, we encourage to review the *Architecting/Developing eBook* because the architectural styles and architectural patterns and technologies explained in the guidance are using this reference application when explaining many pattern implementations, so you'll understand much better the context, design and decisions taken in th current architecture and internal design. ## Overview of the application code @@ -42,30 +46,25 @@ In this repo you can find a sample reference application that will help you to u The example business domain or scenario is based on an eShop or eCommerce which is implemented as a multi-container application. Each container is a microservice deployment (like the basket-microservice, catalog-microservice, ordering-microservice and the identity-microservice) which are developed using ASP.NET Core running on .NET Core so they can run either on Linux Containers and Windows Containers. The screenshot below shows the VS Solution structure for those microservices/containers and client apps. -- Open eShopOnContainers.sln for a solution containing all the projects (All client apps and services). -- Open eShopOnContainers-ServicesAndWebApps.sln for a solution containing just the server-side projects related to the microservices and web applications. -- Open eShopOnContainers-MobileApps.sln for a solution containing just the client mobile app projects (Xamarin mobile apps only). +- (*Recommended when getting started*) Open eShopOnContainers-ServicesAndWebApps.sln for a solution containing just the server-side projects related to the microservices and web applications. +- Open eShopOnContainers-MobileApps.sln for a solution containing just the client mobile app projects (Xamarin mobile apps only). It works independently based on mocks, too. +- Open eShopOnContainers.sln for a solution containing all the projects (All client apps and services). Finally, those microservices are consumed by multiple client web and mobile apps, as described below. - +
*MVC Application (ASP.NET Core)*: Its an MVC 6 application where you can find interesting scenarios on how to consume HTTP-based microservices from C# running in the server side, as it is a typical ASP.NET Core MVC application. Since it is a server-side application, access to other containers/microservices is done within the internal Docker Host network with its internal name resolution. - +
*SPA (Single Page Application)*: Providing similar "eShop business functionality" but developed with Angular 2, Typescript and slightly using ASP.NET Core MVC 6. This is another approach for client web applications to be used when you want to have a more modern client behavior which is not behaving with the typical browser round-trip on every action but behaving like a Single-Page-Application which is more similar to a desktop app usage experience. The consumption of the HTTP-based microservices is done from TypeScript/JavaScript in the client browser, so the client calls to the microservices come from out of the Docker Host internal network (Like from your network or even from the Internet). - +
*Xamarin Mobile App (For iOS, Android and Windows/UWP)*: It is a client mobile app supporting the most common mobilee OS platforms (iOS, Android and Windows/UWP). In this case, the consumption of the microservices is done from C# but running on the client devices, so out of the Docker Host internal network (Like from your network or even the Internet). -> ### Note on tested Docker Containers/Images -> The development and testing of this project was (as of January 2017) done only on Docker Linux containers running in development machines with "Docker for Windows" and the default Hyper-V Linux VM (MobiLinuxVM) installed by "Docker for Windows". -The Windows Containers scenario has not been implemented/tested yet, but the application should be able to run on Windows Containers based on different Docker base images, as well, as the .NET Core services have also been tested running on plain Windows (with no Docker). -The app was also partially tested on "Docker for Mac" using a development MacOS machine with .NET Core and VS Code installed. However, that is still a scenario using Linux containers running on the VM setup in the Mac by the "Docker for Windows" setup. - ## Setting up your development environment for eShopOnContainers ### Visual Studio 2017 and Windows based This is the more straightforward way to get started: @@ -76,11 +75,13 @@ For those who prefer the CLI on Windows, using dotnet CLI, docker CLI and VS Cod https://github.com/dotnet/eShopOnContainers/wiki/03.-Setting-the-eShopOnContainers-solution-up-in-a-Windows-CLI-environment-(dotnet-CLI,-Docker-CLI-and-VS-Code) ### CLI and Mac based -For those who prefer the CLI on a Mac, using dotnet CLI, docker CLI and VS Code for Mac: +For those who prefer the CLI on a Mac, using dotnet CLI, docker CLI and VS Code for Mac +(Instructions still TBD, but similar to Windows CLI): https://github.com/dotnet/eShopOnContainers/wiki/04.-Setting-eShopOnContainer-solution-up-in-a-Mac,-VS-Code-and-CLI-environment--(dotnet-CLI,-Docker-CLI-and-VS-Code) -> ### Note on Windows Containers -> As mentioned, the development and testing of this project (January 2017 version) was done on Docker Linux containers running in development machines with "Docker for Windows" and the default Hyper-V Linux VM (MobiLinuxVM) installed by "Docker for Windows". -In order to run the application on Windows Containers you'd need to change the base images used by each container: -> - Official .NET Core base-image for Windows Containers, at Docker Hub: https://hub.docker.com/r/microsoft/dotnet/ (Using the Windows Nanoserver tag) -> - Official base-image for SQL Server on Windows Containers, at Docker Hub: https://hub.docker.com/r/microsoft/mssql-server-windows +> ### Note on tested Docker Containers/Images +> Most of the development and testing of this project was (as of early March 2017) done on Docker Linux containers running in development machines with "Docker for Windows" and the default Hyper-V Linux VM (MobiLinuxVM) installed by "Docker for Windows". +The Windows Containers scenario is currently being implemented/tested yet. The application should be able to run on Windows Nano Containers based on different Docker base images, as well, as the .NET Core services have also been tested running on plain Windows (with no Docker). +The app was also partially tested on "Docker for Mac" using a development MacOS machine with .NET Core and VS Code installed, which is still a scenario using Linux containers running on the VM setup in the Mac by the "Docker for Windows" setup. But further testing and feedback on Mac environments and Windows Containers, from the community, will be appreciated. + + diff --git a/img/ebook_arch_dev_microservices_containers_cover.png b/img/ebook_arch_dev_microservices_containers_cover.png index 2a959ac13be71a8db29482e8f3527b93b13ada1a..82db27bb9321628bed682eae824716bc631525ca 100644 GIT binary patch literal 34080 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

oNVY)v5=wqS0rY*&dqs#wTf)V*WcGvgl}U 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

EbukV(r7o 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 EKil_n1^@s6