Microsoft и Linux на одном проекте: как получить лучшее из...

35
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться Николай Суровенко

Transcript of Microsoft и Linux на одном проекте: как получить лучшее из...

Page 1: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорватьсяНиколай Суровенко

Page 2: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Microsoft ? Linux

Page 3: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

2013

Page 4: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко
Page 5: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Мобильное приложение для персонализированных новостей

• 6 лет на рынке• Microsoft Stack• Azure → Self-hosted

Page 6: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Из недавнего…

RSS Crawler • MS SQL • 70K LOC C#

Новый Crawler

Page 7: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Image Service • ImageMagick + • 40K LOC C#

Из недавнего…RSS Crawler

nginx + plugin

Новый Crawler

Page 8: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Image Service

Из недавнего…RSS Crawler

Terrible Clustering • 10K LOC C#

Streaming Clustering

Новый Crawler

nginx + plugin

Page 9: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Image Service

Из недавнего…RSS Crawler

Terrible Clustering Streaming Clustering

Real-time Publisher Analytics

Новый Crawler

nginx + plugin

Page 10: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Image Service

Из недавнего…RSS Crawler

Terrible Clustering Streaming Clustering

Real-time Publisher Analytics

Новый Crawler

nginx + plugin

Text Categorization extras

etc…

Page 11: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Почему не винда?

Page 12: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Почему не винда?Для Windows есть:o Pythono PostgreSQLo dockero nginxo RabbitMQo Sparko Cassandra

Page 13: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

$7k4 vCPU

$12-24kper server

Page 14: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Плавная миграция

Page 15: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко
Page 16: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Архитектура3

Page 17: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Совместимость

Плохие новости

Page 18: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

WCF vs RESTИли как победить в любом споре при помощи Google Trends

Page 19: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Совместимость

HTTP REST

SOAP

Page 20: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Совместимость

IExtensibleprotobuf-netpython performance

Page 21: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Совместимость

Общие хранилищаОбщий кэш

Consistency LevelsAnti-entropy repair

Page 22: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Архитектура на низком уровне

HTTP REST

BinaryFormatter

Общие хранилища, кэш

Page 23: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Микросервисы

Page 24: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко
Page 25: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

ВзаимодействиеКонвейер

Retry

DLXOptional

Page 26: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко
Page 27: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Взаимодействие

Клиенты — celery, EasyNetQ

Exactly once deliveryExactly once delivery

Page 28: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Взаимодействие

Общий Continuous Integration workflowLoad tests?

Page 29: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Архитектура на высоком уровне

Service Oriented Architecture Микросервисы

Конвейер, гибкий pipeline

Общий CI workflowAutodiscovery?

Configuration management?

Page 30: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

С чего начать С чего мы начиналиВнутренние семинары

• Технологии • Сommon pitfalls • Выход из vim

Page 31: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Как начать?Gateway drug: метрики, логи, мониторинг

Holy wars

Page 32: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Архитектура на сверхвысоком уровне

C# программистам нравится bash

Общие инструменты — Grafana, ELK

Нанимаем не только C#

Page 33: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Microsoft ? Linux

Page 34: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко
Page 35: Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться / Николай Суровенко

Наши админы: fevlake.com

Контакты

Николай Суровенко

[email protected]/in/nikolay-surovenko

Тимлид группы персонализации News360