SlideShare a Scribd company logo
Инфраструктура
в Java-проекте
Игнатов Юрий

Express 42
О чем доклад?
Continuous delivery с Java-спецификой
Об инструментах для
– контроля качества кода
– хранения артефактов
– деплоя
– сбора метрик
Надежные решения для сложной инфраструктуры
Continuous delivery
Надежные решения для сложной инфраструктуры
Develop Build & Test Deploy
Continuous delivery
Надежные решения для сложной инфраструктуры
Develop Build & Test Deploy
Не только.
Continuous delivery
Автоматизация на всех этапах
Обратная связь на всех этапах
Надежные решения для сложной инфраструктуры
Continuous delivery
Надежные решения для сложной инфраструктуры
Develop Build & Test Deploy
Обратная связь
Жизненный цикл
Java-сервиса
Среда разработчика
CI-система
Контроль качества
Репозиторий бинарных артефактов
Деплой
Эксплуатация
Иногда добавляется отладка и хотфиксы
Надежные решения для сложной инфраструктуры
Обратная связь
Тестирование кода
Тестирование инфраструктуры
Анализ кода и тестов
Изменения поведения и потребления ресурсов
от релиза к релизу
Надежные решения для сложной инфраструктуры
SonarQube
Непрерывный контроль качества кода
Поддеживает распространненые языки
Проверка стандартов оформления,
покрытие тестами, потенциальные баги
Интегрируется с Jenkins, Bamboo, Jira, …
CWE (сommon weakness enumeration)
Надежные решения для сложной инфраструктуры
Артефакты
GAV (Group, Artifact, Version)
– org.example.corp:email-svc:ear:1.0.1
Имеют большой размер (например, >50МБ)
Содержимое артефакта может изменится
Надежные решения для сложной инфраструктуры
Репозиторий
бинарных артефактов
Простая задача: принять-хранить-отдать
Популярные: Nexus, Artifactory, Archiva
Интеграция, плагины
Надежные решения для сложной инфраструктуры
Artifactory
Есть бесплатная и платные версии
В платной версии умеет
PyPI, RubyGems, NPM
Docker Registry API и Docker Hub API
Debian repo & yum repo
Надежные решения для сложной инфраструктуры
Nexus
Есть бесплатная и платные версии
Гибкая система управления правами
Большое количество плагинов
Надежные решения для сложной инфраструктуры
Archiva
Есть проблемы с интерфейсом
Apache License
Надежные решения для сложной инфраструктуры
Repository proxy
Надежные решения для сложной инфраструктуры
QA QA QA
Vagrant Vagrant Vagrant
Office Production
proxy
Staging
proxy
VM VM VM
VM VM VM VM
VM
Деплой
В терминах GAV
С кнопки, деплоить может каждый!
Каждая выкатка должна быть зафиксирована.
Надежные решения для сложной инфраструктуры
Метаданные
Надежные решения для сложной инфраструктуры
<artifact-resolution>
<data>
<groupId>org.example.corp</groupId>
<artifactId>email-svc</artifactId>
<version>1.0.1-20150408.180542-39</version>
<baseVersion>1.0.1-SNAPSHOT</baseVersion>
<extension>ear</extension>
<snapshot>true</snapshot>
<snapshotBuildNumber>39</snapshotBuildNumber>
<snapshotTimeStamp>1428516342000</snapshotTimeStamp>
<sha1>cdd3fac8d72b1de5256d6c7ef1f18ea453ed4e0f</sha1>
</data>
</artifact-resolution>
Rundeck
“… the human interface to your operations.”
Сервис автоматизации и планировщик задач
Управление доступом на основанное на ролях
Интеграция с репозиторием бинарных артефактов
Callback о результатах деплоя
Надежные решения для сложной инфраструктуры
Мониторинг приложения
Базовые проверки
Запущен ли процесс?
Слушается ли порт?
Более продвинутые проверки следят за сбоями
Надежные решения для сложной инфраструктуры
JMX
JMX - API для взаимодействия с Java-приложением
Работает из коробки в системах мониторинга
Простота добавления новых метрик
Надежные решения для сложной инфраструктуры
JMX
JVM: статистика GC, heap.

Container: статистика запросов и исключений

Pools: статистика по использованию ресурсов

Бизнес метрики
Надежные решения для сложной инфраструктуры
JMX
Для эксплуатации: 

Остановить приложение при деплое

Изменить конфигурацию работающего сервиса

Запустить внутренний процесс

Healthcheck
Надежные решения для сложной инфраструктуры
Graylog
Централизованное хранилище логов
Обработка входящего потока сообщений
Поиск
Алерты
Надежные решения для сложной инфраструктуры
Инфраструктура в Java-проекте
Подарок
Контакты
• github.com/express42-cookbooks
• devopsdeflope.ru
• devopsru.com
• @express42_ru
Вопросы?
• github.com/express42-cookbooks
• devopsdeflope.ru
• devopsru.com
• @express42_ru

