{"id":12105,"date":"2017-06-20T02:48:19","date_gmt":"2017-06-20T16:48:19","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/?p=12105"},"modified":"2021-09-30T10:09:34","modified_gmt":"2021-09-30T17:09:34","slug":"the-week-in-net-net-architecture-microservices-containers-on-net-with-omer-raviv-on-ozcode-sprache","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-net-architecture-microservices-containers-on-net-with-omer-raviv-on-ozcode-sprache\/","title":{"rendered":"The week in .NET &#8211; .NET Architecture: Microservices &amp; Containers, On .NET with Omer Raviv on OzCode, Sprache"},"content":{"rendered":"<p>Previous posts:<\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-on-net-with-mattias-karlsson-on-cake-topshelf\/\">On .NET with Mattias Karlsson on Cake, Topshelf<\/a><\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2017\/06\/06\/the-week-in-net-on-net-with-brett-morrison-datetime-extensions\/\">On .NET with Brett Morrison, DateTime Extensions<\/a><\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2017\/05\/30\/the-week-in-net-open-xml-sdk-adventure-time\/\">Open XML SDK, Adventure Time<\/a><\/li>\n<\/ul>\n<h2>.NET Architecture \u2013 Microservices &amp; Containers<\/h2>\n<p>We recently added an <a href=\"https:\/\/www.microsoft.com\/net\/learn\/architecture\">Architecture Guidance page<\/a> on the .NET Website. This new page pulls together architecture related resources for building different types of applications with .NET. We\u2019ll be adding and updating content as it becomes available.<\/p>\n<p>The Microservices &amp; Containers section of the page provides some great resources for building and deploying microservices with .NET. <a href=\"https:\/\/twitter.com\/cesardelatorre\">Cesar De la Torre<\/a> has authored two eBooks, one on designing and building microservices, and the other on deploying and maintaining them in production. You\u2019ll also find the eShopOnContainers sample application, that shows all the concepts in action.<\/p>\n<p>Visit the <a href=\"https:\/\/www.microsoft.com\/net\/learn\/architecture\">Architecture Guidance page<\/a> to get these resources, and more.<\/p>\n<h2>On .NET: Omer Raviv &#8211; OzCode<\/h2>\n<p>During the Microsoft Build conference, we recorded <a href=\"https:\/\/channel9.msdn.com\/Shows\/On-NET\/Omer-Raviv-OzCode\">interviews with some of the attendees<\/a>. This week, we&#8217;re publishing the one we did with Omer Raviv, with a fantastic demo of <a href=\"https:\/\/oz-code.com\/\">OzCode<\/a>, a debugging extension for Visual Studio that makes it a lot easier to debug Linq expressions, displays variable values right in the code editor, and much, much more. This is recommended watching for anyone who spends a lot of time in the debugger.<\/p>\n<p><center>\n<iframe src=\"https:\/\/channel9.msdn.com\/Shows\/On-NET\/Omer-Raviv-OzCode\/player\" width=\"650\" height=\"360\" allowFullScreen frameBorder=\"0\"><\/iframe>\n<\/center><\/p>\n<h2>Package of the week: Sprache<\/h2>\n<p>Parsing text is one of the most common tasks in computer science. Whether you need to build a small DSL, use an exotic data format, or use formatted input from your users, you&#8217;ll need to describe how to transform text into a data structure.<\/p>\n<p>There are fully-featured toolsets such as <a href=\"http:\/\/www.antlr.org\/\">ANTLR<\/a> to perform such tasks, and many language grammars are defined with ANTLR, but for smaller parsing needs, they can be massively overkill.<\/p>\n<p><a href=\"https:\/\/github.com\/sprache\/Sprache\">Sprache<\/a> is a lightweight package to build simple parsers in C#. You can stop using regular expressions right now, and start building maintainable parsers instead \ud83d\ude09<\/p>\n<pre><code class=\"language-csharp\">Parser&lt;string&gt; identifier =\r\n    from leading in Parse.WhiteSpace.Many()\r\n    from first in Parse.Letter.Once()\r\n    from rest in Parse.LetterOrDigit.Many()\r\n    from trailing in Parse.WhiteSpace.Many()\r\n    select new string(first.Concat(rest).ToArray());\r\n\r\nvar id = identifier.Parse(&quot; abc123  &quot;);\r\n\r\nAssert.AreEqual(&quot;abc123&quot;, id);\r\n<\/code><\/pre>\n<ul>\n<li><a href=\"https:\/\/github.com\/sprache\/Sprache\">Sprache on GitHub<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/Sprache\">Sprache on NuGet<\/a><\/li>\n<li><a href=\"https:\/\/nblumhardt.com\/2010\/01\/building-an-external-dsl-in-c\/\">Building a DSL using Sprache<\/a> by Nicholas Blumhardt.<\/li>\n<\/ul>\n<h2>Meetup of the week: F# for your day job in Durham, NC<\/h2>\n<p>If you&#8217;ve read a little about F# but haven&#8217;t given it a serious try yourself, you might get the impression that it&#8217;s good for people writing massively distributed systems or machine learning algorithms, but doesn&#8217;t help with the kind of code you trudge through from 9 to 5. In fact, F# excels at expressing clean, simple solutions to the everyday problems encountered when developing business applications.<\/p>\n<p><a href=\"https:\/\/www.meetup.com\/TRINUG\/\">TRINUG.NET<\/a> <a href=\"https:\/\/www.meetup.com\/TRINUG\/events\/240556969\/\">welcomes you on Wednesday, June 21 at 6:00PM<\/a> to give you a tour of the distinctive features of F#, discovering each one by starting with a realistic example.<\/p>\n<h2>.NET<\/h2>\n<ul>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2017\/06\/13\/microsoft-net-framework-4-7-is-available-on-windows-update-wsus-and-mu-catalog\/\">Microsoft .NET Framework 4.7 is available on Windows Update, WSUS, and MU Catalog<\/a> by Jamshed Damkewala.<\/li>\n<li><a href=\"http:\/\/mattwarren.org\/2017\/06\/15\/How-the-.NET-Rutime-loads-a-Type\/\">How the .NET Runtime loads a Type<\/a> by Matt Warren.<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2017\/06\/16\/rider-eap-23-net-core-debugger-back-code-cleanup\/\">Rider EAP 23: .NET Core debugger is back, Code Cleanup, and more<\/a> by Jura Gorohovsky.<\/li>\n<li><a href=\"http:\/\/ardalis.com\/automate-testing-and-running-apps-with-dotnet-watch\">Automate Testing and Running Apps with dotnet watch<\/a> by Steve Smith.<\/li>\n<li><a href=\"https:\/\/codeopinion.com\/one-year-of-running-a-windsor-essex-net-developers\/\">One year of running the Windsor-Essex .NET Developers<\/a> by Derek Comartin.<\/li>\n<li><a href=\"https:\/\/developers.redhat.com\/blog\/2017\/06\/15\/from-java-to-net-core-part-2-types\/\">From Java to .Net Core, Part 2: Types<\/a> by Yev Bronshteyn.<\/li>\n<li><a href=\"https:\/\/jimmybogard.com\/automapper-6-1-0-released\/\">AutoMapper 6.1.0 released<\/a> by Jimmy Bogard.<\/li>\n<li><a href=\"https:\/\/visualstudiomagazine.com\/articles\/2017\/04\/01\/consuming-rest-services.aspx\">Consuming REST Services from Your Mobile Application Using Swagger and AutoRest<\/a> by Nick Randolph.<\/li>\n<li><a href=\"https:\/\/www.bengribaudo.com\/blog\/2017\/06\/19\/3635\/net-core-csproj-automatically-packaging-readme-txt\">.Net Core .csproj \u2013 Automatically Packaging README.txt<\/a> by Ben Gribaudo.<\/li>\n<li><a href=\"https:\/\/www.codeproject.com\/Articles\/1191534\/To-Heap-or-not-to-Heap-That-s-the-Large-Object-Que\">To Heap or not to Heap; That\u2019s the Large Object Question?<\/a> by Doug Duerner.<\/li>\n<li><a href=\"https:\/\/www.devtrends.co.uk\/blog\/create-a-free-private-nuget-server-with-continuous-deployment-using-vsts\">Create a Free Private NuGet Server with Continuous Deployment using VSTS<\/a> by Paul Hiles.<\/li>\n<li><a href=\"https:\/\/www.hanselman.com\/blog\/HowToReferenceANETCoreLibraryInWinFormsOrNETStandardExplained.aspx\">How to reference a .NET Core library in WinForms &#8211; Or, .NET Standard Explained<\/a> by Scott Hanselman.<\/li>\n<\/ul>\n<h2>ASP.NET<\/h2>\n<ul>\n<li><a href=\"https:\/\/andrewlock.net\/automatically-validating-anti-forgery-tokens-in-asp-net-core-with-the-autovalidateantiforgerytokenattribute\/\">Automatically validating anti-forgery tokens in ASP.NET Core with the AutoValidateAntiforgeryTokenAttribute<\/a> by Andrew Lock.<\/li>\n<li><a href=\"https:\/\/www.meziantou.net\/2017\/06\/19\/minimal-asp-net-core-web-api-project\">Minimal ASP.NET Core Web API project<\/a> by G\u00e9rald Barr\u00e9.<\/li>\n<li><a href=\"https:\/\/www.stevejgordon.co.uk\/docker-for-dotnet-developers-part-3\">Docker for .NET Developers (Part 3) Why we started using Docker with ASP.NET Core<\/a> and <a href=\"https:\/\/www.stevejgordon.co.uk\/docker-for-dotnet-developers-part-4\">Docker for .NET Developers (Part 4) Working with docker-compose and multiple ASP.NET Core microservices<\/a> by Steve Gordon.<\/li>\n<li><a href=\"https:\/\/www.strathweb.com\/2017\/06\/resolving-asp-net-core-startup-class-from-the-di-container\/\">Resolving ASP.NET Core Startup class from the DI container<\/a> by Filip W.<\/li>\n<li><a href=\"https:\/\/www.danylkoweb.com\/Blog\/integrating-microsoft-identity-authorization-into-a-menu-system-IV\">Integrating Microsoft Identity Authorization into a Menu System<\/a> by Jonathan Danylko.<\/li>\n<li><a href=\"https:\/\/codingblast.com\/asp-net-core-middleware\/\">Middleware in ASP.NET Core \u2013 Handling requests<\/a> by Ibrahim \u0160uta.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/coding4fun\/blog\/From-0-to-100-with-this-ASPNET-CoreAngularX-Project-Template?WT.mc_id=DX_MVP4025064\">From 0 to 100 with this ASP.NET Core\/AngularX Project Template<\/a> by Greg Duncan.<\/li>\n<li><a href=\"http:\/\/asp.net-hacker.rocks\/2017\/05\/29\/graphql-and-aspnetcore.html\">Exploring GraphQL and creating a GraphQL endpoint in ASP.NET Core<\/a> by J\u00fcrgen Gutsch.<\/li>\n<li><a href=\"http:\/\/cecilphillip.com\/using-consul-for-health-checks-with-asp-net-core\/\">Using Consul for Health Checks with ASP.NET Core<\/a> by Cecil Phillip.<\/li>\n<li><a href=\"http:\/\/piotrgankiewicz.com\/2017\/06\/12\/asp-net-core-deployment-using-docker-nginx-and-ubuntu-server\/\">ASP.NET Core deployment using Docker, Nginx and Ubuntu Server<\/a> by Piotr Gankiewicz.<\/li>\n<li><a href=\"http:\/\/rion.io\/2017\/06\/10\/options-for-configuring-asp-net-core-application-settings\/\">Options for Configuring ASP.NET Core Application Settings<\/a> by Rion Williams.<\/li>\n<li><a href=\"http:\/\/geekswithblogs.net\/ballhaus\/archive\/2017\/06\/14\/swaggerapi.aspx\">Michael Ballhaus (MCPD + SCJP)<\/a> by Michael Ballhaus.<\/li>\n<li><a href=\"http:\/\/www.binaryintellect.net\/articles\/a7d9edfd-1f86-45f8-a668-64cc86d8e248.aspx\">10 Things To Know About In-Memory Caching In ASP.NET Core<\/a> by Bipin Joshi.<\/li>\n<\/ul>\n<h2>C#<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.erikheemskerk.nl\/c-sharp-7-2-and-8-0-uncertainty-awesomeness\/\">C# 7.x and 8.0: Uncertainty and Awesomeness<\/a> by Erik Heemskerk.<\/li>\n<li><a href=\"http:\/\/motzcod.es\/post\/161630386432\/my-favorite-c-7-feature-more-expression-bodied\">My Favorite C# 7 Feature: More expression-bodied members<\/a> by James Montemagno.<\/li>\n<li><a href=\"http:\/\/www.andreaangella.com\/2017\/06\/practical-csharp-extern-alias\/\">Practical C# \u2013 Extern Alias in C#<\/a> by Andrea Angella.<\/li>\n<\/ul>\n<h2>F#<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.reaktor.com\/blog\/building-roguelike-in-f\/\">Building Roguelike in F#<\/a> by Simo Raman.<\/li>\n<li><a href=\"https:\/\/dotnetcodr.com\/2017\/06\/17\/options-in-f\/\">Options in F#<\/a> by Andras Nemes.<\/li>\n<li><a href=\"http:\/\/www.codingwithsam.com\/pulling-state-from-f-mailboxes\/\">Pulling state from F# Mailboxes<\/a> by Sam Williams.<\/li>\n<li><a href=\"http:\/\/freecontent.manning.com\/the-foundations-of-functional-concurrency\/\">The Foundations of Functional Concurrency is 37% off!<\/a> by Manning and Riccardo Terrell.<\/li>\n<li><a href=\"https:\/\/cockneycoder.wordpress.com\/2017\/06\/12\/when-to-unit-test-in-f\/\">When to Unit Test in F#<\/a> by Isaac Abraham.<\/li>\n<\/ul>\n<p>There is more content available this week in <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# Weekly<\/a>. If you want to see more F# awesomeness, please check it out!<\/p>\n<h2>VB<\/h2>\n<ul>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/vbteam\/2017\/06\/13\/visual-basic-and-cross-platform-mobile-apps-with-vb-xamarin-and-net-standard\/\">Visual Basic and Cross-Platform: Mobile Apps with VB, Xamarin, and .NET Standard!<\/a> by Klaus L\u00f6ffelmann.<\/li>\n<li><a href=\"https:\/\/visualstudiomagazine.com\/articles\/2017\/06\/01\/calling-web-services.aspx\">Calling Web Services with HttpWebRequest, WebClient and HttpClient<\/a> by Peter Vogel.<\/li>\n<li><a href=\"https:\/\/visualstudiomagazine.com\/articles\/2017\/06\/13\/visual-basic-future.aspx\">Viva, Visual Basic! Or, Does VB Have a Future?<\/a> by Michael Domingo.<\/li>\n<\/ul>\n<h2>Xamarin<\/h2>\n<ul>\n<li><a href=\"https:\/\/releases.xamarin.com\/stable-release-15-2-3-xamarin-vs-servicing-release\/\">Stable Release: 15.2.3 Xamarin.VS Servicing Release<\/a> by Bri Brothers.<\/li>\n<li><a href=\"https:\/\/msicc.net\/xamarin-forms-the-mvvmlight-toolkit-and-i-navigation-and-modal-pages\/\">Xamarin Forms, the MVVMLight Toolkit and I: navigation and modal pages<\/a> by Marco Siccardi.<\/li>\n<li><a href=\"https:\/\/nicksnettravels.builttoroam.com\/post\/2017\/06\/10\/Visual-States-in-XamarinForms-using-BuildItForms.aspx\">Visual States in Xamarin.Forms using BuildIt.Forms<\/a> by Nick Randolph.<\/li>\n<li><a href=\"https:\/\/nicksnettravels.builttoroam.com\/post\/2017\/06\/10\/XamarinForms-Visual-States-with-View-Models.aspx\">Xamarin.Forms Visual States with View Models<\/a> by Nick Randolph.<\/li>\n<li><a href=\"https:\/\/xamarinhelp.com\/chat-bot-xamarin-forms\/\">Chat Bot with Xamarin Forms<\/a> by Adam Pedley.<\/li>\n<li><a href=\"https:\/\/xamarinhelp.com\/xamarin-forms-making-traditional-xamarin-obsolete\/\">Is Xamarin Forms Making Traditional Xamarin Obsolete?<\/a> by Adam Pedley.<\/li>\n<li><a href=\"http:\/\/xamarininterviewquestion.blogspot.com\/2017\/06\/xamarin-forms-chatbot-application-using.html\">Xamarin Forms ChatBot Application using the Microsoft Bot Framework<\/a> by Suthahar J.<\/li>\n<li><a href=\"https:\/\/blog.verslu.is\/tools\/boosting-productivity-mfractor\/\">Boosting Your Productivity with MFractor<\/a> by Gerald Versluis.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/5-ways-boost-xamarin-forms-app-startup-time\/\">5 Ways to Boost Xamarin.Forms App Startup Time<\/a> by David Ortinau.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/adding-face-tracking-live-recognition-android-app\/\">Adding Face Tracking and Live Recognition to your Android App<\/a> by Nish Anil.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/demystifying-build-configurations\/\">Demystifying Build Configurations<\/a> by Jon Goldberger.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/XamarinShow\/Episode-25-Unity-Game-Development-with-Visual-Studio-for-Mac-with-Jb-Evain\">Episode 25: Unity Game Development with Visual Studio for Mac with Jb Evain<\/a> by The Xamarin Show.<\/li>\n<li><a href=\"https:\/\/codemilltech.com\/growing-your-first-xamarin-forms-mac-app\/\">Growing Your First Xamarin.Forms Mac App<\/a> by Matthew Soucoup.<\/li>\n<li><a href=\"https:\/\/codemilltech.com\/things-i-think-are-cool-xaml-markup-extensions\/\">Things I Think Are Cool: Custom XAML Markup Extensions<\/a> by Matthew Soucoup.<\/li>\n<li><a href=\"http:\/\/motzcod.es\/post\/161785997897\/embedding-xamarinforms-into-a-xamarin-native-app\">Embedding Xamarin.Forms into a Xamarin Native App #TheFuture<\/a> by James Montemagno.<\/li>\n<\/ul>\n<h2>Azure<\/h2>\n<ul>\n<li><a href=\"http:\/\/www.andreaangella.com\/2017\/06\/azure-via-csharp-azure-queues\/\">Azure via C# \u2013 Working with Azure Queues<\/a> by Andrea Angella.<\/li>\n<li><a href=\"http:\/\/michaelcrump.net\/building-an-ics-for-azure-functions-webinar\/\">Writing an Azure Function in C# to create an ICS Calendar File<\/a> by Michael Crump.<\/li>\n<li><a href=\"http:\/\/www.c-sharpcorner.com\/article\/creating-asp-net-web-app-in-azure\/\">Creating ASP.NET Web App In Azure<\/a> by Viral Jain.<\/li>\n<li><a href=\"https:\/\/dotnetcore.gaprogman.com\/2017\/06\/15\/appveyor-continuous-delivery-for-your-net-core-applications\/\">AppVeyor \u2013 Continuous Delivery to Azure for your .NET Core Applications<\/a> by Jamie Taylor.<\/li>\n<\/ul>\n<h2>UWP<\/h2>\n<ul>\n<li><a href=\"https:\/\/nicksnettravels.builttoroam.com\/post\/2017\/06\/11\/Adding-Fluent-Design-Acrylic-Material-to-UWP-via-XamarinForms.aspx\">Adding Fluent Design Acrylic Material to UWP via Xamarin.Forms.<\/a> by Nick Randolph.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/coding4fun\/blog\/iBeacons-and-UWP\">iBeacons and UWP<\/a> by Channel 9.<\/li>\n<li><a href=\"http:\/\/dotnetbyexample.blogspot.com\/2017\/06\/setting-up-hololens-project-with.html\">Setting up a HoloLens project with the HoloToolkit<\/a> by Joost van Schaik.<\/li>\n<\/ul>\n<h2>Data<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.bengribaudo.com\/blog\/2017\/06\/16\/3612\/introducing-datareaderadapter\">Introducing DataReaderAdapter: Adds AsDataReader()\/AsDataReaderOfObjects() to IEnumerable<\/a> by Ben Gribaudo.<\/li>\n<\/ul>\n<h2>Game development<\/h2>\n<ul>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/dotGAME\/Getting-Started-with-Duality--Part-1\">Getting Started with Duality &#8211; Part 1<\/a> by Stacey Haffner.<\/li>\n<li><a href=\"https:\/\/youtu.be\/fxHOfV3yM9o\">Attributes &#8211; Unity Tips<\/a> by GameGrind.<\/li>\n<li><a href=\"https:\/\/youtu.be\/lge09eYxVWE\">Unity 5.6 Tutorial: How to create a Maze Generator &#8211; part 1<\/a> by Gamad.<\/li>\n<li><a href=\"https:\/\/youtu.be\/R1aO4Tmw3zA\">TDD in Unity &#8211; Heart Based Health System &#8211; Part 1<\/a> by Infallible Code.<\/li>\n<li><a href=\"https:\/\/youtu.be\/WiWD5SEVSBU\">Real Time Strategy in Unity &#8211; AI Implementation : Economy<\/a> by Unit02Games.<\/li>\n<\/ul>\n<p>And this is it for this week!<\/p>\n<h2>Contribute to the week in .NET<\/h2>\n<p>As always, this weekly post couldn&#8217;t exist without community contributions, and I&#8217;d like to thank all those who sent links and tips. The F# section is provided by <a href=\"https:\/\/twitter.com\/_cartermp\">Phillip Carter<\/a>, the gaming section by <a href=\"https:\/\/twitter.com\/yecats131\">Stacey Haffner<\/a>, the Xamarin section by <a href=\"https:\/\/twitter.com\/DanRigby\">Dan Rigby<\/a>, and the Azure and UWP section by <a href=\"http:\/\/twitter.com\/mbcrump\">Michael Crump<\/a>.<\/p>\n<p>You can participate too. Did you write a great blog post, or just read one? Do you want everyone to know about an amazing new contribution or a useful library? Did you make or play a great game built on .NET?\nWe&#8217;d love to hear from you, and feature your contributions on future posts. Please <a href=\"https:\/\/weekindotnet.azurewebsites.net\">add your posts<\/a>, it takes only a second.<\/p>\n<p>We pick the articles based on the following criteria: the posts must be about .NET, they must have been published this week, and they must be original contents. Publication in Week in .NET is not an endorsement from Microsoft or the authors of this post.<\/p>\n<p>This week&#8217;s post (and future posts) also contains news I first read on <a href=\"https:\/\/blogs.msdn.microsoft.com\/webdev\/tag\/communitystandup\/\">The ASP.NET Community Standup<\/a>, on <a href=\"http:\/\/weeklyxamarin.com\/\">Weekly Xamarin<\/a>, on <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# weekly<\/a>, and on <a href=\"http:\/\/themorningbrew.net\/\">The Morning Brew<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Previous posts: On .NET with Mattias Karlsson on Cake, Topshelf On .NET with Brett Morrison, DateTime Extensions Open XML SDK, Adventure Time .NET Architecture \u2013 Microservices &amp; Containers We recently added an Architecture Guidance page on the .NET Website. This new page pulls together architecture related resources for building different types of applications with .NET. [&hellip;]<\/p>\n","protected":false},"author":347,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685],"tags":[4,51,153],"class_list":["post-12105","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-net","tag-community","tag-week-in-net"],"acf":[],"blog_post_summary":"<p>Previous posts: On .NET with Mattias Karlsson on Cake, Topshelf On .NET with Brett Morrison, DateTime Extensions Open XML SDK, Adventure Time .NET Architecture \u2013 Microservices &amp; Containers We recently added an Architecture Guidance page on the .NET Website. This new page pulls together architecture related resources for building different types of applications with .NET. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/12105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/347"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=12105"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/12105\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=12105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=12105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=12105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}