Sobes.tech
Junior

With which services have you worked and what tasks did you solve with their help?

sobes.tech AI

Answer from AI

Worked with:

  • Processes: Agile, Scrum, Kanban.
  • VCS: Git (GitHub, GitLab, Bitbucket).
    • Tasks: version control management, branching, merging, code review, CI/CD automation via webhooks.
  • CI/CD: Jenkins, GitLab-CI, GitHub Actions, TeamCity.
    • Tasks: build automation, testing, deployment, pipeline as code management.
  • Containerization: Docker, Podman.
    • Tasks: application isolation, environment standardization, image creation, orchestration (independently).
  • Container orchestration: Kubernetes, Docker Swarm (less active).
    • Tasks: deployment, auto-scaling, self-healing, service, configuration, and secret management.
  • Cloud platforms: AWS (EC2, S3, VPC, RDS, EKS, Lambda, CloudFormation), Azure (VMs, Storage Accounts, VNet, AKS, Azure Functions, ARM Templates), GCP (Compute Engine, Cloud Storage, VPC, GKE, Cloud Functions, Deployment Manager).
    • Tasks: infrastructure deployment and management, network, storage, database setup, serverless application deployment, automation via IaC.
  • IaC (Infrastructure as Code): Terraform, CloudFormation, ARM Templates.
    • Tasks: automated creation, update, and deletion of cloud infrastructure, infrastructure state management.
  • Moment: Ansible, Chef (basic), Puppet (basic).
    • Tasks: server configuration automation, application deployment on virtual machines.
  • Monitoring and logging: Prometheus, Grafana, ELK (Elasticsearch, Logstash, Kibana), Zabbix, Nagios.
    • Tasks: metric collection, data visualization, log analysis, alert setup.
  • Service meshes: Istio (basic).
    • Tasks: traffic management between microservices, security, monitoring.
  • Databases: PostgreSQL, MySQL, MongoDB, Redis.
    • Tasks: deployment, backup, recovery, basic administration.
  • Virtualization: VMware vSphere, VirtualBox.
    • Tasks: creating and managing virtual machines for local development and testing.
  • Scripting languages: Bash, Python, PowerShell.
    • Tasks: automating routine operations, scripting for CI/CD and administration.

An example task I handled was automating the deployment of a microservices application in Kubernetes on AWS using IaC and CI/CD.

  1. Infrastructure: Described VPC, subnets, EKS cluster, Security Groups using Terraform.
  2. CI/CD: Created a pipeline in GitLab-CI for building Docker images of microservices, uploading them to a registry (e.g., ECR), running unit and integration tests.
  3. Deployment: In the same pipeline, after successful tests, deploying new microservice versions in the EKS cluster using Helm or Kubernetes manifests.
  4. Monitoring: Set up metric collection from microservices with Prometheus and visualization in Grafana. Collected logs with Fluentd and sent them to ELK stack for analysis.
  5. Updates: Implemented deployment strategies (e.g., rolling update) to minimize downtime during updates.
# Example part of GitLab-CI pipeline for building Docker image
build_docker_image:
  stage: build
  image: docker:latest
  services:
    - docker:dind
  script:
    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA .
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
  only:
    - main

Comparison table of some CI/CD services:

Service Installation Type VCS Support Cloud Integration
Jenkins Self-hosted All major Through plugins
GitLab-CI Self-hosted/Cloud GitLab Built-in/Runners
GitHub Actions Cloud GitHub Built-in
TeamCity Self-hosted All major Through plugins

I used these services to build resilient, scalable, and automated software delivery systems.