SlideShare uma empresa Scribd logo
1 de 15
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

Mais conteúdo relacionado

Mais procurados

Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
it-people
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Ontico
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
Mirantis IT Russia
 

Mais procurados (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
 

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

Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows Azure
Alexander Feschenko
 
опыт Clickberry.com стартап на drupal в облаке павел загор
опыт Clickberry.com   стартап на drupal в облаке павел загоропыт Clickberry.com   стартап на drupal в облаке павел загор
опыт Clickberry.com стартап на drupal в облаке павел загор
drupalconf
 
Станислав Иващенко: “Kubernetes как облако для CI”
Станислав Иващенко: “Kubernetes как облако для CI” Станислав Иващенко: “Kubernetes как облако для CI”
Станислав Иващенко: “Kubernetes как облако для CI”
Provectus
 

Semelhante a 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”
 

Último

ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 

Último (9)

Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 

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