SlideShare a Scribd company logo
Continuous Deployment & Delivery end to end: what, why, how
• Андрей Морозовский
Andrey.Morozovsky@VIAcode.com
• http://www.viacode.com
• Software Developer in Testing
• Тестовая инфраструктура, автоматизация
тестов, виртуализация, Application Lifecycle
Management
• «Радикальный путь» в автоматизации развертываний
Качество:
Функциональность
Производительность
Безопасность
...
Внедряемость
+ + =
Инфраструктура:
Физические или
виртуальные
сервера
- hardware
- OS
- network
- 3rd party soft
Компоненты:
Актуальные
версии ПО
(дистрибутив)
- web sites
- services
- databases
- binaries
Конфигурация:
Настройки,
специфичные
для экземпляра
- addresses
- names
- credentials
- parameters
Экземпляр
Системы
Внедренный
продукт
- тест лаба
- devbox
- staging
- production
Разработка Бой
DevBoxes
& автобилды
Тест лабы
& QA
Обслуживание
& staging версии
Боевые сервера
& управление релизами
SCRUM демо
& приемочные тесты
Автотесты
& CI
→ Сложно
→ Слабо документирован
→ Выполняется вручную
→ Занимает много времени
→ Слабо контролируем
→ Непредсказуем
→ Опасен ошибками
→ Дорого network
конфликты версий,
легко ошибиться
при обновлениях
снижение
производительности
“Sharing” стендов
и взаимное
влияние лаб
сложно и дорого
развернуть новый
экземпляр системы
использование существующей
инфраструктуры, пока она
хоть как-то работает
сложность проддержки,
обслуживания, обновления
масштабирования
костыли и
сложная
архитектура
потери $ 465.000.000 за 45 минут
это $172.222 в минуту
+ $ 12.000.000 штраф
подробнее:
http://tinyurl.com/sqa15-knight
• «Внедряемость» не включена в требования в
качестве обязательной функциональности
(нужно формализовать)
• Команда не контролирует процесс
развертывания своего продукта
(нужно требовать как при TDD)
• Попытки решить проблему бессистемно
(нужен системный подход)
• Полностью автоматизировать все три основных
этапа развертывания (с помощью облаков)
• Отказаться от обновления ПО и конфигурации
• Сделать так, чтобы коплект поставки продукта
содержал всѐ необходимое для работы
• Интегрировать автоматическое развертывние в
жизненный цикл продукта, от начала до конца
+ +
Инфраструктура Установка компонентов Конфигурация
Входные данные:
- шаблон окружения
- облако или хосты
- необходимые ресурсы
На выходе:
- набор подготовленных
виртуальных машин (ОС,
домен, сеть, стороннее ПО)
готовых для установки
экземпляра системы
Входные данные:
- посление версии исходного
кода или готовые пакеты
- Сопоставление ролей ВМ
и пакетов для установки
На выходе:
- Актуальные версии систем
установлены на машины в
соответсвии с их ролями
Входные данные:
- набор скриптов
- способ запустить их
на каждой машине и
передать параметры
На выходе:
- Готовый к работе,
настроенный, запущенный
экземпляр системы
FrontEnd role Appsrv role
Web UI
worker
win service
scheduler
Database
Other
services
Domain Controller
OS v1
app v1
OS v1
app v2
OS v2
app v1
Виртуальная инфраструктура:
• Настроить окружение на базе хостов Hyper-V
и System Center Virtual Machine Manager
• Подготовить базоыве образы ОС (sysprepped
VHD) с нужными ролями, настройками, ПО
Логика развертывания и конфигурации:
• Подготовить скрипты cmd/ps1 в библиотеке:
‒ Подготовка инфраструктуры (join domain)
‒ Развертывание (copy binaries, install service)
‒ Конфигурирование (deployment specific)
Подготовить шаблон (Service Template):
‒ профили оборудования (HW profiles),
‒ роли виртуальных машин (Tiers),
‒ масштабируемый размер лаб (Min/Max/Def),
‒ соответствие облачным ресурсам (Mapping),
‒ скрипты для каждой роли ВМ (App Config)
‒ задаваемые параметры для скриптов (@, #)
Полная автоматизация развертываний ПО: общие концепции, пример реализации, сравнение подходов
Проще «переналить» новый экземпляр стенда с новой версией ПО или
конфигурацией, чем обновлять существующий или менять что-то вручную
Service template
dev-1
main-2
prod-3
Параметры развертывания
Запуск процесса создания нового экземпляра может быть включен в
глобальную процедуру BUILD-DEPLOY-TEST.
• Собрать билд
• Создать лабу
• Залить продукт
• Настроить лабу
• Установить агентов
• Снять snapshot
• Прогнать автотесты
• Собрать результаты
• Сохранить в TFS
• Удалить лабу (или нет)
VMM Service Template?
VMware App Blueprint?
...
физические сервера?
VMware vFabric Applcation Director:
(vCloud Automation Suite)
Application BluePrints
Microsoft System Center
(Virtual Machine Manager)
Service Templates
<=>
изоляция
стендов
всегда «чистая»
системаокружение,
аналогичное
боевому
сокрытие логики
преимущества ALMпросто поддерживать
быстро развернуть
легко можно
контролировать
• Управление жизненным циклом релизов (и
развертываний): Dev – Test – Staging – Prod
• Возможность продвигать очередной релиз
автоматически (по условиям) и/или по
согласованию с ответственными лицами
• В итоге: путь к внедрению Continuous Delivery
Полная автоматизация развертываний ПО: общие концепции, пример реализации, сравнение подходов
• Система виртуализации, хосты и облака
• Способ развертывать ВМ по шаблонам
• Возможность логически группировать ВМ
• Способ выполнять свой код на машинах
• Возможность масштабировать развертывания
• Интеграция процесса в жизненный цикл / ALM
• Орекстратор для управления системой CD
• Удобные интерфейсы для работы с системой
🚲
Deploy service from template
Configuration parameters loaded from dropMP CI_20140408.6TattooParameters
Connecting to VMM server: *.viacode.com as * Self-Service Users
Getting Service Template: Auto DC+SCOM12SP1 version: 8.2.1
Connecting to TFS Team Project Collection http://*.viacode.com:*/tfs/*
Existing service instance Auto HDP SCOM found; restoring procedure started
List of Tiers and Virtual Machines in Service Auto * SCOM
- [Win2K12SCOM12SP1_1]: AUTOSCOM1.auto.local; [Win2K8DC]: autoDC.auto.local
Restoring VM [autoSCOM1] to it's most recent checkpoint: autoSCOM1 - pw resest
Restoring VM [autoDC] to it's most recent checkpoint: autoDC - pw resest
Virutal Machine autohdpSCOM1 is in PowerOff state; starting... Running
Virutal Machine autohdpDC is in PowerOff state; starting... Running
Test Agent will be installed to Virutal Machine: AUTOSCOM1.auto.local
Waiting AUTOSCOM1.auto.local to be up and running
- Server is not responding... Ping ok
Existing Lab environment found and will be destroyed: * Tattoo Lab : NotReady
Lab environment has been destroyed… Creating Lab Environment: * Tattoo Lab
Installing Test Agent to AUTOSCOM1.auto.local
Waiting for Environment to be ready… - [State] = Preparing
Environment is now Ready… Service deployment completed successfully
GetLabEnvironmentUri… Run Tests on Environment
Running Tests… The following Suite ID will be used to create the test run: 195
If all tests have not passed... Creating incidents
Tattoo: Cleanup phase… Test MTM Environment and VMM Service are freezed
Есть много путей решения проблемы
Не важно «как» будет выглядеть ваш
Вы можете пойти радикальным путем
или использовать отдельные приемы
Главное - начать смотреть в эту сторону
Четко понять, что внедряемость продукта
ТРЕБУЕТ ВНИМАНИЯ
Это обязательная «фича» продукта
Но многие об этом не помнят...
Не надо так 
Andrey.Morozovsky@VIAcode.com
http://ru.linkedin.com/in/amorozovsky
Вопросы?
Спасибо за внимание!

More Related Content

PPTX
3 zalomlenkov selenium
PPTX
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
PPTX
Load testing of web applications
PDF
Миграция на современные версии CUCM.
PPTX
Meet up windows-workflow_foundation
PPTX
System Center 2012 Operations Manager + SP1
PPTX
Eugene Dmitrichenko - Load testing of web applications
PPTX
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
3 zalomlenkov selenium
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
Load testing of web applications
Миграция на современные версии CUCM.
Meet up windows-workflow_foundation
System Center 2012 Operations Manager + SP1
Eugene Dmitrichenko - Load testing of web applications
Инструментарий для создания дистрибутивов продуктов | Владимир Селин

What's hot (20)

PDF
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
PDF
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
PDF
Новые возможности CUCM 9.0.
PDF
Web-конференции в частном облаке предприятия (c Cisco Webex Meetings Server)
PPTX
Web deployment
PDF
Cisco Collaboration Prime 10.5
PPTX
RAD на Java: как устроена CUBA Platform?
PDF
Обзор распределенной системы самообслуживания на базе Cisco Customer Voice Po...
PDF
50 оттенков play!
PPTX
Cистемы автоматической сборки проектов (Полина Фоминых)
PPTX
Azure web apps - designing and debugging
PDF
Microsoft Virtualization(Plex)
PPT
Windows Server 2008 новинки
PDF
Особенности лицензирования облачных решений vCloud, vFabric, vShield
PDF
Современная архитектура системы унифицированных коммуникаций Cisco.
PDF
владивосток форум производительность_ha
PPTX
Управление версиями в TFS 2008
PPTX
Управление версиями в TFS 2008
PPTX
Dev & test на windows azure
PPTX
Управление версиями TFS 2010
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
Новые возможности CUCM 9.0.
Web-конференции в частном облаке предприятия (c Cisco Webex Meetings Server)
Web deployment
Cisco Collaboration Prime 10.5
RAD на Java: как устроена CUBA Platform?
Обзор распределенной системы самообслуживания на базе Cisco Customer Voice Po...
50 оттенков play!
Cистемы автоматической сборки проектов (Полина Фоминых)
Azure web apps - designing and debugging
Microsoft Virtualization(Plex)
Windows Server 2008 новинки
Особенности лицензирования облачных решений vCloud, vFabric, vShield
Современная архитектура системы унифицированных коммуникаций Cisco.
владивосток форум производительность_ha
Управление версиями в TFS 2008
Управление версиями в TFS 2008
Dev & test на windows azure
Управление версиями TFS 2010
Ad

Viewers also liked (20)

PPTX
CI: Автоматизация сборки, развёртывания и тестирования
PPTX
Практические аспекты организации процесса тестирования в государственных учре...
PPTX
Как общаться с коллегами удалённо, чтобы не было мучительно больно?
PPTX
Практически о виртуализации сервисов
PPTX
Тестирование в опенсорс
PPTX
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
PPTX
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)
PDF
Тестовая инфраструктура в облаке
PPTX
Теория и практика сокращения релизного цикла
PPTX
Инструменты тестирования, или хочешь сделать хорошо - сделай это сам
PPTX
VIQA - Тестирование UI с помощью Виртуального интеллекта
PPTX
Автоматизированное тестирование не-тестировщиками
PPTX
Обеспечение качества: Практические советы
PDF
Особенности тестирования облачных сервисов
PPTX
Миссия тест-менеджера
PPTX
Организация времени в тестировании
PPTX
Первоклассное тестирование
PPTX
Waterfall revisited: практические метрики тестирования
PPTX
Безопасность сессий в веб-приложениях: практическое применение
PDF
Успешный тестировщик. Путь профессионала
CI: Автоматизация сборки, развёртывания и тестирования
Практические аспекты организации процесса тестирования в государственных учре...
Как общаться с коллегами удалённо, чтобы не было мучительно больно?
Практически о виртуализации сервисов
Тестирование в опенсорс
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)
Тестовая инфраструктура в облаке
Теория и практика сокращения релизного цикла
Инструменты тестирования, или хочешь сделать хорошо - сделай это сам
VIQA - Тестирование UI с помощью Виртуального интеллекта
Автоматизированное тестирование не-тестировщиками
Обеспечение качества: Практические советы
Особенности тестирования облачных сервисов
Миссия тест-менеджера
Организация времени в тестировании
Первоклассное тестирование
Waterfall revisited: практические метрики тестирования
Безопасность сессий в веб-приложениях: практическое применение
Успешный тестировщик. Путь профессионала
Ad

