Всем привет! Это разработческий канал от сотрудников 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 (новости)
Чтобы совместить два тега — введите оба в поисковую строку канала.
Каждую неделю один из сотрудников компании рассказывает о своих задачах, сложностях, решениях, делится полезными ссылками и мыслями на тему разработки.
Стремимся применять современные языки и новые подходы в разработке, ценим качественную работу, любим сложные задачи и открыты к критике, если вы тоже — мы на одной волне. :)
В компании занимаемся двумя направлениями:
- Разработкой сложных продуктов, сервисов для сотен тысяч пользователей для ведущих финтех-, телеком-, 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
Уверен, многие в разные моменты своей жизни сталкивались с мыслью:
«Я сделал свою задачу, написал рабочий код. А потом высшие силы переместили его на сервер».
Зачастую этой проблемой занимается DevOps в вашей команде, а вы не имеете возможности (или просто не хотите) погрузиться в эту магию.
В последующих постах я не буду останавливаться на конкретных способах написания каких-либо CI/CD пайплайнов (это тема для целой статьи), но я хочу вас познакомить с одним из самых интересных и удобных подходов описания конечной инфраструктуры системы, чтобы приоткрыть немного завесу этой магии.
#rdclr_DevOps
👍8❤3
Концепция: IaC
Для начала, дабы не оставлять пробелов в теме поставки решений на сервер, одним предложением скажу, что происходит.
Для удобства ведения повествования представим, что мы пишем java-проект, на микросервисной архитектуре и хотим его положить в Kubernetes.
Зачастую DevOps пишет пайплайн, в котором сначала ваш код билдится в исполняемый файл, потом оборачивается в Docker image и сохраняется в registry. (Это классический пайплайн, но, естестественно, в зависимости от разных факторов он может выглядеть совершенно иначе)
Что же происходит после всего этого?
🧳 Есть разные решения этого способа поставки, но я хочу остановиться на концепции IaC (Infrastructure-as-Code).
Из названия понятно только то, что мы можем как-то кодом описать инфраструктуру. По факту это и есть самое большое преимущество данной концепции:
🧦 описывая инфраструктуру кодом, мы можем заливать этот код в репозитории и иметь версионирование всей инфраструктуры;
🧤 т.к. это код, мы можем выделить повторяющиеся участки кода и переиспользовать их, кастомизируя параметрами;
🧣 будучи разработчиком, научиться подобному языку не составит большого труда.
Следующим постом я хочу познакомить вас с одной из реализаций данного подхода — Terraform. А еще рассказать о самом большом преимуществе концепции IaC
#rdclr_DevOps
Для начала, дабы не оставлять пробелов в теме поставки решений на сервер, одним предложением скажу, что происходит.
Для удобства ведения повествования представим, что мы пишем java-проект, на микросервисной архитектуре и хотим его положить в Kubernetes.
Зачастую DevOps пишет пайплайн, в котором сначала ваш код билдится в исполняемый файл, потом оборачивается в Docker image и сохраняется в registry. (Это классический пайплайн, но, естестественно, в зависимости от разных факторов он может выглядеть совершенно иначе)
Что же происходит после всего этого?
🧳 Есть разные решения этого способа поставки, но я хочу остановиться на концепции IaC (Infrastructure-as-Code).
Из названия понятно только то, что мы можем как-то кодом описать инфраструктуру. По факту это и есть самое большое преимущество данной концепции:
🧦 описывая инфраструктуру кодом, мы можем заливать этот код в репозитории и иметь версионирование всей инфраструктуры;
🧤 т.к. это код, мы можем выделить повторяющиеся участки кода и переиспользовать их, кастомизируя параметрами;
🧣 будучи разработчиком, научиться подобному языку не составит большого труда.
Следующим постом я хочу познакомить вас с одной из реализаций данного подхода — Terraform. А еще рассказать о самом большом преимуществе концепции IaC
#rdclr_DevOps
👍6❤1
Реализация IaC: Terraform
Terraform — это детище компании Hashicorp для декларативного управления инфраструктурой проекта.
Он предоставляет нам полный контроль над каждым элементом инфраструктуры в одном проекте. Дает возможность параметризировать всю инфраструктуру.
Это значит, что если нам нужно поднять клон нашей инфраструктуры — мы это делаем всего лишь заменой пары параметров (в том числе их можно передать на уровне пайплайна).
Ознакомиться с данным чудом можно на сайте Terraform.
💥 Одно из преимуществ использования Terraform — его универсальность.
Для разворачивания инфры в разных системах используются сущности provider. Это своего рода API для работы с системой.
Подобная фича позволяет нам писать однотипный код для развретки приложения в разных системах: K8S, AWS, GCP и тд.
✨ Более того, у terrafrom есть провайдеры для настройки различных систем (keycloak, Grafana и тд).
В нотации Terrafrom все, что вы описываете называется ресурсом, и это могут быть пользователи в каком-нибудь keycloak'e или же микросервис в K8S. А может и DynamoDB в AWS.
Комьюнити активно живет и развивается. Каждый провайдер и ресурс тщательно документируются. 👬
Если вы начали интересоваться подобными активностями, либо занимаетесь этим прямо сейчас, рекомендую ознакомиться более предметно с этой технологией.
#rdclr_DevOps
Terraform — это детище компании Hashicorp для декларативного управления инфраструктурой проекта.
Он предоставляет нам полный контроль над каждым элементом инфраструктуры в одном проекте. Дает возможность параметризировать всю инфраструктуру.
Это значит, что если нам нужно поднять клон нашей инфраструктуры — мы это делаем всего лишь заменой пары параметров (в том числе их можно передать на уровне пайплайна).
Ознакомиться с данным чудом можно на сайте Terraform.
💥 Одно из преимуществ использования Terraform — его универсальность.
Для разворачивания инфры в разных системах используются сущности provider. Это своего рода API для работы с системой.
Подобная фича позволяет нам писать однотипный код для развретки приложения в разных системах: K8S, AWS, GCP и тд.
✨ Более того, у terrafrom есть провайдеры для настройки различных систем (keycloak, Grafana и тд).
В нотации Terrafrom все, что вы описываете называется ресурсом, и это могут быть пользователи в каком-нибудь keycloak'e или же микросервис в K8S. А может и DynamoDB в AWS.
Комьюнити активно живет и развивается. Каждый провайдер и ресурс тщательно документируются. 👬
Если вы начали интересоваться подобными активностями, либо занимаетесь этим прямо сейчас, рекомендую ознакомиться более предметно с этой технологией.
#rdclr_DevOps
👍5❤2