SlideShare a Scribd company logo
1 of 45
Software Craftsmanship
meetup #15 online
Resilience and Reliability
Павел Вейник
CEO @ Hard & Soft Skills
Мы сегодня online
●Зарегистрировались 111
человек
●Наш пятый митап online
●При поддержке Sam Solutions
●Информационные партнеры
dev.by, tproger.ru
3
О митапах
● Часть проекта Hard & Soft Skills
● Поделиться и пообщаться
● Подобрать материал для курсов:
○ Технический лидер
○ От middle developer к senior
engineer
4
План митапов
14. Масштабирование монолита
15. Resilience and Reliability
16. ML Operations for engineers:
building ML pipeline 16 марта
17. ??? hardsoftskills.by/next_meetups
5
Цель этого митапа
Сделать обзор терминов и
подходов к надежности,
устойчивости и доступности
систем
6
План этого митапа
1.Подходы и шаблоны
2.Availability
3.Resilience
4.Fault-tolerance
5.Stability
6.Reliability
7
Шаблон timeout
● В ms может случиться всякое )
● Сервис отвечает даже если его
зависимость не отвечает
● Время ожидания ограничено
● Можно использовать с кэшем
8
Шаблон retry
● Или retry после паузы
● Если могут быть временные
проблемы (сеть, перезагрузка
сервиса...)
9
Шаблон circuit breaker
● Состояния
○ пропускает все запросы
○ пропускает только некоторые
○ не пропускает, паузка
● Меньше одновременных
запросов к загруженному
сервису
10
Шаблон rate limit
● Стоимость каждого вызова
● Более слабые гарантии ответа
● Защитный механизм
● Удобно использовать с кэшем
11
● Отнимаем ресурсы у неважных
чтобы обслужить важные
● Сглаживаем нагрузку
● Удобно использовать с
динамическим
масштабированием
Шаблон throttling
12
● Множество шаблонов
● Сглаживают нагрузку
● Увеличивают время ожидания
● Удобно для длинных/фоновых
задач
● Очередь - доп. компонент
Очередь
13
● В облаке мониторить сложнее,
чем on-premise
● Раньше обнаруживать ошибки
● Обязательны логи упавших
проверок
● HTTP код, SLA, ответ...
Service health endpoint
14
N-version programming
15
● Последовательный вариант n-
version programming
● В случае ошибки
○ выполняем ту же задачу другим
способом
Шаблон recovery blocks
16
● Checkpoint and rollback recovery
● Компенсирующая транзакция
● Transactional outbox
● Scheduler-agent-supervisor
● их много…
● и используются в комбинациях
Еще шаблоны
17
Availability
● Отношение времени работы ко
всему времени
● 99.9%
● 99.99%
● 99.999%
● uptime.is
18
Availability
● Если есть зависимость
○ сервис 99.99
○ зависимость 99.99
○ 99.99 * 99.99 = 99.8
● Дублирование сервиса
○ 100 - 0.01* 0.01 = 99.9999
19
Availability
● Если неизвестна доступность для
зависимостей
○ среднее вр. между сбоями - o
○ среднее вр. восстановления - r
○ o/(o+r) = availability
20
Availability
● Чем выше Availability
○ тем сложнее система
○ тем дороже разработка
○ тем дороже поддержка
○ тем дороже TCO
● Не нужно делать 100% A
21
Availability problems
22
● Проблемы с железом
● Ошибки деплоя
● Увеличившаяся нагрузка
● Неожиданные входные данные
● Истечение срока сертификатов
● Ошибки в зависимостях
● Сбои инфраструктуры
Availability practices
23
● Изолирование зоны ошибки
● Избыточность и дублирование
● Микросервисы
● Автоматическое восстановление
● Best practices распределенных
систем
Availability operations
24
● Развертывание
○ canary
○ blue-green
○ feature-toggle
○ география развертывания
Availability operations
25
● Тестирование
○ performance
○ load/stress
○ failure/recovery
○ внешних зависимостей
Availability patterns
26
● Health endpoint monitoring
● Очередь сообщений как буфер
● Throttling
● Circuit breaker
● Geodes
● Независимые инстансы
Resiliency
27
● автоматическое обнаружение и
восстановление после сбоя
Resiliency patterns
28
● Bulk head (перегородка)
● Circuit breaker
● Компенсирующая транзакция
● Leader election
● Retry
● Scheduler-Agent-Supervisor
● Health monitoring endpoint
Fault-tolerance
29
● Способность выполнять
требования к системе несмотря
на текущие сбои
Техники fault-tolerance
30
● Железо
○ Built-in self test
○ Triple modular redundancy
● Software
○ N-version programming
○ Recovery blocks
○ Check-point and rollback
recovery
Fault-tolerance patterns
31
● Retry
● Timeout (retry, abort)
● Аудит консистентности данных
● Обработка исключений
● Rollback
● Incremental reboot
● N-version programming
Stability
32
Stability = depsOut/(depsOut + depsIn)
● метрика от 0 (стабильно) до 1
● отображает “возмущения” в
коде модуля после его
изменения
Stability
33
● Для пользователя - просто что
программа работает неизменно
● Связано с coupling/cohesion
● Под stability testing чаще всего
понимают тестирование
availability
Reliability
34
● Более абстрактный термин
● Чаще всего то же что и Availability
○ измеряется так же
● Сложность (связи модулей)
снижает Reliability
Reliability testing
35
● Включает
○ stability testing
○ recovery testing
○ stress testing
○ failover testing
Cloud
36
● Несколько инстансов в кластере
● Динамическое
масштабирование
● География
● Deployments
Микросервисы
37
● redundancy, дублирование
● балансировка нагрузки
● динамическое
масштабирование
● message bus
● throttling...
Микросервисы
38
● Sync коммуникации между ms:
○ retry
○ timeout, rate limit
○ rollback
○ circuit breaker
○ distributed tx (2pc)
Микросервисы
39
● Async коммуникации между ms:
○ compensating transactions
○ transactional outbox
○ caching
○ retry, fallback, circuit breaker,
rate limit
Курсы Hard & Soft Skills
● Цель митапов - материалы для
различных курсов
● Для мидлов, сеньеров, лидов,
архитекторов, CTO
● 18-го февраля вебинар по курсу
“Технический лидер”
40
Ссылки
41
● https://docs.microsoft.com/en-us/azure/architecture/framework/resiliency/reliability-patterns
● https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure-ebook-dp-
B075LRM681/dp/B075LRM681/ref=mt_other?_encoding=UTF8&me=&qid=
availability
● https://medium.com/becloudy/architecting-for-reliability-part-1-concepts-17028343089
● https://docs.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring
● https://microservices.io/patterns/observability/health-check-api.html
● https://docs.microsoft.com/en-us/previous-versions/msp-n-p/dn589781(v=pandp.10)?redirectedfrom=MSDN
● https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
fault-tolerance
● https://www.geeksforgeeks.org/fault-tolerance-techniques-in-computer-system/?ref=rp
● https://www.geeksforgeeks.org/difference-between-n-version-programming-and-recovery-blocks-techniques/?ref=rp
● https://www.eventhelix.com/RealtimeMantra/SoftwareFaultTolerance.htm
stability
● https://itnext.io/specification-pattern-and-how-to-quantify-the-improved-software-stability-9a7cf5a74f1f
● https://asu.pure.elsevier.com/en/publications/some-stability-measures-for-software-maintenance-2
Ссылки
● https://docs.microsoft.com/en-us/azure/architecture/framework/resiliency/reliability-patterns
● https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure-ebook-dp-
B075LRM681/dp/B075LRM681/ref=mt_other?_encoding=UTF8&me=&qid=
availability
● https://medium.com/becloudy/architecting-for-reliability-part-1-concepts-17028343089
● https://docs.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring
● https://microservices.io/patterns/observability/health-check-api.html
● https://docs.microsoft.com/en-us/previous-versions/msp-n-p/dn589781(v=pandp.10)?redirectedfrom=MSDN
● https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
fault-tolerance
● https://www.geeksforgeeks.org/fault-tolerance-techniques-in-computer-system/?ref=rp
● https://www.geeksforgeeks.org/difference-between-n-version-programming-and-recovery-blocks-techniques/?ref=rp
● https://www.eventhelix.com/RealtimeMantra/SoftwareFaultTolerance.htm
stability
● https://itnext.io/specification-pattern-and-how-to-quantify-the-improved-software-stability-9a7cf5a74f1f
● https://asu.pure.elsevier.com/en/publications/some-stability-measures-for-software-maintenance-2
42
Ссылки
reliability
● https://performancelabus.com/importance-of-stability-and-reliability-testing/#1
● https://www.ques10.com/p/21811/explain-software-reliability/
microservices
● https://hcis-journal.springeropen.com/articles/10.1186/s13673-018-0143-8
● http://www.ijcst.com/vol8/8.2/22-gagan-amrit-kaur.pdf
● https://livebook.manning.com/book/microservices-in-action/chapter-6/1
stability
● https://itnext.io/specification-pattern-and-how-to-quantify-the-improved-software-stability-9a7cf5a74f1f
43
Ссылки
шаблоны и техники
● https://www.vinsguru.com/timeout-pattern-microservice-design-patterns/
● https://docs.microsoft.com/en-us/azure/architecture/patterns/retry
● https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker
● https://microservice-api-patterns.org/patterns/quality/qualityManagementAndGovernance/RateLimit.html
● https://docs.microsoft.com/en-us/azure/architecture/patterns/throttling
● https://docs.microsoft.com/en-us/azure/architecture/patterns/queue-based-load-leveling
● http://firstclassthoughts.co.uk/Articles/Design/RefactoringToMicroServicesTheEventQueue.html
● https://docs.microsoft.com/en-us/azure/architecture/patterns/bulkhead
● https://docs.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring
● https://spaceradiation.eu/recovery-blocks-fault-tolerance-pattern/
● https://en.wikipedia.org/wiki/N-version_programming
44
Задайте мне вопрос
45

