Начнем с того, что такое деплой.
Деплой (deploy) - это процесс развертывания на сервере приложения.
Его можно разбить на несколько этапов:
1. Подготовка окружения. Настройка облачного или локального сервера, установка всех необходимых библиотек и фреймворков.
2. Настройка бд. Создание структуры таблиц, настройка связей и начальных данных, а также прав для доступа.
3. Сборка приложения. Компиляция кода и подготовка его к запуску. Также сюда можно отнести и настройку процесса обновления кода из git.
4. Тестирование. Включение юнит и интергационных тестов. А также тестирование UI.
5. Деплой. Развертыванин приложения. Обычно настраивают так, чтобы это происходило автоматизированно ( CI/CD)
6. Мониторинг и поддержка. Для отслеживания работы приложения и поиска проблем есть различные инструменты (например Grafana)
7. Обратная связь и интеграции. Получение обратной связи от пользователей позволяет оперативно реагировать на проблемы использования продукта и вносить вовремя улучшения.
Деплой (deploy) - это процесс развертывания на сервере приложения.
Его можно разбить на несколько этапов:
1. Подготовка окружения. Настройка облачного или локального сервера, установка всех необходимых библиотек и фреймворков.
2. Настройка бд. Создание структуры таблиц, настройка связей и начальных данных, а также прав для доступа.
3. Сборка приложения. Компиляция кода и подготовка его к запуску. Также сюда можно отнести и настройку процесса обновления кода из git.
4. Тестирование. Включение юнит и интергационных тестов. А также тестирование UI.
5. Деплой. Развертыванин приложения. Обычно настраивают так, чтобы это происходило автоматизированно ( CI/CD)
6. Мониторинг и поддержка. Для отслеживания работы приложения и поиска проблем есть различные инструменты (например Grafana)
7. Обратная связь и интеграции. Получение обратной связи от пользователей позволяет оперативно реагировать на проблемы использования продукта и вносить вовремя улучшения.
👍9❤🔥4💋1
▎Реализации первого этапа
При реализации первого этапа я столкнулся с важным выбором: развернуть сервер локально или воспользоваться облачными решениями.
Сначала я подумал о локальном сервере. Однако, у этого варианта есть несколько нюансов:
1. Непрерывная работа: Мне нужен был компьютер, который работал бы нон-стоп.
2. Безопасность данных: Необходимо было обеспечить защиту данных (репликация, фаервол и другие меры безопасности).
3. Удалённый доступ: Потребовался бы статический IP-адрес для постоянного доступа к машине.
После размышлений я понял, что это слишком много геморроя. Поэтому решил поискать варианты в интернете, что-то вроде хостинга. Однако стандартные варианты хостинга для сайтов не подходили, поскольку мне нужно было развернуть целое приложение на микросервисах с использованием Kubernetes и Jenkins (об этом мы поговорим позже).
Хотя облачные решения предлагают такие возможности, цены на них были довольно высокими. А мне нужно было что-то бесплатное! 😁 Кроме того, я хотел сам поковырять весь процесс DevOps.
В итоге мой выбор пал на VPS (Virtual Private Server). Это ресурсы ПК, предоставляемые провайдером хостинга через интернет, обычно с установленной ОС (в нашем случае Linux Server) и статическим IP-адресом.
После долгих поисков я наткнулся на облачное решение от Сбера — их "Free Tier". У него были неплохие стартовые ресурсы:
• Количество vCPU: 2
• Объем RAM: 4 ГБ
• Диск NVMe: 30 ГБ
Это выглядело очень привлекательно. Единственным минусом оказалось то, что за статический IP-адрес пришлось заплатить около 150 рублей в месяц. Но это копейки по сравнению с тем, что предлагали другие компании за аналогичные ресурсы.
Я выкупил эту услугу, настроил сервер и установил MicroK8s (позже расскажу, почему выбрал его вместо стандартного Kubernetes). Потребовалось немало усилий, чтобы настроить графический интерфейс для Kubernetes и обеспечить удалённый доступ.
Но вскоре я узнал, что если я не буду постоянно оплачивать статический IP, все мои данные удалят спустя месяц.
После этой информации я решил плюнуть на VPS — не хочу зависеть от других! Вернусь к плану А и разверну свой сервер локально. И понеслась...
Но это уже другая история! Продолжение следует...
При реализации первого этапа я столкнулся с важным выбором: развернуть сервер локально или воспользоваться облачными решениями.
Сначала я подумал о локальном сервере. Однако, у этого варианта есть несколько нюансов:
1. Непрерывная работа: Мне нужен был компьютер, который работал бы нон-стоп.
2. Безопасность данных: Необходимо было обеспечить защиту данных (репликация, фаервол и другие меры безопасности).
3. Удалённый доступ: Потребовался бы статический IP-адрес для постоянного доступа к машине.
После размышлений я понял, что это слишком много геморроя. Поэтому решил поискать варианты в интернете, что-то вроде хостинга. Однако стандартные варианты хостинга для сайтов не подходили, поскольку мне нужно было развернуть целое приложение на микросервисах с использованием Kubernetes и Jenkins (об этом мы поговорим позже).
Хотя облачные решения предлагают такие возможности, цены на них были довольно высокими. А мне нужно было что-то бесплатное! 😁 Кроме того, я хотел сам поковырять весь процесс DevOps.
В итоге мой выбор пал на VPS (Virtual Private Server). Это ресурсы ПК, предоставляемые провайдером хостинга через интернет, обычно с установленной ОС (в нашем случае Linux Server) и статическим IP-адресом.
После долгих поисков я наткнулся на облачное решение от Сбера — их "Free Tier". У него были неплохие стартовые ресурсы:
• Количество vCPU: 2
• Объем RAM: 4 ГБ
• Диск NVMe: 30 ГБ
Это выглядело очень привлекательно. Единственным минусом оказалось то, что за статический IP-адрес пришлось заплатить около 150 рублей в месяц. Но это копейки по сравнению с тем, что предлагали другие компании за аналогичные ресурсы.
Я выкупил эту услугу, настроил сервер и установил MicroK8s (позже расскажу, почему выбрал его вместо стандартного Kubernetes). Потребовалось немало усилий, чтобы настроить графический интерфейс для Kubernetes и обеспечить удалённый доступ.
Но вскоре я узнал, что если я не буду постоянно оплачивать статический IP, все мои данные удалят спустя месяц.
После этой информации я решил плюнуть на VPS — не хочу зависеть от других! Вернусь к плану А и разверну свой сервер локально. И понеслась...
Но это уже другая история! Продолжение следует...
🔥13❤1