Similar to Полная автоматизация развертываний ПО: общие концепции, пример реализации, сравнение подходов (20)

PDF
Cisco + IBM = VersaStack.
PDF
Построение платформы для VDI – основные слагаемые успешного проекта
PDF
Тенденции в развитии сетей операторов связи
PDF
Оптимизация ЦОД подходы ЕМС и Cisco к построению эффективных ИТ-инфраструктур
PDF
Платформа Cisco Evolved Services Platform (ESP) - новый уровень реализации ус...
PDF
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...
PPTX
emc hyper converged
PDF
Автоматизированое развертывание виртуализированной инфраструктуры с интегриро...
PDF
Гиперконвергентность в трех измерениях: решения, технологии, эффективность
PDF
DevOps и VSTS
PPTX
Опыт построения микросервисной архитектуры в цифровом банке
PDF
Семейство продуктов Enterprise Cloud Suite
PPTX
VMware Solutions and Softline Services
PDF
"Девопс - это не только для программистов. Практические примеры из жизни одно...
PPSX
Citrix Kazan itsf2017
PDF
PDF
Микросервисы: откуда столько шума?
PDF
UCS Director
PPTX
How we built continuous delivery
PPTX
Практика DevOps в крупных организациях
Cisco + IBM = VersaStack.
Построение платформы для VDI – основные слагаемые успешного проекта
Тенденции в развитии сетей операторов связи
Оптимизация ЦОД подходы ЕМС и Cisco к построению эффективных ИТ-инфраструктур
Платформа Cisco Evolved Services Platform (ESP) - новый уровень реализации ус...
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...
emc hyper converged
Автоматизированое развертывание виртуализированной инфраструктуры с интегриро...
Гиперконвергентность в трех измерениях: решения, технологии, эффективность
DevOps и VSTS
Опыт построения микросервисной архитектуры в цифровом банке
Семейство продуктов Enterprise Cloud Suite
VMware Solutions and Softline Services
"Девопс - это не только для программистов. Практические примеры из жизни одно...
Citrix Kazan itsf2017
Микросервисы: откуда столько шума?
UCS Director
How we built continuous delivery
Практика DevOps в крупных организациях