More Related Content

Similar to Software craftsmanship 15 online: Reliability and Resiliency

Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsPavel Veinik
 
Андрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзеАндрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзеElias Fofanov
 
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...Mad Devs
 
Без единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушенияБез единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушенияEDS Systems
 
Нефункциональные требования.pptx
Нефункциональные требования.pptxНефункциональные требования.pptx
Нефункциональные требования.pptxNatalia Zhelnova
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубыAleksandr Tarasov
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестированияRina Uzhevko
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Dmitry Samsonov
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
 
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!CodeFest
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаMarina Peregud
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Enterprise-scale Drupal
Enterprise-scale DrupalEnterprise-scale Drupal
Enterprise-scale Drupaltakrin54
 
Слоистая архитектура
Слоистая архитектураСлоистая архитектура
Слоистая архитектураyiiconf
 
Универсальные коммуникации в облаке. Т.Савлаев.
Универсальные коммуникации в облаке. Т.Савлаев.Универсальные коммуникации в облаке. Т.Савлаев.
Универсальные коммуникации в облаке. Т.Савлаев.Clouds NN
 
Performance Tester's Professional Roadmap
Performance Tester's Professional RoadmapPerformance Tester's Professional Roadmap
Performance Tester's Professional Roadmapundera
 

Similar to Software craftsmanship 15 online: Reliability and Resiliency (20)

Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systems
 
Андрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзеАндрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзе
 
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
 
Без единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушенияБез единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушения
 
Нефункциональные требования.pptx
Нефункциональные требования.pptxНефункциональные требования.pptx
Нефункциональные требования.pptx
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестирования
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Enterprise-scale Drupal
Enterprise-scale DrupalEnterprise-scale Drupal
Enterprise-scale Drupal
 
Слоистая архитектура
Слоистая архитектураСлоистая архитектура
Слоистая архитектура
 
Универсальные коммуникации в облаке. Т.Савлаев.
Универсальные коммуникации в облаке. Т.Савлаев.Универсальные коммуникации в облаке. Т.Савлаев.
Универсальные коммуникации в облаке. Т.Савлаев.
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Performance Tester's Professional Roadmap
Performance Tester's Professional RoadmapPerformance Tester's Professional Roadmap
Performance Tester's Professional Roadmap
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
 

More from Pavel Veinik

Software craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellenceSoftware craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellencePavel Veinik
 
Software craftsmanship meetup 21: CQRS что такое и для чего
Software craftsmanship meetup 21: CQRS что такое и для чего Software craftsmanship meetup 21: CQRS что такое и для чего
Software craftsmanship meetup 21: CQRS что такое и для чего Pavel Veinik
 
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...Pavel Veinik
 
