14
Серверная разработка на технологиях Microsoft Евгений Агафонов, ABBYY http://eugeneagafonov.com

Серверная разработка на платформе Microsoft

Embed Size (px)

Citation preview

Серверная разработка на технологиях MicrosoftЕвгений Агафонов, ABBYYhttp://eugeneagafonov.com

Всем привет!Работаю в компании ABBYY с 2004 годаРуковожу разработкой Lingvo и LingvoLiveMicrosoft MVP по ASP.NET/IIS с 2006 годаАвтор книг Multithreading In C# 5.0 Cookbook и Mastering C# Concurrency

@eugene_agafonovhttp://eugeneagafonov.com

О чем пойдет речь История развития технологий CoreCLR, кроссплатформенная разработка на C# Контейнеры Azure Service Fabric

История развития технологий Microsoft Microsoft vs Non-Microsoft MS поддерживает Mono MS поддерживает open source MS часть технологий идут на другие платформы Ставка: Azure, кроссплатформенность

Кроссплатформенность Mono – поддержка сторонней разработки Typescript – игра на поле Javascript CoreCLR – кроссплатформенный .NET Visual Studio Code, OmniSharp, Roslyn, etc. – поддержка C#

Демонстрация

Кроссплатформенная разработка

Контейнер Метафора – упаковка разных приложений в единообразный вид

Приложение + окружение Намного легковеснее чем VM Docker Не все просто при использовании Docker на Windows

Docker на Windows 10 Просто с использованием VirtualBox. C hyper-v – сложно Устанавливаем последний релиз docker-machinehttps://github.com/docker/machine/releases

Устанавливаем последний релиз dockerhttps://github.com/docker/docker/releasesКопируем в папку к docker-machine

Cоздаем VMКомандная строка под администраторомdocker-machine create -d hyperv –hyperv-virtual-switch „switchname“ dockervmОшибка!docker start dockervm – пока не запустится

Docker на Windows 10 Копируем файлы сертификатовИз С:\Users\Name\.docker\machine\certs в machine\machines\dockervm\cert.pem в server.pemkey.pem в server-key.pem

Только теперь запускаем регенерацию сертификатовdocker-machine regenerate-certs dk

Задаем переменные окруженияeval "$(docker-machine env dockervm)"

И, наконец, запускаем приложениеdocker run hello-world

ASPNET в Docker Расширение в Visual Studioеще раз копировать сертификаты, использовать опцию --tls-verify

Прописать в project.json байндинг на ip 0.0.0.0 "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://0.0.0.0:5000"

Демонстрация

Контейнеры

Микросервисы Монолитные приложения Облачные приложения, масштабирование VM Масштабировать контейнеры – гораздо проще Платформа для объединения сервисов и высокая гранулярность приложения

Новое – хорошо забытое старое. Модель акторов была предложена в 1973 г. Популяризована в Erlang, в Scala – библиотека AKKA

Есть порт на .NET – AKKA.NET Azure Service Fabric https://github.com/rgardler/azure-quickstart-templates/tree/acs/acs-mesos-full-template

Azure Service Fabric

http://aka.ms/servicefabric

Вопросы? Меня можно найти по запросу Евгений Агафонов ABBYY в Google

@eugene_agafonov Multithreading In C# 5.0 Cookbook Mastering C# Concurrency

https://github.com/eugeneagafonov

Спасибо за внимание!