More from SQALab (20)

PDF
Готовим стажировку
PPTX
Куда приводят мечты? или Искусство развития тестировщика
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PPT
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
PPTX
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
PPTX
Continuous performance testing
PDF
Конфиги вместо костылей. Pytestconfig и зачем он нужен
PPT
Команда чемпионов в ИТ стихии
PPTX
API. Серебряная пуля в магазине советов
PPTX
Добиваемся эффективности каждого из 9000+ UI-тестов
PPT
Делаем автоматизацию проектных KPIs
PDF
Вредные привычки в тест-менеджменте
PPTX
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
Стили лидерства и тестирование
PPT
"Давайте не будем про качество"
PDF
Apache.JMeter для .NET-проектов
PPTX
Тестирование геолокационных систем
PPTX
Лидер или босс? Вот в чем вопрос
PPTX
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Стили лидерства и тестирование
"Давайте не будем про качество"
Apache.JMeter для .NET-проектов
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...

Полная автоматизация развертываний ПО: общие концепции, пример реализации, сравнение подходов

  • 1. Continuous Deployment & Delivery end to end: what, why, how
  • 2. • Андрей Морозовский Andrey.Morozovsky@VIAcode.com • http://www.viacode.com • Software Developer in Testing • Тестовая инфраструктура, автоматизация тестов, виртуализация, Application Lifecycle Management • «Радикальный путь» в автоматизации развертываний
  • 4. + + = Инфраструктура: Физические или виртуальные сервера - hardware - OS - network - 3rd party soft Компоненты: Актуальные версии ПО (дистрибутив) - web sites - services - databases - binaries Конфигурация: Настройки, специфичные для экземпляра - addresses - names - credentials - parameters Экземпляр Системы Внедренный продукт - тест лаба - devbox - staging - production
  • 5. Разработка Бой DevBoxes & автобилды Тест лабы & QA Обслуживание & staging версии Боевые сервера & управление релизами SCRUM демо & приемочные тесты Автотесты & CI
  • 6. → Сложно → Слабо документирован → Выполняется вручную → Занимает много времени → Слабо контролируем → Непредсказуем → Опасен ошибками → Дорого network
  • 7. конфликты версий, легко ошибиться при обновлениях снижение производительности “Sharing” стендов и взаимное влияние лаб сложно и дорого развернуть новый экземпляр системы использование существующей инфраструктуры, пока она хоть как-то работает сложность проддержки, обслуживания, обновления масштабирования костыли и сложная архитектура
  • 8. потери $ 465.000.000 за 45 минут это $172.222 в минуту + $ 12.000.000 штраф подробнее: http://tinyurl.com/sqa15-knight
  • 9. • «Внедряемость» не включена в требования в качестве обязательной функциональности (нужно формализовать) • Команда не контролирует процесс развертывания своего продукта (нужно требовать как при TDD) • Попытки решить проблему бессистемно (нужен системный подход)
  • 10. • Полностью автоматизировать все три основных этапа развертывания (с помощью облаков) • Отказаться от обновления ПО и конфигурации • Сделать так, чтобы коплект поставки продукта содержал всѐ необходимое для работы • Интегрировать автоматическое развертывние в жизненный цикл продукта, от начала до конца
  • 11. + + Инфраструктура Установка компонентов Конфигурация Входные данные: - шаблон окружения - облако или хосты - необходимые ресурсы На выходе: - набор подготовленных виртуальных машин (ОС, домен, сеть, стороннее ПО) готовых для установки экземпляра системы Входные данные: - посление версии исходного кода или готовые пакеты - Сопоставление ролей ВМ и пакетов для установки На выходе: - Актуальные версии систем установлены на машины в соответсвии с их ролями Входные данные: - набор скриптов - способ запустить их на каждой машине и передать параметры На выходе: - Готовый к работе, настроенный, запущенный экземпляр системы
  • 12. FrontEnd role Appsrv role Web UI worker win service scheduler Database Other services Domain Controller OS v1 app v1 OS v1 app v2 OS v2 app v1
  • 13. Виртуальная инфраструктура: • Настроить окружение на базе хостов Hyper-V и System Center Virtual Machine Manager • Подготовить базоыве образы ОС (sysprepped VHD) с нужными ролями, настройками, ПО
  • 14. Логика развертывания и конфигурации: • Подготовить скрипты cmd/ps1 в библиотеке: ‒ Подготовка инфраструктуры (join domain) ‒ Развертывание (copy binaries, install service) ‒ Конфигурирование (deployment specific)
  • 15. Подготовить шаблон (Service Template): ‒ профили оборудования (HW profiles), ‒ роли виртуальных машин (Tiers), ‒ масштабируемый размер лаб (Min/Max/Def), ‒ соответствие облачным ресурсам (Mapping), ‒ скрипты для каждой роли ВМ (App Config) ‒ задаваемые параметры для скриптов (@, #)
  • 17. Проще «переналить» новый экземпляр стенда с новой версией ПО или конфигурацией, чем обновлять существующий или менять что-то вручную Service template dev-1 main-2 prod-3 Параметры развертывания
  • 18. Запуск процесса создания нового экземпляра может быть включен в глобальную процедуру BUILD-DEPLOY-TEST.
  • 19. • Собрать билд • Создать лабу • Залить продукт • Настроить лабу • Установить агентов • Снять snapshot • Прогнать автотесты • Собрать результаты • Сохранить в TFS • Удалить лабу (или нет) VMM Service Template? VMware App Blueprint? ... физические сервера?
  • 20. VMware vFabric Applcation Director: (vCloud Automation Suite) Application BluePrints Microsoft System Center (Virtual Machine Manager) Service Templates <=>
  • 21. изоляция стендов всегда «чистая» системаокружение, аналогичное боевому сокрытие логики преимущества ALMпросто поддерживать быстро развернуть легко можно контролировать
  • 22. • Управление жизненным циклом релизов (и развертываний): Dev – Test – Staging – Prod • Возможность продвигать очередной релиз автоматически (по условиям) и/или по согласованию с ответственными лицами • В итоге: путь к внедрению Continuous Delivery
  • 24. • Система виртуализации, хосты и облака • Способ развертывать ВМ по шаблонам • Возможность логически группировать ВМ • Способ выполнять свой код на машинах • Возможность масштабировать развертывания • Интеграция процесса в жизненный цикл / ALM • Орекстратор для управления системой CD • Удобные интерфейсы для работы с системой
  • 25. 🚲
  • 26. Deploy service from template Configuration parameters loaded from dropMP CI_20140408.6TattooParameters Connecting to VMM server: *.viacode.com as * Self-Service Users Getting Service Template: Auto DC+SCOM12SP1 version: 8.2.1 Connecting to TFS Team Project Collection http://*.viacode.com:*/tfs/* Existing service instance Auto HDP SCOM found; restoring procedure started List of Tiers and Virtual Machines in Service Auto * SCOM - [Win2K12SCOM12SP1_1]: AUTOSCOM1.auto.local; [Win2K8DC]: autoDC.auto.local Restoring VM [autoSCOM1] to it's most recent checkpoint: autoSCOM1 - pw resest Restoring VM [autoDC] to it's most recent checkpoint: autoDC - pw resest Virutal Machine autohdpSCOM1 is in PowerOff state; starting... Running Virutal Machine autohdpDC is in PowerOff state; starting... Running Test Agent will be installed to Virutal Machine: AUTOSCOM1.auto.local Waiting AUTOSCOM1.auto.local to be up and running - Server is not responding... Ping ok Existing Lab environment found and will be destroyed: * Tattoo Lab : NotReady Lab environment has been destroyed… Creating Lab Environment: * Tattoo Lab Installing Test Agent to AUTOSCOM1.auto.local Waiting for Environment to be ready… - [State] = Preparing Environment is now Ready… Service deployment completed successfully GetLabEnvironmentUri… Run Tests on Environment Running Tests… The following Suite ID will be used to create the test run: 195 If all tests have not passed... Creating incidents Tattoo: Cleanup phase… Test MTM Environment and VMM Service are freezed Есть много путей решения проблемы Не важно «как» будет выглядеть ваш Вы можете пойти радикальным путем или использовать отдельные приемы Главное - начать смотреть в эту сторону Четко понять, что внедряемость продукта ТРЕБУЕТ ВНИМАНИЯ Это обязательная «фича» продукта Но многие об этом не помнят... Не надо так 