System Engineering Webinar
System Engineering WebinarSystem Engineering Webinar
System Engineering WebinarPavel Veinik
 
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...Pavel Veinik
 
Software craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipelineSoftware craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipelinePavel Veinik
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаPavel Veinik
 
Software craftsmanship 10: распределенные транзакции
Software craftsmanship 10: распределенные транзакцииSoftware craftsmanship 10: распределенные транзакции
Software craftsmanship 10: распределенные транзакцииPavel Veinik
 
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеSoftware craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеPavel Veinik
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8Pavel Veinik
 
Software craftsmanship 7
Software craftsmanship 7Software craftsmanship 7
Software craftsmanship 7Pavel Veinik
 
Software craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgileSoftware craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgilePavel Veinik
 
Software craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыSoftware craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыPavel Veinik
 
Software craftsmanship meetup #4
Software craftsmanship meetup #4Software craftsmanship meetup #4
Software craftsmanship meetup #4Pavel Veinik
 
Software craftsmanship 3
Software craftsmanship 3Software craftsmanship 3
Software craftsmanship 3Pavel Veinik
 
Software craftsmanship 1
Software craftsmanship 1Software craftsmanship 1
Software craftsmanship 1Pavel Veinik
 
Software craftsmanship 2
Software craftsmanship 2Software craftsmanship 2
Software craftsmanship 2Pavel Veinik
 
Women in technology_week-women_leadership
Women in technology_week-women_leadershipWomen in technology_week-women_leadership
Women in technology_week-women_leadershipPavel Veinik
 
Программирование и лингвистика: как понять язык и извлечь знания из текстов
Программирование и лингвистика: как понять язык и извлечь знания из текстовПрограммирование и лингвистика: как понять язык и извлечь знания из текстов
Программирование и лингвистика: как понять язык и извлечь знания из текстовPavel Veinik
 

More from Pavel Veinik (20)

Software craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellenceSoftware craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellence
 
Software craftsmanship meetup 21: CQRS что такое и для чего
Software craftsmanship meetup 21: CQRS что такое и для чего Software craftsmanship meetup 21: CQRS что такое и для чего
Software craftsmanship meetup 21: CQRS что такое и для чего
 
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
 
System Engineering Webinar
System Engineering WebinarSystem Engineering Webinar
System Engineering Webinar
 
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
 
Software craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipelineSoftware craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipeline
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
 
Software craftsmanship 10: распределенные транзакции
Software craftsmanship 10: распределенные транзакцииSoftware craftsmanship 10: распределенные транзакции
Software craftsmanship 10: распределенные транзакции
 
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеSoftware craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
 
Software craftsmanship 7
Software craftsmanship 7Software craftsmanship 7
Software craftsmanship 7
 
Software craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgileSoftware craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы Agile
 
Software craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыSoftware craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисы
 
Software craftsmanship meetup #4
Software craftsmanship meetup #4Software craftsmanship meetup #4
Software craftsmanship meetup #4
 
Software craftsmanship 3
Software craftsmanship 3Software craftsmanship 3
Software craftsmanship 3
 
Software craftsmanship 1
Software craftsmanship 1Software craftsmanship 1
Software craftsmanship 1
 
Software craftsmanship 2
Software craftsmanship 2Software craftsmanship 2
Software craftsmanship 2
 
Women in technology_week-women_leadership
Women in technology_week-women_leadershipWomen in technology_week-women_leadership
Women in technology_week-women_leadership
 
Career day 2019
Career day 2019Career day 2019
Career day 2019
 
Программирование и лингвистика: как понять язык и извлечь знания из текстов
Программирование и лингвистика: как понять язык и извлечь знания из текстовПрограммирование и лингвистика: как понять язык и извлечь знания из текстов
Программирование и лингвистика: как понять язык и извлечь знания из текстов
 

Software craftsmanship 15 online: Reliability and Resiliency