Sobes.tech
Junior

Қандай қызметтермен жұмыс істедіңіз және олардың көмегімен қандай тапсырмаларды шештіңіз?

sobes.tech AI

AI-дан жауап

Жұмыс істеген:

  • Процестер: Agile, Scrum, Kanban.
  • VCS: Git (GitHub, GitLab, Bitbucket).
    • Міндеттері: нұсқаны басқару, бұтақтау, біріктіру, кодты қарау, CI/CD автоматтандыру вебхуктар арқылы.
  • CI/CD: Jenkins, GitLab-CI, GitHub Actions, TeamCity.
    • Міндеттері: құрастыруды автоматтандыру, тестілеу, орналастыру, pipeline as code басқару.
  • Контейнеризация: Docker, Podman.
    • Міндеттері: қолданбаларды оқшаулау, орта стандарттау, суреттер жасау, оркестрация (өздігінен).
  • Контейнерлерді оркестрациялау: Kubernetes, Docker Swarm (аз белсенді).
    • Міндеттері: орналастыру, автоматты масштабтау, өзін-өзі қалпына келтіру, қызметтерді, конфигурацияларды және құпияларды басқару.
  • Бұлт платформалары: 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).
    • Міндеттері: инфрақұрылымды орналастыру және басқару, желілерді, сақтау орындарын, дерекқорларды орнату, серверсіз қолданбаларды орналастыру, IaC арқылы автоматтандыру.
  • IaC (Инфрақұрылым код ретінде): Terraform, CloudFormation, ARM Templates.
    • Міндеттері: бұлт инфрақұрылымын автоматты түрде құру, жаңарту және жою, инфрақұрылым күйін басқару.
  • Момент: Ansible, Chef (негізгі), Puppet (негізгі).
    • Міндеттері: серверлерді автоматтандырып баптау, виртуалды машиналарға қолданбаларды орналастыру.
  • Мониторинг және лог жүргізу: Prometheus, Grafana, ELK (Elasticsearch, Logstash, Kibana), Zabbix, Nagios.
    • Міндеттері: метрикаларды жинау, деректерді визуализациялау, логтарды талдау, ескертулерді баптау.
  • Қызметтік торлар: Istio (негізгі).
    • Міндеттері: микросервистер арасындағы трафикті басқару, қауіпсіздік, мониторинг.
  • Дерекқорлар: PostgreSQL, MySQL, MongoDB, Redis.
    • Міндеттері: орналастыру, резервтік көшіру, қалпына келтіру, негізгі әкімшілік.
  • Виртуализация: VMware vSphere, VirtualBox.
    • Міндеттері: жергілікті әзірлеу және тестілеу үшін виртуалды машиналарды құру және басқару.
  • Скрипт тілдері: Bash, Python, PowerShell.
    • Міндеттері: қайталанатын операцияларды автоматтандыру, CI/CD және әкімшілік үшін скрипттер жазу.

Мен шешкен міндеттердің мысалы — IaC және CI/CD пайдалана отырып, AWS-те Kubernetes-те микросервистік қолданбаны автоматтандырылған орналастыруды жүзеге асыру.

  1. Инфрақұрылым: Terraform көмегімен VPC, подсеталар, EKS кластері, қауіпсіздік топтарын сипаттау.
  2. CI/CD: GitLab-CI-де pipeline құру, микросервистердің Docker суреттерін құрастыру, оларды регистрге (мысалы, ECR) жүктеу, бірлік және интеграциялық тесттер жүргізу.
  3. Орналастыру: Сол pipeline-да, сәтті тесттерден кейін, Helm немесе Kubernetes манифесттері арқылы жаңа микросервистер нұсқаларын EKS кластеріне орналастыру.
  4. Мониторинг: Prometheus көмегімен микросервистердің метрикаларын жинау және Grafana-да көрсету. Логтарды Fluentd көмегімен жинап, ELK стекке жіберу.
  5. Жаңартулар: жаңартулар кезінде тоқтап қалуды азайту үшін (мысалы, rolling update) стратегияларын енгізу.
# Docker суретін құрастыру үшін GitLab-CI pipeline мысалы
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

Кейбір CI/CD қызметтерін салыстыру кестесі:

Қызмет Орнату түрі VCS қолдау Бұлтпен интеграция
Jenkins Өздігінен орналастыру Барлық негізгі Плагиндер арқылы
GitLab-CI Өздігінен орналастыру/Бұлт GitLab Құраушылар/Раннерлер
GitHub Actions Бұлт GitHub Құраушылар
TeamCity Өздігінен орналастыру Барлық негізгі Плагиндер арқылы

Мен бұл қызметтерді тұрақты, масштабталатын және автоматтандырылған бағдарламалық қамтамасыз ету жеткізу жүйелерін құру үшін қолдандым.