More Related Content

PPT
Ядро автоматизации под микро-сервисную архитектуру
PPTX
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
ODP
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
PPTX
Автоматизация тестирования приёмников цифрового телевидения
PPTX
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
PDF
Honeywell Industrial Cyber Security Lab & Services Center
PPT
Использование игровой модели для выполнения сложных сценарных тестов
PPTX
Роман Василенко. Continuous delivery или как упростить себе жизнь
Ядро автоматизации под микро-сервисную архитектуру
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизация тестирования приёмников цифрового телевидения
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Honeywell Industrial Cyber Security Lab & Services Center
Использование игровой модели для выполнения сложных сценарных тестов
Роман Василенко. Continuous delivery или как упростить себе жизнь

What's hot (20)

PPTX
Один за всех, или как помочь тестированию многих компонентов одной системы
PPT
Настраиваемое тестирование производительности
PPTX
WPF Automation – test injection approach to application testing
PPTX
Kubernetes
PPT
SQADAYS 21 Москва 2017
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PPTX
Внедрение автоматизации тестирования на Сервисной Шине
PPT
Инструментация среды исполнения в арсенале тестировщика
PDF
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
PDF
So Your WAF Needs a Parser
PPTX
Тестирование REST-сервисов с применением инженерных практик
PPTX
CI: Автоматизация сборки, развёртывания и тестирования
PDF
Как Cluster Membership Software может помочь QA
PDF
Selenium grid on-demand
PDF
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
PDF
Winium — это как Selenium, только под Windows
PDF
Артём Ерошенко «Рецепт приготовления облачных тестингов»
PPT
Let's Talk About Junit 5
PDF
UICov - инструмент анализа покрытия UI-тестами
PDF
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Один за всех, или как помочь тестированию многих компонентов одной системы
Настраиваемое тестирование производительности
WPF Automation – test injection approach to application testing
Kubernetes
SQADAYS 21 Москва 2017
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Внедрение автоматизации тестирования на Сервисной Шине
Инструментация среды исполнения в арсенале тестировщика
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
So Your WAF Needs a Parser
Тестирование REST-сервисов с применением инженерных практик
CI: Автоматизация сборки, развёртывания и тестирования
Как Cluster Membership Software может помочь QA
Selenium grid on-demand
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Winium — это как Selenium, только под Windows
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Let's Talk About Junit 5
UICov - инструмент анализа покрытия UI-тестами
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Ad

Viewers also liked (6)

PDF
Тестируем инфраструктуру как код
PPTX
Практика DevOps в крупных организациях
PPTX
Продуктовая vs cервисная компания
PDF
Introduction to Vagrant
PDF
Vagrant for real (codemotion rome 2016)
PDF
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Тестируем инфраструктуру как код
Практика DevOps в крупных организациях
Продуктовая vs cервисная компания
Introduction to Vagrant
Vagrant for real (codemotion rome 2016)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Ad

Similar to Инфраструктура в Java-проекте (20)

PPT
Simonova sql server-enginetesting
PPT
Simonova sql server-enginetesting
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PDF
Azure DevOps сборка, развертывание и тестирование
PPTX
Katerina Simonova CSEDays
PPTX
Simonova CSEDays
PPTX
Katerina Simonova CSEDays
PPTX
Миграция JIRA - безобразие или безрассудство
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PDF
DevOps и системы управления конфигурацией. SECON 2015
PPTX
Automated tests ci
PPT
Open Source Testing Framework: real project example and best practices
PPT
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
PDF
McAfee - Optimized Solutions for Cloud Security
PDF
Виртуальные среды тестирования (ADD2010)
PPT
«Механизмы обновления платформы и окружений пользователей в Jelastic»
PDF
Project under control
PPTX
Описание и архитектура TFS 2008
PDF
Dev collaboration
PDF
Vladimir Trandafilov - When you need your system of cross browser testing
Simonova sql server-enginetesting
Simonova sql server-enginetesting
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Azure DevOps сборка, развертывание и тестирование
Katerina Simonova CSEDays
Simonova CSEDays
Katerina Simonova CSEDays
Миграция JIRA - безобразие или безрассудство
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
DevOps и системы управления конфигурацией. SECON 2015
Automated tests ci
Open Source Testing Framework: real project example and best practices
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
McAfee - Optimized Solutions for Cloud Security
Виртуальные среды тестирования (ADD2010)
«Механизмы обновления платформы и окружений пользователей в Jelastic»
Project under control
Описание и архитектура TFS 2008
Dev collaboration
Vladimir Trandafilov - When you need your system of cross browser testing

Инфраструктура в Java-проекте