Теги Git против тегов AWS: шоу тегов!

Добро пожаловать на окончательное противостояние между Git Tags и AWS Tags, двумя соперниками, у которых нет ничего общего, кроме любви к слову “tag“. Давайте посадим их лицом к лицу и посмотрим, кто победит в схватке путаницы и полезности!

Раунд 1: Кто они

Git Tags

Историки программного мира. Им не важно настоящее; они просто любят закладывать важные события (например, релизы), чтобы вы могли вернуться в прошлое. Думайте о них как о вашем машина времени для контроля версий — без риска столкнуться с вашими прошлыми ошибками в коде… о, подождите. Удачи в отладке v1.0.0-final-final-definitely-final-this-time!

AWS Tags

Чрезмерно организованный офисный менеджер, который хочет видеть ярлыки на всем, начиная с ваших экземпляров EC2, ведер S3 и даже этой забытой функции Лямбда, которая стоит вам $500 в месяц. AWS Tags — как тот друг, который разукрашивает всю свою жизнь цветами… за исключением случаев, когда он забывает, и теперь никто не понимает, что означает что.

Раунд 2: Что они делают

Git Tags

  • Помогают вам отмечать важные коммиты (например, v1.0.0, production-release)
  • Используются для версионирования программных релизов
  • Могут быть легковесными (просто ярлык) или аннотированными (ярлык с уроком истории)
  • После отправки они как неловкий твит — сложно удалить! (Вы пожалеете.)

AWS Tags

  • Помогаем вам добавить пары ключ-значение к ресурсам AWS (Среда: Продакшн, Владелец: Рам)
  • Используется для отслеживания затрат, организации и соблюдения правил
  • Может быть обязательным (если ваш босс так скажет) или опциональным (если вам лень)
  • Легко изменить, в отличие от вашего ежемесячного счета AWS (который более непредсказуем, чем поворот сюжета в ограблении миллионов)

Раунд 3: Реакции в реальной жизни

Пользователь Git Tag

“Я только что пометил свой релиз! Ой, подождите, мне нужно переименовать его. О, нет… О, нет… О, НЕТ.” (Спойлер: переименование тега сложнее, чем переименовать своего питомца после трех лет.)

Пользователь AWS Tag

“Кто пометил этот экземпляр EC2 тегом ‘Удалить меня’?! Подождите… куда пропал мой EC2?!” (Настоящий фильм ужасов: счета AWS и случайные удаления.)

Раунд 4: Что произойдет, если их игнорировать?

Игнорирование Git Tags

  • Ваши релизы – загадка. Была ли v1.2 до или после fix-bug-final-final2?
  • Отладка продукции превращается в парадокс путешествия во времени.
  • Ваша команда DevOps/Release Engineering задает себе вопросы о своем выборе профессии и рассматривает переезд в зону без интернета.

Игнорирование AWS Tags

  • Ваша команда FinOps плачет, когда видит счет AWS (и вы тоже).
  • Никто не знает, какие экземпляры – тестовые среды, а какие Продакшн.
  • Вы случайно завершаете любимую панель приборов генерального директора. Ой!!! (Пора обновить свое резюме!)

Раунд 5: Как тегировать оба

Git Теги

  • Используйте git tag v1.0.0 для создания легковесного тега.
  • Используйте git tag -a v1.0.0 -m "Выпуск версии 1.0" для создания аннотированного тега.
  • Отправьте его с помощью git push origin v1.0.0.
  • Вы случайно тегировали неправильный коммит? Поздравляю, вас ждет приключение!
    • Используйте git tag -d v1.0.0 (если локально) и
    • git push --delete origin v1.0.0 (если удаленно), чтобы отменить хаос.
  • Вам надоело удалять теги из 1000000 репозиториев, а затем использовать вашу автоматизацию (простой скрипт в Jenkins может помочь вам сэкономить много времени и сохранить душевное спокойствие)

Теги AWS

  • Используйте AWS CLI: aws ec2 create-tags --resources i-1234567890abcdef0 --tags Key=Environment,Value=Production.
  • В консоли AWS перейдите к любому ресурсу (например, EC2 или S3) и вручную добавьте пары ключ-значение на вкладке «Теги».
  • Автоматизируйте политику тегирования с помощью AWS организаций и обеспечивайте их выполнение как повелитель тегирования.
  • Забыли тегировать свои ресурсы? Ваш счет в AWS напомнит вам об этом. Больно.

Раунд 6: Продвинутые техники тегирования

Продвинутое тегирование Git

  • Список всех тегов: git tag -l
  • Отметить определенный коммит: git tag -a v2.0.0 <хэш-коммита> -m "Релиз версии 2.0"
  • Проверить подписанную метку: git tag -v v1.0.0
  • Переместить метку на другой коммит: git tag -f v1.0.0 <новый-хэш-коммита>
  • Поделиться всеми метками с удаленным репозиторием: git push --tags

Расширенное меткирование AWS

  • Перечислить все метки для ресурса: aws resourcegroupstaggingapi get-resources --tag-filters Key=Environment,Values=Production
  • Меткировать несколько ресурсов одновременно: aws ec2 create-tags --resources i-1234567890abcdef0 i-0987654321abcdef0 --tags Key=Project,Value=MyApp
  • Удалить метку: aws ec2 delete-tags --resources i-1234567890abcdef0 --tags Key=Environment
  • Используйте редактор меток AWS для массового меткирования в консоли AWS.
  • Реализуйте функции AWS Lambda для обеспечения соблюдения меток для всех ресурсов.

Раунд 7: Экзистенциальный кризис меток

  • В какой-то момент каждый инженер задается вопросом: важны ли метки? Ответ: да, — пока они имеют значение. Однажды вы просмотрите годы истории Git и зададитесь вопросом, почему кто-то пометил коммит как final-final-v2-fix-thatworks-for-sure-this-time. Или, может быть, вы обнаружите экземпляр EC2, помеченный как Production, и поймете, что никто не помнит, что он делает.
  • Тегирование – это как маркировка еды в офисном холодильнике. Важно для организации, но, к сожалению, часто полностью игнорируется. Все это веселье и игры до тех пор, пока вы ищете старую поставку или пытаетесь оправдать дорогостоящий счет AWS.
  • Поэтому относитесь к тегированию осторожно. Одна дополнительная метка сегодня может спасти вас от полномасштабного кризиса завтра. Или по крайней мере вызвать очень неловкий разговор с вашим менеджером.

Вердикт

Итак, кто побеждает? Ну, это единственное, что у них общее – любовь к слову “тег,” как уже упоминалось.

  • Если вы цените историческую точность и хорошо задокументированные релизы кода, то Git Tags – ваш лучший друг.
  • Если вы следите за тем, куда уходят ваши деньги (или хотя бы делаете вид), то теги AWS необходимы.

В любом случае, теги – недооцененные технические герои, пока не перестанут быть ими. Поэтому, когда вы добавляете тег к чему-либо, помните: одно неверное движение, и будущее будет очень смущено.

Счастливого тегирования!

Source:
https://dzone.com/articles/git-tags-vs-aws-tags-a-tag-tastic-showdown