RDCLR.DEV
600 subscribers
122 photos
4 videos
81 links
Про разработку от команды Red Collar
redcollar.ru

Основной канал Red Collar @rdclr_home
Download Telegram
Всем привет! Это разработческий канал от сотрудников Red Collar.
Каждую неделю один из сотрудников компании рассказывает о своих задачах, сложностях, решениях, делится полезными ссылками и мыслями на тему разработки.

Стремимся применять современные языки и новые подходы в разработке, ценим качественную работу, любим сложные задачи и открыты к критике, если вы тоже — мы на одной волне. :)

В компании занимаемся двумя направлениями:
- Разработкой сложных продуктов, сервисов для сотен тысяч пользователей для ведущих финтех-, телеком-, IT-, HoReCa- и логистических компаний.
- Созданием эстетичных корпоративных и промосайтов, которые становятся лучшими в своей сфере и берут самые сложные международные награды.

По тегам можно найти темы:
#rdclr_frontend#Vanilla_JS #JavaScript #React #WebGL

#rdclr_backend#Java #Python #PHP #NN

#rdclr_DevOps

#rdclr_QA

#product (мысли, применимые к сервисно-продуктовым историям)
#aesthetic (про эстетичность интерфейсов) #teamlead — про роль, практики и рост в тим-лида
#optimization (про оптимизацию кода для скорости и плавности работы проекта) и #library (набор инструментов для упрощения жизни разработчика)
#read (полезные ссылки для изучения нового материала)
#meme (на посмеяться) и #news (новости)

Чтобы совместить два тега — введите оба в поисковую строку канала.
Сегодня мы пойдем по стезе DevOps. 🍩
Уверен, многие в разные моменты своей жизни сталкивались с мыслью:
«Я сделал свою задачу, написал рабочий код. А потом высшие силы переместили его на сервер».

Зачастую этой проблемой занимается DevOps в вашей команде, а вы не имеете возможности (или просто не хотите) погрузиться в эту магию.

В последующих постах я не буду останавливаться на конкретных способах написания каких-либо CI/CD пайплайнов (это тема для целой статьи), но я хочу вас познакомить с одним из самых интересных и удобных подходов описания конечной инфраструктуры системы, чтобы приоткрыть немного завесу этой магии.
#rdclr_DevOps
👍83
Концепция: IaC

Для начала, дабы не оставлять пробелов в теме поставки решений на сервер, одним предложением скажу, что происходит.

Для удобства ведения повествования представим, что мы пишем java-проект, на микросервисной архитектуре и хотим его положить в Kubernetes.

Зачастую DevOps пишет пайплайн, в котором сначала ваш код билдится в исполняемый файл, потом оборачивается в Docker image и сохраняется в registry. (Это классический пайплайн, но, естестественно, в зависимости от разных факторов он может выглядеть совершенно иначе)

Что же происходит после всего этого?

🧳 Есть разные решения этого способа поставки, но я хочу остановиться на концепции IaC (Infrastructure-as-Code).

Из названия понятно только то, что мы можем как-то кодом описать инфраструктуру. По факту это и есть самое большое преимущество данной концепции:
🧦 описывая инфраструктуру кодом, мы можем заливать этот код в репозитории и иметь версионирование всей инфраструктуры;
🧤 т.к. это код, мы можем выделить повторяющиеся участки кода и переиспользовать их, кастомизируя параметрами;
🧣 будучи разработчиком, научиться подобному языку не составит большого труда.

Следующим постом я хочу познакомить вас с одной из реализаций данного подхода — Terraform. А еще рассказать о самом большом преимуществе концепции IaC
#rdclr_DevOps
👍61
Реализация IaC: Terraform

Terraform — это детище компании Hashicorp для декларативного управления инфраструктурой проекта.
Он предоставляет нам полный контроль над каждым элементом инфраструктуры в одном проекте. Дает возможность параметризировать всю инфраструктуру.

Это значит, что если нам нужно поднять клон нашей инфраструктуры — мы это делаем всего лишь заменой пары параметров (в том числе их можно передать на уровне пайплайна).
Ознакомиться с данным чудом можно на сайте Terraform.

💥 Одно из преимуществ использования Terraform — его универсальность.
Для разворачивания инфры в разных системах используются сущности provider. Это своего рода API для работы с системой.
Подобная фича позволяет нам писать однотипный код для развретки приложения в разных системах: K8S, AWS, GCP и тд.

Более того, у terrafrom есть провайдеры для настройки различных систем (keycloak, Grafana и тд).

В нотации Terrafrom все, что вы описываете называется ресурсом, и это могут быть пользователи в каком-нибудь keycloak'e или же микросервис в K8S. А может и DynamoDB в AWS.
Комьюнити активно живет и развивается. Каждый провайдер и ресурс тщательно документируются. 👬

Если вы начали интересоваться подобными активностями, либо занимаетесь этим прямо сейчас, рекомендую ознакомиться более предметно с этой технологией.
#rdclr_DevOps
👍52
👍2😁21🔥1