Как опубликовать лендинг (Landing Page) Деплой и секреты Devops. OpenOffice
В прошлых роликах Настя и Даня рассказали о том как сделать дизайн и верстку
а сегодня я расскажу о том как сделать так, чтобы лэндинг попал в интернет, т.е. о деплое и devops.
Сначала расскажу о нашей инфраструктуре, а потом покажу как у нас происходит деплой приложений.
Итак инфраструктура:
Для того, чтобы разместить лэндинг в интернет нужен сервер. А чтобы обеспечить отказоустойчивость на случай выхода из строя сервера - необходимо несколько серверов. Мы у себя организовали отказоустойчивый кластер из нескольких серверов.
Нашим кластером управляет kubernetes.
Kubernetes это фреймворк с открытым исходным кодом, предназначенный для оркестрации контейнеров. Он позволяет легко запускать, масштабировать и балансировать контейнеризированные приложения.
Как вы поняли сами лэндинги мы пулбикоем через docker контейнеры.
Docker дает возможность создавать изолированные окружения, что позволяет нам запускать лэндинг не зависимо от окружения самого сервера.
Мы постоянно прогрессируем и развиваемся, улучшаем технологии и средства разработки. С начала запуска первого лэндинга, до сегодняшнего дня мы улучшили очень многие аспекты и благодаря контейнерезации docker мы можем запускать все наши приложения не зависимо друг от друга на одних и тех же серверах.
Связка kubernetes и docker позволяют нам создать отказоустойчивый кластер. В случае выхода из строя одного из серверов - все контейнеры с приложениями распределяются среди работающих. Это занимает меньше минуты. Так же мы можем выделять особо важные приложения и запускать их сразу на всех машинах кластера, что вообще исключает простой этого приложения в случае поломки сервера.
И так, получив запрос от браузера клиента для открытия лэндинга - этот запрос принимает kubernetes, находит и отдает нужный контейнер из кластера. в роли load балансера, принимающим запросы у нас используется ingress контроллер. Именно он принимая на вход адрес сопоставляет его с запущенным контейнером (или несколькими контейнерами) и отдает его.
Сам docker контейнер у нас устроен следующим образом:
В зависимости от версии и необходимого функционала внутри для отдачи запросов запущен nginx или nodejs. Так же там находится сам скомпилированный код лэндинга, который мы верстали в одном из прошлых видео.
Сейчас я расскажу о том как код попадает в контейнер и каким образом происходит его доставка в кластер ( как бы начался деплой ).
Для хранения кода, его компиляции и доставки мы используем gitlab. Это свободный аналог github.
Одной из особенностей за которые нам понравился gitlab стала его встроенная система continuous integration или CI.
К слову мы используем подход инфраструктура как код. Это означает, что все настройки наших серверов и окружений находятся в репозиториях рядом с кодом самого приложения. Это позволяет нам иметь некий коммит в гите, после которого и код и инфраструктура точно собирается и работает как надо. Такие коммиты мы можем пометить тегами версий и быть уверенными, что эта версия всегда будет работать. Т.е. исключаются ситуации когда к примеру программист использует старые версии библиотек, а админ обновил их на новые и код перестает работать.
В корне проекта лежит специальный скрпипт на языке разметки yaml: .
В этом скрипте указываются этапы непрерывной интеграции. В нашем случае создание контейнера, деплой на тестовое окружение, деплой на продакшен, очистка.
На основании этого файла gitlab организует процесс Continuous integration.
Пойдем по порядку.
Вся цепочка интеграции у нас происходит с помощью утилиты dapp. Эта утилита позволяет создавать docker контейнеры и является связующим звеном между кодом, инфраструктурой, описанной кодом ( в нашем случае это Chef ) и Kubernetes ( через пакетный менеджер для kubernetes - helm ).
Как видим в первой фазе под названием build происходит создание контейнера на основе dappfile.
Это аналог dockerfile, только под утилиту dapp. В этом файле так же описываются стадии создания контейнера, но он немного более “прокачанный”. Тут можно указывать внешний контекст для монтирования каталогов, которые используются во время сборок, но исключаемых из конечного образа. Можно использовать сторонние инструмены на этапе сборки, но так же не включать их в финальный образ, поддерживается кэш, поддерживается chef, позволяющий настраивать системы в Docker-образах.
Все это как раз и позволяет значительно ускорить создание docker-образов.
Звоните и заказывайте прямо сейчас:
8(800)500-1444 Бесплатный звонок по России
----------------------------------------
Подписывайтесь на наш канал и ставьте лайки : )
----------------------------------------
Официальный сайт
----------------------------------------
1 view
275
69
7 months ago 00:07:10 1
Выводы Доктора Берга после двухнедельной карнивор-диеты 🙌
7 months ago 00:04:55 1
Не ешьте арахис и арахисовую пасту, пока не посмотрите это!🤐
7 months ago 00:08:47 1
Третий прорыв дамбы в Орске! Сегодня Историческое Наводнение в Оренбурге, вода прибывает
7 months ago 00:09:52 1
Дефицит этого витамина вызывает головокружение🙌
7 months ago 00:52:40 1
Сет Риггс - Николай Кузьмичев, урок № 2, звукоизвлечение в вокале, трель губами
7 months ago 00:08:05 1
Наводнение Саудовская Аравия! Вы не поверите, четыре стихии обрушились сегодня Апокалипсис в пустыне
7 months ago 00:29:42 1
Как Привлечь Инвестиции в Стартап Реалити Шоу💵 MinePlex Инвестируют в Музыкальный Стартап Beatland
7 months ago 00:49:40 1
Мастер-класс “Игровой подход в работе логопеда: как усилить эффективность занятий“
7 months ago 00:11:31 1
12 симптомов того, что желчный пузырь в опасности!😲
7 months ago 00:08:17 1
Прорыв дамбы в Орске город полностью под водой! Прорвало еще одну дамбу в Оренбургской области
7 months ago 00:03:48 1
Снимаем с себя порчу на волосы самостоятельно
7 months ago 00:06:16 1
Одуванчик – лучший сорняк, который заменит вам лекарства🔥📢
7 months ago 00:04:52 1
Как получим диплом. Новая версия. Норильский вариант
7 months ago 00:09:07 1
Прорыв дамбы в Орске! Наводнение в Оренбурге сегодня город Орск полностью под водой
7 months ago 00:10:09 1
Почему мы боимся признать ошибки? | Александр Соколов про лженауку
7 months ago 00:00:55 1
Пусть приятные дни складываются в счастливую жизнь! ДОБРОЕ УТРО, ХОРОШЕГО ДНЯ #музыкальнаяоткрытка
7 months ago 00:33:25 1
ВЕСЕННИЙ ПРИЗЫВ в РОССИИ: гребут МОСКВИЧЕЙ и МИГРАНТОВ 🔴 Такой НАГЛОСТИ еще НЕ БЫЛО
7 months ago 00:40:58 1
Антон Чехов Бабы Аудиокнига Онлайн Русская литература (книга чтение, школа)
7 months ago 00:28:06 1
Наводнение в регионах. Киев призвали отказаться от атак по НПЗ. ЕС снял санкции с Фридмана и Авена?
7 months ago 00:22:46 1
Указ о преступности выборов фальшивого пРезидента РФ Владимира Путина.
7 months ago 00:01:37 1
Мост обрушился вместе с легковым автомобилем и грузовиком в Смоленской области
7 months ago 00:17:10 1
СССР существует - Российская Федерация это признаёт. Официальные документы | Pravda GlazaRezhet
7 months ago 00:08:17 1
Порчу на волосы наводят часто
7 months ago 00:58:48 1
Новое время смерти и абсолютного порядка. Закон маятника. Почему в мире нет государств.