Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Ontico
Это реальный рассказ об архитектуре Единой Фронтальной Системы (ЕФС) - системы, которая будет обслуживать абсолютно всех клиентов Сбербанка во всех каналах (отделения, интернет-банки, мобильные приложения, АТМ и т.д.). Это означает: десятки миллионов активных клиентов, 24х7, и еще пара NFR'ов, от которых порой вздрагиваешь по ночам :)
С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться.
В моем докладе я расскажу:
· Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище).
· Как мы масштабируемся на миллионы пользователей, оставаясь внешнее единой системой.
· Как мы реализуем zero downtime deployment, чтобы оставаться в 99.99% в условиях частых обновлений.
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Ontico
Это реальный рассказ об архитектуре Единой Фронтальной Системы (ЕФС) - системы, которая будет обслуживать абсолютно всех клиентов Сбербанка во всех каналах (отделения, интернет-банки, мобильные приложения, АТМ и т.д.). Это означает: десятки миллионов активных клиентов, 24х7, и еще пара NFR'ов, от которых порой вздрагиваешь по ночам :)
С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться.
В моем докладе я расскажу:
· Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище).
· Как мы масштабируемся на миллионы пользователей, оставаясь внешнее единой системой.
· Как мы реализуем zero downtime deployment, чтобы оставаться в 99.99% в условиях частых обновлений.
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session I'd like to share our experience, including but not limited to:
- advanced vagrantfile configuration
- vm configuration tips for dev environment: performance, debug, tuning
- our wtf moments
- puphet/phansilbe: hot or not?
- tips for sharing a box
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Ontico
Если наш проект — это не коробочный продукт, а, например, веб-сервис, на который постоянно ходят пользователи, их много и они сразу видят изменения, то в жизненном цикле разработки у нас возникает еще одна задача — задача деплоя готового кода в боевое окружение.
В самом начале, когда наш проект маленький и простой, на эту задачу никто может и не обращать внимания, так как все происходит быстро и просто. Процесс деплоя состоит из 2-3 общеизвестных шагов — git pull, yii migrate, etc..., которые легко запомнить и в них сложно ошибиться.
С развитием проекта его сложность возрастает — он уже крутится на нескольких серверах, появляются новые компоненты (утилиты, библиотеки и т.д.), новые сущности (балансеры, кэшы, и т.д.). Держать всю инфраструктуру в голове становится невозможным, ведение документации привносит больше проблем, нежели решений, люди ошибаются чаще и т.д.
В докладе:
— рассмотрим подробно вышеуказанные проблемы, с которыми неизбежно сталкиваются проекты;
— обсудим, какие решения существуют в индустрии (chef, ansible, etc), чем они отличаются, какой выбрать и в чем их задача;
— поговорим про административные вопросы, которые с этим связаны.
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Достичь этого можно только одним способом - с помощью инструментов непрерывной интеграции. Какой же инструмент лучше выбрать? Почему? Так ли этот выбор важен или можно просто взять любой из них и начать использовать?
Сравним самые популярные Java-совместимые инструменты CI и сделаем выводы!
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
DevOps и системы управления конфигурацией. SECON 2015Ivan Evtukhovich
Что такое DevOps, зачем он нужен, что включается в это понятие. Что такое Continuous Delivery, системы управления конфигурацией, сравнение Chef и Ansible.
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
Подход компании McAfee к защите облачных вычислений.
Оптимизированные технологии для защиты "облаков" и ЦОДов.
Принцип работы MOVE, преимущества Application Control, DAM и других технологий.
Рассмотрен вариант организации бесплатной среды автоматического тестирования веб-приложений на различных окружениях.
Одним кликом прогоняются тесты на комбинации всех известных браузеров со всеми возможными вариантами серверных окружений, в которых работает приложение.
2. О чем доклад?
Continuous delivery с Java-спецификой
Об инструментах для
– контроля качества кода
– хранения артефактов
– деплоя
– сбора метрик
Надежные решения для сложной инфраструктуры
8. Обратная связь
Тестирование кода
Тестирование инфраструктуры
Анализ кода и тестов
Изменения поведения и потребления ресурсов
от релиза к релизу
Надежные решения для сложной инфраструктуры
9. SonarQube
Непрерывный контроль качества кода
Поддеживает распространненые языки
Проверка стандартов оформления,
покрытие тестами, потенциальные баги
Интегрируется с Jenkins, Bamboo, Jira, …
CWE (сommon weakness enumeration)
Надежные решения для сложной инфраструктуры
10. Артефакты
GAV (Group, Artifact, Version)
– org.example.corp:email-svc:ear:1.0.1
Имеют большой размер (например, >50МБ)
Содержимое артефакта может изменится
Надежные решения для сложной инфраструктуры
12. Artifactory
Есть бесплатная и платные версии
В платной версии умеет
PyPI, RubyGems, NPM
Docker Registry API и Docker Hub API
Debian repo & yum repo
Надежные решения для сложной инфраструктуры
13. Nexus
Есть бесплатная и платные версии
Гибкая система управления правами
Большое количество плагинов
Надежные решения для сложной инфраструктуры
14. Archiva
Есть проблемы с интерфейсом
Apache License
Надежные решения для сложной инфраструктуры
15. Repository proxy
Надежные решения для сложной инфраструктуры
QA QA QA
Vagrant Vagrant Vagrant
Office Production
proxy
Staging
proxy
VM VM VM
VM VM VM VM
VM
16. Деплой
В терминах GAV
С кнопки, деплоить может каждый!
Каждая выкатка должна быть зафиксирована.
Надежные решения для сложной инфраструктуры
17. Метаданные
Надежные решения для сложной инфраструктуры
<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>
18. Rundeck
“… the human interface to your operations.”
Сервис автоматизации и планировщик задач
Управление доступом на основанное на ролях
Интеграция с репозиторием бинарных артефактов
Callback о результатах деплоя
Надежные решения для сложной инфраструктуры
20. JMX
JMX - API для взаимодействия с Java-приложением
Работает из коробки в системах мониторинга
Простота добавления новых метрик
Надежные решения для сложной инфраструктуры
21. JMX
JVM: статистика GC, heap.
Container: статистика запросов и исключений
Pools: статистика по использованию ресурсов
Бизнес метрики
Надежные решения для сложной инфраструктуры
22. JMX
Для эксплуатации:
Остановить приложение при деплое
Изменить конфигурацию работающего сервиса
Запустить внутренний процесс
Healthcheck
Надежные решения для сложной инфраструктуры