Upgrade to Pro — share decks privately, control downloads, hide ads and more …

.NET Core + Docker

.NET Core + Docker

Slide deck for the .NET Magic Night December 2016 @ MindTouch HQ

Avatar for César López-Natarén

César López-Natarén

December 13, 2016
Tweet

More Decks by César López-Natarén

Other Decks in Programming

Transcript

  1. MAGIC NIGHT’S FORMAT ▸ Hands on experience ▸ Team work

    ▸ Collaborate ▸ One hour warning ▸ Showcase your work
  2. .NET CORE ▸ Cross-Platform Open Source .NET implementation by Microsoft

    (https://github.com/dotnet/core) ▸ Made of: ▸ .NET Core Runtime ▸ C# Compiler ▸ NuGet Packages ▸ dotnet CLI
  3. DOCKER ▸ Container technology ▸ Isolation of CPU, Memory, Network

    usage ▸ Versioning & Sharing (Dockerfile) ▸ Uniform execution environment
  4. WHAT ARE WE DOING TONIGHT? ▸ Run C# GRPC server

    and client ▸ Github repo: ▸ https://github.com/DotNetMagicNight/ MagicNightDotnetCoreAndDocker
  5. ANATOMY OF THE REPO ▸ Makefile ▸ Reference commands for

    how to build, compile, package, and run the server ▸ Reference command for how to build, compile, and run the client ▸ src/protos/* ▸ Protobuf structured data and GRPC server definitions ▸ src/Service/* ▸ Auto-generated C# classes from the Protobuf definitions
  6. ANATOMY OF THE REPO (CONT.) ▸ src/server/* ▸ Sample C#

    GRPC server ▸ Docker definition files, by default runs three server nodes available on localhost:{50051-50053} ▸ src/client/* ▸ Sample GRPC client talking to the server
  7. THE CHALLENGE 1. Get the GRPC server running then set

    and get some keys 2. BONUS: Add a new RPC call to the hash table server that lists all the keys it is currently holding 3. BADASS BONUS: Design and implement a way to partition the data evenly among your three nodes 4. GOD MODE: Modify your hash table server to be fault-tolerant to losing a node ▸ https://github.com/DotNetMagicNight/MagicNightDotnetCoreAndDocker ▸ Chat: https://gitter.im/DotNetMagicNight/dotnetcore-docker