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

    GitLab CI

    DevOps
    Implemented GitLab pipeline


  • 2000 USD

    Building and migrating infrastructure in AWS

    DevOps
    Project Description

    For a web project hosted on its own servers (on-premises), the task was to migrate the infrastructure to the cloud with the aim of automating processes, ensuring high availability (HA), and reducing infrastructure maintenance costs.

    What was accomplished:

    Design and approval of the new infrastructure: a detailed infrastructure plan was developed and approved with the client.

    Cost optimization: the cost of using the cloud platform was calculated and optimized.

    Infrastructure as Code: the infrastructure was described using Terraform.

    Immutable servers: a strategy for creating immutable servers was implemented using Packer.

    Performance testing: load testing was conducted to assess performance and identify bottlenecks.

    Step-by-step migration of services: a phased transfer of services was completed.

    Compliance with security requirements: the infrastructure was built in accordance with security policies and the requirements of the cloud platform.

    Monitoring and alerts: monitoring and a notification system were set up for all critical components.

    Backup and recovery: backup and disaster recovery strategies were implemented.

    Final testing and documentation: final testing was conducted and all processes were documented.

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


  • 1000 USD

    Setup and implementation of the monitoring stack (Icinga, Prometheus)

    DevOps
    Task:

    For one of the projects, it was necessary to deploy a monitoring stack. The client required monitoring of services and a notification system based on Nagios. Additionally, Prometheus and Grafana were needed to track SLO/SLI and individual services.

    How I implemented it:

    Instead of Nagios, I recommended using Icinga due to its more powerful API and user-friendly dashboard. Furthermore, Icinga is better suited for scaling and implementing high availability. The Icinga server was initially configured with scalability in mind. I grouped all services and set up detailed metrics and notifications for the staff.

    To collect extended metrics for individual services, Prometheus was used. VictoriaMetrics was employed as the metrics storage due to its high performance and extensive scaling capabilities. A distributed cluster of VictoriaMetrics was deployed for the client.

    SLI and alerts for SLO violations were configured for critical services. Grafana was used for convenient visualization of graphs.

    #grafana #prometheus #icinga2


  • Server Management

    DevOps
    Installation and setup under any project.
    The full management.


  • 25 USD

    Terrafrom AWS EKS Kubernetes Cluster

    DevOps
    Building a fault-tolerant, high available, scalable and secure AWS Cloud infrastructure and Kubernetes cluster using Terrafrom IaC


  • Deploying Spring PetClinic Application using Vagrant

    DevOps
    Create 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 ansible 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 automatically.
    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 (preferably 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


  • 25 USD

    Setup of DevSecOps CI/CD

    DevOps
    Setting up Secure CI/CD through the GitLab CI. Cost per hour