Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
  • 800 UAH

    Гитлаб ЦИ

    DevOps
    Использование Gitlab трубопровода


  • 88 680 UAH

    Построение и миграция инфраструктуры в AWS

    DevOps
    Описание проекта

    Для веб-проекта, размещённого на собственных серверах (on-premises), стояла задача перенести инфраструктуру в облако с целью автоматизации процессов, обеспечения высокой доступности (HA) и снижения затрат на сопровождение инфраструктуры.

    Что было выполнено:

    Проектирование и согласование новой инфраструктуры: разработан детальный план инфраструктуры и утверждён с клиентом.

    Оптимизация затрат: рассчитана и оптимизирована стоимость использования облачной платформы.

    Infrastructure as Code: инфраструктура описана с использованием Terraform.

    Immutable-серверы: реализована стратегия создания неизменяемых серверов с помощью Packer.

    Тестирование производительности: проведено нагрузочное тестирование для оценки производительности и выявления узких мест.

    Пошаговая миграция сервисов: выполнен поэтапный перенос сервисов.

    Соблюдение требований безопасности: инфраструктура построена в соответствии с политиками безопасности и требованиями облачной платформы.

    Мониторинг и оповещения: настроен мониторинг и система уведомлений для всех критически важных компонентов.

    Резервное копирование и восстановление: реализованы стратегии резервного копирования и восстановления после сбоев.

    Финальное тестирование и документация: проведено итоговое тестирование и задокументированы все процессы.

    #Amazon #AWS #terraform #packer #IaC #ansible


  • 44 340 UAH

    Настройка и внедрение стека мониторинга (Icinga, Prometheus)

    DevOps
    Задача:

    Для одного из проектов было необходимо развернуть стек мониторинга. Клиенту требовался мониторинг сервисов и система уведомлений на базе Nagios. Кроме того, для отслеживания SLO/SLI и отдельных сервисов были необходимы Prometheus и Grafana.

    Как я это реализовал:

    Вместо Nagios я рекомендовал использовать Icinga благодаря более мощному API и удобной панели управления. Кроме того, Icinga лучше подходит для масштабирования и реализации высокой доступности. Сервер Icinga изначально был настроен с учётом масштабируемости. Я сгруппировал все сервисы и настроил детальные метрики и уведомления для персонала.

    Для сбора расширенных метрик по отдельным сервисам был использован Prometheus. В качестве хранилища метрик применялся VictoriaMetrics благодаря его высокой производительности и широким возможностям масштабирования. Для клиента был развернут распределённый кластер VictoriaMetrics.

    Для критически важных сервисов были настроены SLI и оповещения при нарушении SLO. Для удобной визуализации графиков использовалась Grafana.

    #grafana #prometheus #icinga2


  • Server Management

    DevOps
    Installation and setup under any project.
    Full management.


  • 1108 UAH

    Терраформ AWS EKS Kubernetes Кластер

    DevOps
    Построение отказоустойчивой, высокодоступной, масштабируемой и безопасной инфраструктуры AWS Cloud и кластера Kubernetes с использованием Terrafrom IaC


  • Развертывание приложения Spring PetClinic с использованием Vagrant

    DevOps
    Создайте репозиторий на Gitlab и зафиксируйте все изменения в вашем репозитории gitlab
    Создайте скрипт развертывания для приложения PetClinic. Используйте Vagrant для автоматизации процесса создания инфраструктуры для развертывания с помощью Virtualbox (предпочтительно). Для настройки вы можете выбрать использование bash, python или ansible в любом сочетании.

    Подзадача I - Инфраструктура
    Опишите две виртуальные машины, используя Vagrantfile для развертывания приложения (кодовое имя APP_VM) и базы данных (кодовое имя DB_VM)
    Предпочтительно использовать функцию частной сети для удобной связи между ВМ
    ВМ должны быть либо Centos, либо Ubuntu
    Если не используется частная сеть, то APP_VM должен иметь перенаправленный порт 8080 на хост
    Подзадача II - База данных
    Используйте любой скрипт настройки, который вы создали, для установки MySQL и любых зависимостей на DB_VM
    Настройте базу данных mysql для принятия соединений только из вашей подсети частной сети vagrant
    Создайте пользователя без прав root и пароль (кодовое имя DB_USER и DB_PASS) в mysql. Используйте переменные окружения хоста для установки этих значений и передайте их в Vagrantfile с помощью ENV
    Создайте базу данных в mysql (кодовое имя DB_NAME) и предоставьте все привилегии для DB_USER для доступа к базе данных
    Подзадача III - Приложение
    Создайте пользователя без прав root (кодовое имя APP_USER), который будет использоваться для запуска приложения на APP_VM
    Используйте любой провизионер для установки Java JDK, git и любых зависимостей на APP_VM
    Клонируйте этот репозиторий в рабочую папку (кодовое имя PROJECT_DIR)
    Используйте инструмент Maven для запуска тестов и упаковки приложения. Для получения дополнительной информации вы можете использовать эту 5-минутную документацию по maven. Для удобства в папке проекта есть скрипт обертки Maven (mvnw), который автоматически загружает и выполняет необходимый бинарный файл Maven.
    Если тестирование и упаковка прошли успешно, получите пакет *.jar из папки $PROJECT_DIR/target и поместите его в домашнюю папку APP_USER (кодовое имя APP_DIR).
    Установите переменные окружения в APP_VM (предпочтительно использовать те же переменные окружения, переданные с хост-машины с помощью ENV, как в DB_VM):
    DB_HOST - IP адрес DB_VM
    DB_PORT - порт MySql (по умолчанию 3306)
    DB_NAME - имя базы данных MySql
    DB_USER - пользователь MySql
    DB_PASS - пароль пользователя MySql
    Запустите приложение с APP_USER, используя команду java -jar
    Если все прошло успешно - вы увидите приложение PetClinic на $APP_VM_IP:8080


  • 1108 UAH

    Настройка DevSecOps CI/CD

    DevOps
    Настройка Secure CI/CD через систему GitLab. Стоимость за час