SlideShare a Scribd company logo
vi stories: миграция на .NET Core
Андрей Губский
video intelligence AG
Microsoft MVP
Немного о себе
Чтотакое
vistories
vi stories – система контекстной рекомендации видео.
Сверхзадача:
• анализ контента страницы и подбор видео наиболее точно
соответствующего контенту
Требования к системе:
• минимальное время для анализа страницы,
• минимальное время для подбора видео.
Счегомы
начинали
MSMQ
Основные
проблемы
 "Тяжеловесные" сервера на Windows Server – потребляют
много ресурсов
 Отсутствие возможности быстрого масштабирования API
(частично, как следствие первой проблемы), частично - в
отсутствии удобного инструмента оркестрации.
 Предполагалась разработка ряда легковесных сервисов на
Node.js/Go для реализации. Как следствие –
необходимость поддерживать несколько стеков
технологий.
 Средства разработки под Mac OS / Linux
Преимущества .NET Core
Инфраструктура
 Контейнеризация сервисов (Docker, Kubernetes)
 Быстрое масштабирования API (снова Kubernetes)
 Гомогенная среда – практичеки все на .NET Core
Преимущества .NET Core
.NET Core
способствует
правилу: меньше
кода- больше
пользы
▪ Вместо Windows Services – простые консольные
приложения. Удобнее отладка. Запуск как cron job
▪ В любое приложения всегда можно быстро добавить HTTP
Endpoint (да, это очень просто)
▪ Удобнее писать небольшие, компактные сервисы:
GenericHost, WebHost, родной dependency injection
Преимущества .NET Core
Что также
получиланаша
команда
 Наследует простоту, гибкость и подходы классического
.NET
 Кроссплатформенное решение
 Возможность писать на C# под .NET с использованием
знакомых инструментов для разработчиков из других
“культур" и платформ
Преимущества .NET Core
Новые члены
команды - java-
разработчики
Rider – IDE для разработки под .NET
DataGrip – IDE для работы с базами данных
Преимущества .NET Core
Новыйстек
Система
сегодня
 Обрабатываем несколько миллионов запросов в день
 Масштабирование сервисов - дело нескольких минут
 Минимум инструментального кода, максимум кода для
бизнес-логики
Чтомы
используем
▪ EasyNetQ
▪ JetBrains.Annotations
▪ Polly
▪ StructureMap
▪ AutoMapper
▪ Swagger
▪ RestSharp
▪ X.Web.MetaExtractor
▪ App.Metrics -> influx
JetBrains.Annotations
[NotNull]
[CanBeNull]
[ItemNotNull]
[ItemCanBeNull]
[PublicAPI]
[Pure]
Rider + ReSharper
Спасибо завнимание
devdigest//netcore
devdigest//azure
devdigest//datascience
devdigest//xamarin
bit.ly/devdigest-netcore
bit.ly/devdigest-azure-cloud
bit.ly/devdigest-datascience
bit.ly/devdigest-xamarin

More Related Content

What's hot

Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Positive Hack Days
 
.NET Core в современных проектах
.NET Core в современных проектах.NET Core в современных проектах
.NET Core в современных проектах
Andrew Gubskiy
 
Платформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QAПлатформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QA
Slava Kuznetsov
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
 
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
Positive Hack Days
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
it-people
 
SAM за 7 шагов. Рецепт для небольших компаний
SAM за 7 шагов. Рецепт для небольших компанийSAM за 7 шагов. Рецепт для небольших компаний
SAM за 7 шагов. Рецепт для небольших компаний
Valery Bychkov
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Positive Hack Days
 
Обзор актуальных решений для построения катастрофоустойчивых инфраструктур
Обзор актуальных решений для построения катастрофоустойчивых инфраструктурОбзор актуальных решений для построения катастрофоустойчивых инфраструктур
Обзор актуальных решений для построения катастрофоустойчивых инфраструктур
КРОК
 
WebSite Security Day 2016 - Мониторинг e-commerce
WebSite Security Day 2016 - Мониторинг e-commerceWebSite Security Day 2016 - Мониторинг e-commerce
WebSite Security Day 2016 - Мониторинг e-commerce
Сергей Обухов
 
Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...
IBS
 
Микросервисы на практике
Микросервисы на практикеМикросервисы на практике
Микросервисы на практике
Vitebsk DSC
 
Четырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKeyЧетырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKey
OpenStackRussia
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Ontico
 
ASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для SoftbankASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для Softbank
Mirantis IT Russia
 
Cisco Hyperflex
Cisco HyperflexCisco Hyperflex
Cisco Hyperflex
КРОК
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1С
SuperNovo
 
