Всем привет!
Я просто хотел поделиться своим путешествием от работы в построении и выпуске профиля и переключения в DevOps.
В мои первые несколько лет моей профессиональной карьеры я работал в создании и выпуске профиля инженера. Включены инструменты и технологии были
SCM: IBM Rational ClearCase Управление задач: IBM Rational Clearquest CI Инструмент: IBM Rational BuildForge Tools: Ant Операционная система: IBM AIX, Windows Server 2012
Вы можете представить, что эти IBM Rational Tools были популярны ранее. Но уже новые инструменты с открытым исходным кодом начались популярны, а инструменты, такие как Jenkins, Git Etc, широко приняты.
Поэтому нужно было начать работать над новыми возрастными инструментами, а не придерживаться старых. На самом деле это важно для этого профессионала.
Итак, давайте посмотрим, что нужно, чтобы прыгать в пространство DevOps …
Изучение Git.
Управление исходным кодом очень важно для управления кодом проекта. Также это заботится о версиях, истории и слиянии кода разных разработчиков. Понимание концепций, используя основные команды, создание репозиториев и совершения изменений ..
git clone #clone existing repository git pull #get changes from remote git init #initialise current directory git branch #current branch you are in and work with branches git status #current status of repo git config #config git git add #stage the changes git commit #commit the changes locally git push #push the changes to remote repo git log #see commit history of a repo
Также понимание управления GIT филиала важно, и он отличается от одного орг на другую Орг.
master branch # contains production code release branches # contains the individual release changes features/bugfix branches # contains new feature/prod fix change
Изучение языка программирования
У меня были знания Java для создания веб-приложения. Также Python, кажется, хорош подходит для любой автоматизации, которую мы делаем в пространстве DevOps, кроме знания сценариев Shell.
Исследуя современные инструменты CI/CD
Я только что исследовал jenkins.io, чтобы настроить jenkins в контейнере докера и играть с ним. Jenkins — самые популярные инструменты CI в настоящее время, хотя на рынке есть тонны других инструментов, как Circleci, Traviesci, Teamcity, Gitlabci, Droneci и т. Д.
Вы можете использовать Официальный документ Jenkins Offiant Docker для запуска сервера Jenkins, как указано в документации
Также Jenkins также можно использовать в качестве инструмента CD.
Но вы также можете узнать другой инструмент CD, если хотите .. GOCD, Spinnaker, жгут и т. Д.
Исследуя Linux и сетевые основы
Идеально знание на Linux очень требуется для создания успешной карьеры в DevOps.
- Процесс загрузки Linux.
- Управляющие системные услуги
- Установка серверов веб/приложений и других программных памятников
- Основные команды (найти, SED, LSOF, AWK, PS, TOP, FREE, NETSTAT ETC)
- Понять файловую систему Linux
- Скрипты оболочки
- исправление проблем
Основы сетей
- TCP/IP сетевые основы
- SSH, SCP, SFTP
- Http, ssl, tls, dns
- nslookup, host, netstat, копать, traceroute, ping
Исследующие контейнеры и инструменты оркестрации
Контейнеры широко используются, поскольку его создание и знания на контейнерах очень важны. Контейнеры делают здание и доставку программным обеспечением очень легко. Это очень легкий. Docker — самый популярный контейнер.
Когда мы используем контейнеры в производстве, необходимо развернуть сотни контейнеров. Управляя им вручную очень сложно. Инструменты Orchestration помогают автоматически управлять этим и предоставляют открытие сервиса, самовосстановления, функции автоматического масштабирования.
Kubernetes — популярный инструмент для оркестрации контейнеров, и он широко используется в этой эпоху микросервисов.
Исследуя общественное облако
AWS — лучший выбор, чтобы начать работу, а также предоставляет 1-летний свободный уровень, который достаточно для изучения основных концепций и для выполнения практики. Обязательно прекратите ресурсы, как только вы закончите практиковать.
Основы для изучения
- Вычислить: EC2, AMIS, ASG, шаблоны запуска
- Хранение: EBS, EFS, S3 etc
- Сеть/Безопасность: VPC, Подсеть, Manuction53, LB, Группы безопасности, ACLS
Вышеуказанные основные концепции почти в других облаках, а также мало или без разницы. Azure, GCP и OracleCloud также некоторые другие популярные облачные провайдеры.
Изучение инструмента о предоставлении инфраструктуры
Террафом был первой инфраструктурой инструмента по обеспечению или инфраструктуру, как я узнал код, который я узнал.
Сценарии Terraporm записываются с помощью HCl (язык конфигурации Hashicorp)
Структура базового проекта террафора ..
main.tf - main file to create some resources someresource.tf - apart from main.tf you can also organize resource creation in other tf files variables.tf - declare variables used in other tf files outputs.tf - Display output such as created instance IP, LoadBalancer name etc
Некоторые важные команды
terraform init # used to initialise a working directory terraform plan # create a plan terraform apply # Apply the plan, creates the desired resources terraform destroy # Destroy the resources terraform refresh # refreshes local state with current resource status terraform workspace list/select # List and select the correct workspace
Вы также можете изучить облачность, если вы используете AWS в качестве облачного провайдера. Но Terraform является более универсальным инструментом, и вы можете использовать его в любых других облачных поставщиков, а также в будущем.
Изучение инструмента управления конфигурацией:
Первый инструмент управления конфигурацией, который я узнал, был шеф-повар. Шеф-повар Infra автоматизирует, как инфраструктура развернута, настроена и поддерживается ..
Вы создадите кулинарные книги из рабочей станции шеф-повара и загрузите ее на проверку сервера. Клиент шеф-повара установлен все узлы, которые необходимо управлять шеф-поваром, и он настраивает узлы в желаемое состояние.
Но многое изменилось, так как я остановился с помощью шеф-повара.
Ansible также другие популярные инструменты в области автоматизации управления конфигурацией.
У неисправности нет центрального сервера, но PlayBooks управляются в машинах управления (клиентские машины), и изменения нажаты на целевые серверы. Также мы можем сделать развертывание приложения, используя Anbible. Они предоставляют нулевые функции развертывания простоя, и вы можете настроить развертывание в соответствии с требованиями.
Исследующие инструменты мониторинга
Я также узнал о комбинации Telegraf, IncutuxDB и Grafana, который облегчает мониторинг инфраструктуры.
- Telegraf: Binary Вы можете установить в каждом из узлов, чтобы захватить метрики и настроить его, чтобы отправить их на INTOUXDB
- Приключите: DB Time-Series, которая хранит эти метрики
- Grafana: показывает метрики визуально через приятные панели
Вы также можете исследовать галочку, стек лося для мониторинга ..
Это просто обзор того, какие основы должны узнать о DEVOPS. Но понимание дежопа также важно не только инструменты.
Я собираюсь поделиться больше на каждой из тем, упомянутых выше, и поделитесь своим путешествием по пути в ближайшие дни.
Не забудьте Следуй за мной в Twitter Находятся
Спасибо,
Оригинал: «https://dev.to/prasanna/shifting-to-devops-from-build-and-release-background-3e8f»