1. solutionmentors.com
Solution Mentors is a global IT services and consulting organization
that enables startups, midsize companies and large multinational
organizations to achieve their strategic business goals
2. Тема доклада – «Среда разработки. Путь от ПК к докеру»
После окончания института
работал системным администратором
на машиностроительном заводе «НКМЗ»
Учился и закончил «ДГМА» по специальности
автоматизация производственных процессов
(АПП)
В данный момент работаю на должности
DevOps в фирме «SolutionMentors»
Савинский Антон
3. Веб-сайт глазами DevOps
База данных - это может быть mysql, mssql, oracle, postgress
Веб сервер – это может быть Apache, Nginx, IIS, Lighttpd
Веб-сервис и язык программирования – это может быть Java, Perl,
ASP.NET, Python и Ruby
CMS система управления контентом – это может быть Joomla,
WordPress, Drupal, 1С-Битрикс, OpenCart
Почта – один из способов общение с пользователями
4. Development/Stage Server
Development and
Production Server
Окружение для разработки сайтов с использование серверов
Production Server Production Server
Development/Stage Server Mail Server
Database Server
Small site Middle site Big site
Internet
5. Виртуализация
Аппаратная виртуализация — это создание
изолированных окружений в рамках одного
физического устройства. Каждое окружение выглядит
как отдельный компьютер со своими
характеристиками, такими как память, процессор и
сетевой адаптер, видео карта и др. Такое окружение
называют набором логических ресурсов
или виртуальной машиной.
Основные преимущества
- Снижение расходов (капитальных и эксплуатационных).
- Минимизация времени простоя.
- Рост быстродействия и эффективности.
- Сокращение времени реагирования на сбои.
- Ускоренное развёртывание приложений и ресурсов.
- Быстрое восстановление в случае сбоев.
Распространенные системы виртуализации
VMware vSphere, Microsoft Hyper-V
и Citrix Xen, Red Hat Virtualization и др
6. Developer VM
Database VM
Stage VM
Distributed version
control system VM
Production VM
Database VM
Production VM
Load Balancer VM
Development server Production server
Mail VM
Internet
Окружение для разработки сайтов с использованием виртуализации
7. Контейниризация
Контейнеризация — это программная виртуализация, то
есть виртуализация на уровне операционной системы (то
есть НЕ аппаратная), за которую отвечает ядро
операционной системы. Одной из характерных черт такого
подхода является использование всеми контейнерами
общего ядра, того же, что и у хостовой операционной
системы (то есть той, в которой размещены контейнеры).
Это позволяет избавиться от накладных расходов на
эмуляцию виртуального оборудования и запуска
полноценного экземпляра операционной системы. Можно
сказать, что это "легковесная" виртуализация.
8. Использование Docker контейнеров
Container
php-fpm
Database VM
Distributed version control system VM
LoadBalancer VM Mail VM
Internet
Container apache
Container
memcached
Container
php-fpm
Container apache
Container
memcached
Dev environment Stage environment
Dev/Stage VM
Containers php-fpm
Apache Containers
Container
memcached
Database VM
Production VM
Prod environment
9. Инструменты CI/CD
Непрерывная интеграция позволяет разработчикам
получать немедленный отчет при обнаружении дефекта в
коде и быстро его исправлять. На рынке доступно
множество инструментов для непрерывной интеграции,
таких как Jenkins, Travis CI, TeamCity, Circle CI, Gitlab CI у
каждого — свои особенности и функции.
Система управления версиями (Version Control System, VCS)
— это программное обеспечение для облегчения работы
с изменяющейся информацией. Система управления
версиями позволяет хранить несколько версий одного
и того же документа, при необходимости возвращаться
к более ранним версиям, определять, кто и когда сделал
то или иное изменение, и многое другое. Такие системы
наиболее широко используются при разработке
программного обеспечения для хранения исходных кодов
разрабатываемой программы. Некоторые из них Bitbucket,
Git, GitHub