AT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной средеAT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной среде
Mirantis IT Russia
 
Гиперконвергентные решения SimpliVity
Гиперконвергентные решения SimpliVityГиперконвергентные решения SimpliVity
Гиперконвергентные решения SimpliVity
КРОК
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
Mirantis IT Russia
 

What's hot (20)

Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
 
.NET Core в современных проектах
.NET Core в современных проектах.NET Core в современных проектах
.NET Core в современных проектах
 
Платформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QAПлатформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QA
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
 
SAM за 7 шагов. Рецепт для небольших компаний
SAM за 7 шагов. Рецепт для небольших компанийSAM за 7 шагов. Рецепт для небольших компаний
SAM за 7 шагов. Рецепт для небольших компаний
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
 
Обзор актуальных решений для построения катастрофоустойчивых инфраструктур
Обзор актуальных решений для построения катастрофоустойчивых инфраструктурОбзор актуальных решений для построения катастрофоустойчивых инфраструктур
Обзор актуальных решений для построения катастрофоустойчивых инфраструктур
 
WebSite Security Day 2016 - Мониторинг e-commerce
WebSite Security Day 2016 - Мониторинг e-commerceWebSite Security Day 2016 - Мониторинг e-commerce
WebSite Security Day 2016 - Мониторинг e-commerce
 
Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...
 
Микросервисы на практике
Микросервисы на практикеМикросервисы на практике
Микросервисы на практике
 
Четырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKeyЧетырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKey
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
 
ASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для SoftbankASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для Softbank
 
Cisco Hyperflex
Cisco HyperflexCisco Hyperflex
Cisco Hyperflex
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1С
 
AT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной средеAT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной среде
 
Гиперконвергентные решения SimpliVity
Гиперконвергентные решения SimpliVityГиперконвергентные решения SimpliVity
Гиперконвергентные решения SimpliVity
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
 

Similar to vi stories: миграция на .NET Core

Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
Dmitry Lazarenko
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
Provectus
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
Fwdays
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
Alexey Bokov
 
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
UNETA
 
Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureAlexander Feschenko
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
Provectus
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
Positive Hack Days
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
Fwdays
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
Анастасия Асеева
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
 
Build private clouds with ProxmoxVE distributive
Build private clouds with ProxmoxVE distributiveBuild private clouds with ProxmoxVE distributive
Build private clouds with ProxmoxVE distributive
Дима Ванькевич
 
опыт Clickberry.com стартап на drupal в облаке павел загор
опыт Clickberry.com   стартап на drupal в облаке павел загоропыт Clickberry.com   стартап на drupal в облаке павел загор
опыт Clickberry.com стартап на drupal в облаке павел загорdrupalconf
 
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуКак за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Andrew Gubskiy
 
Continous Integration
Continous IntegrationContinous Integration
Continous Integration
GetDev.NET
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
Artjoker
 
2016 06 VMEx - intro (russian)
2016 06 VMEx - intro (russian)2016 06 VMEx - intro (russian)
2016 06 VMEx - intro (russian)
Andrey Karpov
 
Станислав Иващенко: “Kubernetes как облако для CI”
Станислав Иващенко: “Kubernetes как облако для CI” Станислав Иващенко: “Kubernetes как облако для CI”
Станислав Иващенко: “Kubernetes как облако для CI”
Provectus
 

Similar to vi stories: миграция на .NET Core (20)

Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
 
Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows Azure
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Build private clouds with ProxmoxVE distributive
Build private clouds with ProxmoxVE distributiveBuild private clouds with ProxmoxVE distributive
Build private clouds with ProxmoxVE distributive
 
Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)
 
опыт Clickberry.com стартап на drupal в облаке павел загор
опыт Clickberry.com   стартап на drupal в облаке павел загоропыт Clickberry.com   стартап на drupal в облаке павел загор
опыт Clickberry.com стартап на drupal в облаке павел загор
 
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуКак за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
 
Sivko
SivkoSivko
Sivko
 
Continous Integration
Continous IntegrationContinous Integration
Continous Integration
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
 
2016 06 VMEx - intro (russian)
2016 06 VMEx - intro (russian)2016 06 VMEx - intro (russian)
2016 06 VMEx - intro (russian)
 
Станислав Иващенко: “Kubernetes как облако для CI”
Станислав Иващенко: “Kubernetes как облако для CI” Станислав Иващенко: “Kubernetes как облако для CI”
Станислав Иващенко: “Kubernetes как облако для CI”
 

vi stories: миграция на .NET Core