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