Обзор ibm udeploy · ibm рассматривает devopsкак полный цикл...
TRANSCRIPT
Обзор IBM uDeploy
Тимур Маркунин, IBM Rational, Client Technical Professional [email protected]
Видеопрезентация
2
http://www.youtube.com/watch?v=tEeia1mzaZQ
Подход DevOps: Применение принципов Lean для скорейшей обратной связи и уменьшения времени до получения результатов
Бизнес
Заказчик
1
3
2
1. Get ideas into production fast2. Get people to use it3. Get feedback
Non-Value-added waste
Value-added production work
Leanтрансформация
http://ibm.co/devopsfordummies3
Разрывы “Бизнес-IT” и “IT-IT”
IT
Бизнес Разработка Эксплуатация
Gap Gap
Фокус аgile (например Scrum вводит роль Product Owner, представляющего бизнес)
Фокус “традиционного”
DevOps
Представление IBM о DevOps намного шире (как мы переносим идеи в продуктив)
4
IBM рассматривает DevOps как полный цикл доставки приложения
5
Develop / Test
Release / Deploy
Plan / Measure
Monitor / Optimize
Agile Development
Continuous Deployment
Continuous Integration
Continuous Testing
ContinuousDeliveryofSoftware-driveninnovationwithafeedbackloop
Business Owner
ServiceDeveloper/Tester Service
Operations TargetCustomer
Идея Рынок
DevOps
Предыдущиеметоды/практикифокусируютсятольконаподмножестве цепочкидоставки
Cont. Bus Planning Cont. Monitoring
Эволюция подходов к разработке
Traditional Iterative Agile Scaled Agile DevOps
• Multiple Views• Quality
Attribute-Driven Development
• Component-Based Development
• Asset Reuse• Decision
Capture• Architecture
Proving
• Iterative Development
• Risk-Value Lifecycle
• Shared Vision• Use Case-
Driven Development
• Release Planning
• Test-Driven Development
• Continuous Integration
• Refactoring• Whole Team• User Story-
Driven Development
• Team Change Management
• Measured Performance
• Formal Change Management
• Concurrent Testing
• CollaborativeDevelopment
• ContinuousTesting
• ContinuousRelease
• ContinuousMonitoring andOptimisation
IT
Business Development Operations
Gap
Gap
6
“IT-IT”
7
Что с твоим кодом?
Мой код работает отлично! А вот твои
сервера …!
Конвейер развертывания
Пакет для установки
СборкаРазработка Версионныйконтроль
Развертывание
• Конфигурация системного ПО• Установка заглушек• Установка и настройка приложения
Функциональное тестирование
Системное тестирование
Приемочное тестирование
Авторизация переноса в продуктив
Для тестовых сред
• Конфигурация системного ПО• Установка и настройка приложения
Разработка
Эксплуатация
ПродуктыUrbanCode
§ IBM UrbanCode Deploy для автоматизации развертывания приложений
§ IBM UrbanCode Release для управления релизами
10
Терминология
Компонент
-*.war-*.ear-Скрипты базы данных-*.exe и *.config……………..
Приложение
Компонент
Компонент
SIT
Компонент V 3
Компонент V 7
Компонент V 2
Production
Компонент V 2
Компонент V 5
Компонент V 2
Сервер А
Сервер В
Сервер С
Сервер Н
Сервер О
Сервер Р
jdbc:db2://sit:5021/mydb
jdbc:db2://prod:50000/mydb
IBM UrbanCode DeployАвтоматизация развертывания приложений
§Управление компонентами приложений и их версиями
§ Дизайнер процесса развертывания– Автоматизация и повторное использование
§Управление средами для развертывания приложений-- Что и где установлено?
§ Соблюдение регламентов– Права на запуск развертывания
– Аудит истории развертываний
– Конфигурация e-mail уведомлений
– Задание предусловий
12
§ Стандартизация повторяемых автоматических процессов развертывания
§ Стандартизация подключений к репозиториямкода и средам
§ Создание повторно используемых шаблонов приложений и компонентов
§ Описание стандартных конфигураций сред
§ Избежание ошибок развертывания
§ Возможность делиться знаниями о процессе развертывания
Сценарии применения: Стандартизация
13
§ Определение прав доступа для ролей и команд LDAP
§ Управление доступом к приложениям и компонентам
§ Создание цикла утверждения для развертываний
§ Аудит истории развертыванийCheck
§ Создание требований, необходимых для развертывания в среде
Сценарии применения: Ролевое управление и безопасность
14
Сервер Агент
База данных
Файловое хранилище
firewallСеть А Сеть B
Агент
Агент
Агент
Agent Relay
Архитектура
HTTPSJMS
Tomcat
JDBC
Определение компонентов
Создание приложений
Определение процесса развертывания
Агенты и среды
UrbanCode Deploy Integration Strategies - plugins
Type of Interaction Integration Target Systems Examples of Integration Targets Accept inputs of application and component assets.
§ Build / CI Servers§ SCM Systems§ Repositories§ Build Tooling
§ Build Forge, Jenkins, Hudson§ RTC, CC, AccuRev, CVS, PVCS§ Maven, RAM, Subversion § Make, MSBuild, Ant, NAnt
Prepare and provisionenvironments to deploy applications and components to.
§ Private Cloud§ Public Cloud
§ PureApp, SCO, VMWare, § Amazon EC2
Deploy applications and components to heterogeneousmiddleware platforms.
§ Application Servers § Load Balancers§ Portals § BPM Servers and ESBs § Messaging Infrastructure § Commerce Servers § Packaged Applications § Appliances
§ WAS, WebLogic, JBoss, IIS/.NET § Citrix NetScaler, F5§ WebSphere Portal, WebLogic Portal § IBM BPM, WMB, Microsoft BizTalk § WebSphere MQ§ WebSphere Commerce§ SAP, Oracle Applications § IBM DataPower
Integrate with a host of other systems and services for a range of SDLC tasks.
§ Work Item / Issues Tracking§ Installers § Quality Management / Testing§ Scripting § System Utilities
§ Rally, JIRA, RTC § MSI, RPM § RQM, GH, HP QC, Selenium§ Groovy, Shell, PowerShell § Windows & Linux System Tools, 7zip
IBM UrbanCode WebSphere Plug-ins
Позволяет управлять множеством экземпляров WAS
- Захват слепка конфигурации- Параметризация конфигурации- Сравнение конфигураций экземпляров- Распространение изменений- Миграция на новые версии WAS
https://developer.ibm.com/urbancode/docs/migrating-websphere-application-server-versions-ibm-urbancode-deploy-2/
IBM UrbanCode WebSphere Plug-ins
IBM UrbanCode WebSphere Plug-ins
Автоматизация обновлений конфигурации DataPower
IBM UrbanCode WebSphere Plug-ins
Расширение функционала продукта – REST API
24
Расширение функционала продукта – свои плагины
25
Внедрения
• UrbanCode внедрен до покупки компанией IBM
• Разрабочики в России и подрядчики (Luxoft)
СитуацияРучное развертывание дистрибутивов, поступающих от подрядчиков, в тестовых контурах и тестирование перед развертыванием в продуктив. Приложение, использующее WebLogic и СУБД Oracle.Решение
Пилотирование uDeploy в течении 1 недели. Автоматизировано развертывание системы CBSC на тестовом стенде.
РезультатВ настоящий момент система CBSC автоматически развертывается и тестируется на тестовых стендах и в продуктив. Сокращены циклы развертывания и ошибки, связанные с ручными операциями. Расширение внедрения на ДИТ Москвы
FidelityСитуацияМножество систем, развертываемых на сотни серверов. Ручные и полуавтоматические (скрипты) процедуры развертывания, которые нужно конфигурировать для каждого приложения
Различные платформы, языки и технологии реализации (Unix, Linux, Windows, Java, .NET, C++, открытые и коммерческие сервера приложений и СУБД, открытые и коммерческие средства сборки). Переход через Development, Test, QA, UAT к Production среде.
РешениеПилотирование инструментов различных вендоров и выбор uDeploy. После пилота команда из 3х инженеров IBM и 12 инженеров Fidelity за 1 месяц сформировали требования для проекта и прошли обучение. Сам проект был реализован за 2 месяца в 2013 году
Результаты• Система внедрена и работает с 2013 года по настоящий момент• Время релиза уменьшено с 2-3 дней до 1-2 часов• Экономия 2.3М$ в год• Предсказуемость дат релиза для заинтересованных лиц• Самообслуживание для команд разработки
www.goo.gl/AbgQZ5
Истории успеха
Эволюция продукта
https://developer.ibm.com/urbancode/products/urbancode-deploy/whats-new/
Долгий и сложный цикл с ручными шагами
Роль Слой
Developers/Testers
SpecialistsCompute, Network,
and Storage
Platforms
Apps
Небольшие итеративные изменения… …
Развертывание инфраструктуры тормозит развертывание ПО
üДизайнершаблонов
–Создайтеполныйстексредыприложениявтекстовом/графическомредакторе
–Создайтеединожды,развертывайтевезде
–Развертывайтевразныхоблаках
üУправлениежизненнымцикломсреды
–Управляйтеизменениямиинфраструктурыиприменяйтеизмененияксуществующимсредам
üАвтоматизацияпроцессаразвертывания
–Автоматизированныйпроцессразвертываниясинтеграциейвсегостека
Дизайниразвертываниеполногостекасредыприложения (виртуальнаяинфраструктура+ПО)
IBM UrbanCode Deploy (Blueprint Designer)
Application
Compute, Storage, Network Configuration
OS / Platform Image
Middleware Configuration
Middleware
Policies
VMware vCenter
Private PublicVirtual
Datacenter
Blueprint Designer – компонент UrbanCode Deploy
Developers/Testers
Specialists Compute, Network,
and Storage
Platforms
Apps
Среда
Application
Middleware Config
Middleware
OS Config
Hardware
Envi
ronm
ent
Blu
eprin
t
Design Deploy
Опишите ресурсы (Процессора, Сеть, Хранилища) вместе с системным ПО и
приложениями
Автоматизируйте развертывание среды используя шаблоны
Быстрое и целостное развертывание сред для ПО
Pattern Browser
Palette for diagram and
text editor
Provision new or update existing
environment
Дизайнер
Palette works
seamlessly on both editors
Environment Blueprint is a text document
(HOT)
Переключение графического/текстового редакторов
§ Управляйтеверсиейшаблона,используясредстваверсионного контроля(встроеннаяподдержка Git)
§ Применяйтеновуюверсиюшаблонаксуществующейсредеилисоздавайтеновуюсредуснуляn
§ Проверяйтеполныйстекдовыпускавпродуктив
Управляйте инфраструктурой как кодом приложения
Изменения приложения
Изменения инфраструктуры
Упрощенный цикл управления средами
36
Управление релизами
§uRelease§ Планирование дат релиза
§ Выполнение релиза
§ Отслеживание состояния работ
§ Подготовка среды развертывания релизов
§ Обратная связь с разработчиками по выпущенному релизу
Определение фаз развертывания
Планирование работ
Отслеживание состояния работ
40
Pipeline view
41
Pipeline view – сравнение сред
42
Pipeline view – сравнение состояния компонентов
43
Pipeline view – требования для фазы
44
Pipeline view – последнее развертывание
45
Преимущества продукта UrbanCode
State of DevOps 2013 опрос от Puppet Labs более чем 4000 заказчиков
Уменьшение стоимости– Исключение ручных работ и связанных потерь
времени за счет развертывания по нажатию кнопки
Увеличение скорости выпуска на рынок– Простой, графический редактор процесса со
встроенными шагами по созданию процесса развертывания
Уменьшение рисков и сложности– Управление конфигурациями, скоординированный
процесс релиза, аудиты и отслеживаемость
46
Тимур МаркунинТехнический консультант
по ПО IBM Cloud
IBM Санкт-ПетербургРешетникова, 10