DevOps
7-
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
-
Сервер менеджмент
DevOpsІнсталяція та установка під будь-яким проектом.
Повний менеджмент .
-
1108 UAH Terrafrom AWS EKS Kubernetes Cluster
DevOpsПобудова відмовостійкої, високодоступної, масштабованої та безпечної інфраструктури AWS Cloud та кластера Kubernetes з використанням Terrafrom IaC
-
Deploying Spring PetClinic Application using Vagrant
DevOpsCreate repository on Gitlab and commit all changes to your gitlab repository
Create a deployment script for the PetClinic application. Use Vagrant to automate the process of creating the infrastructure for the deployment with Virtualbox (preferably). As for provisioning you can choose to use bash, python or ansbile in any combination.
Subtask I - Infrastructure
… Describe two virtual machines using Vagrantfile for deployment of the application (codename APP_VM) and the database (codename DB_VM)
Preferably use private networking feature for easy VM communication
VMs should be either Centos or Ubuntu
If not using private networking then APP_VM should have port 8080 forwarded to host
Subtask II - Database
Use any provisioning script that you created to install MySQL and any dependency on DB_VM
Customize the mysql database to accept connections only from your vagrant private network subnet
Create a non root user and password (codename DB_USER and DB_PASS) in mysql. Use host environment variable to set these values and pass them to the Vagrantfile using ENV
Create a database in mysql (codename DB_NAME) and grant all privileges for the DB_USER to access the database
Subtask III - Application
Create a non root user (codename APP_USER) that will be used to run the application on APP_VM
Use any provisioner to install Java JDK, git and any dependency on APP_VM
Clone this repository to the working folder (codename PROJECT_DIR)
Use the Maven tool to run tests and package the application. For more info you can use this 5 minutes maven documentation. For convenience the project folder has Maven wrapper script (mvnw) that downloads and executes the required Maven binary automaticaly.
If testing and packaging is successful, then get the *.jar package from $PROJECT_DIR/target folder and place it in the APP_USER home folder (codename APP_DIR).
Set environment variables in APP_VM (preferable use the same environment variables passed from host machine using ENV as in DB_VM):
DB_HOST - IP of the DB_VM
DB_PORT - MySql port (default 3306)
DB_NAME - MySql database name
DB_USER - MySql user
DB_PASS - MySql user's password
Run the application with the APP_USER using the java -jar command
If everything is successful - you will see the PetClinic application on $APP_VM_IP:8080
-
1108 UAH Налаштування DevSecOps CI/CD
DevOpsНалаштування Secure CI/CD через систему GitLab. Вартість за годину