본문으로 건너뛰기

하이라이트

GitLab은 MLOps를 어떻게 최적화할까?

머신러닝(ML) 워크플로와 배포를 자동화하고 간소화하는 관행인 MLOps의 중요성이 날로 커지고 있습니다. GitLab은 이러한 흐름에 발맞춰 최근 MLOps 기능을 강화했습니다. 이 글은 MLOps 개념과 구성 요소, MLOps 필요성과 플랫폼 역할, GitLab의 주요 MLOps 기능을 다뤘습니다.

자세히 보기

포스트

HOME/BLOG
DevOps 실무 적용 방법 소개DevOps 실무 적용 방법 소개

DevOps를 적용한다고 하면, CI/CD를 포함하는 자동화를 제일 먼저 생각하게 됩니다. CI/CD를 완료성있게 구축하고 운영하는 일은 간단하지 않습니다. GitLab과 같이 단일 도구를 사용하면 조금 더 간단해질 수 있습니다. GitLab은 CI/CD 스크립트를 레파지토리에 .gitlab-ci.yml 파일로 소스 코드 관리하는 방식으로 이용됩니다. 소스 코드가 업데이트 되면, 파이프라인 결과를 확인할 수 있습니다. Merge Request 화면에서도 변경에 대한 파이프라인 결과를 확인하면서 자동화 테스트, 보안 테스트, 배포 결과를 확인할 수 있는 피드백을 주고 받을 수 있습니다. 이 과정을 단순화시키고 활용할 수 있는 방법을 DevOps 실무자들이 만들어갑니다. 인포그랩은 GitLab을 사용하는 실무자들이 CI/CD 파이프라인을 쉽게 운영관리할 수 있는 밀키트를 만들기 시작했습니다. 프로젝트마다 CI 스크립트를 복사 & 붙여넣기 하지 않고 템플릿으로 쉽게 관리할 수 있습니다.

Dexter
Dexter | DevOps Consultant
MR로 협업하기 2편: Merge Request 만들기MR로 협업하기 2편: Merge Request 만들기

지난 'MergeRequest 왜 사용해야 할까?'에서는 협업을 하면서 발생하는 문제점과 MR(MergeRequest)의 이점을 살펴보고 MR을 사용해야하는 이유를 알아보았습니다.

오늘은 본격적으로 MR 사용법을 배워보도록 하겠습니다.

Michael
Michael | Software Engineer
Docker 로그 제대로 사용하기Docker 로그 제대로 사용하기

Docker로 애플리케이션을 배포하여 서비스를 운영 중인 Linux 서버에 디스크 용량이 부족하다는 오류나 경고 메시지가 발생한 경험이 있으신가요?

Jason
Jason | DevOps Architect
MR로 협업하기 1편: Merge Request 왜 사용해야 할까?MR로 협업하기 1편: Merge Request 왜 사용해야 할까?

프로젝트 협업 어떻게 하는게 좋을까요?

우리의 삶에서 인터넷을 떼어 놓을 수 없듯이 어떤 서비스를 하든 소프트웨어가 빠지는 곳이 없습니다. 소프트웨어의 사이즈는 거대해졌고, 기술과 사회는 빠르게 변화하고 있습니다. 그래서 보다 빠르게 개발하고 배포하는 것이 중요해졌습니다. 이를 위해 다수의 사람들이 협업하여 개발을 진행하고 있습니다. 그런데 수많은 사람들이 협업을 하는데 문제가 발생하지 않을까요? 여러 사람들과 협업을 하다보면 다양한 문제를 마주치게 됩니다.

Michael
Michael | Software Engineer
Terraform Loop을 효과적으로 사용하기Terraform Loop을 효과적으로 사용하기

클라우드에서 인프라를 구축을 할 때 비용 절감, 배포 속도 향상, 일관성, 안정성 및 재사용성을 고려하여 웹 콘솔로 구축하기보다는 IaC(Infrastructure as Code) 도구를 활용하여 구축하는 것이 좋습니다. 오픈소스이며 IaC 도구 중 가장 많이 사용하는 것이 Terraform입니다. Terraform 코드를 효율적이고 효과적으로 작성하기 위해서는 Terraform에서 제공되는 기능들을 적절하게 사용하는 것이 중요합니다. 그렇지 않으면 예상과 다른 결과가 발생할 수 있습니다. 이번 글에서는 Terraform에서 제공하는 각 반복문의 특징과 차이점을 알아보겠습니다.

Rei
Rei | DevOps Engineer
GitLab 레퍼런스 아키텍처 소개GitLab 레퍼런스 아키텍처 소개

구축형 GitLab을 설치해보셨거나 설치하실 계획이 있으신가요? 구축형 GitLab을 사용하기 위해 고려해야 하는 상황은 다양합니다. 사용하는 유저의 수, 가용성, 클라우드 네이티브 환경 여부 등 이러한 환경에 대해 전부는 아니지만, 구축에 참고할 수 있는 레퍼런스 아키텍처를 오늘 소개해 드리려 합니다.

  • 일반적인 환경에서 1,000명의 사용자를 기준으로 작성된 아키텍처
  • 클라우드 네이티브 환경에서 사용가능한 2,000명의 사용자를 기준으로 작성된 아키텍처

더 다양한 레퍼런스 아키텍처가 필요하신 경우에는 GitLab 공식 Docs를 참고하시기 바랍니다.

Lucas
Lucas | DevOps Engineer
GitLab에서 활용할 수 있는 규정 준수 기능GitLab에서 활용할 수 있는 규정 준수 기능

GitLab의 Compliance 관련 기능은 개발 및 배포 프로세스에서 규정 준수를 통합하도록 돕습니다. 이번에는 GitLab이 가지고 있는 Compliance 기능(이하 규정 준수)에 대해 설명합니다.

왜 GitLab 인스턴스의 보안과 규정 준수에 대해 알아야할까요?

리스크를 줄이고 비용을 절감하는 것 이외에도 고려해야 할 규정 및 준수 사항이 있습니다.

일반적으로 규제 및 감사는 기업이 규모화 됨에 따라 피할 수 없는 일이며, 관리되기까지 시간이 많이 걸리고 스트레스가 될 수 있습니다. GitLab은 조직의 규정 준수 사항을 만족하고, DevOps 툴의 운영 환경을 보다 안전하게 만들기 위한 몇가지 내장 기능을 가지고 있습니다. 우리가 매일 사용하는 기능들을 포함해서 대부분의 기능들이 무료인 프리티어로 사용할 수 있습니다.

Rei
Rei | DevOps Engineer
iOS 앱 배포 자동화를 위한 GitLab CI/CD 구성iOS 앱 배포 자동화를 위한 GitLab CI/CD 구성

이번 포스팅에서는 코딩 컨벤션 체크에서부터, 단위 테스트, 코드 사이닝, iOS 앱 빌드, TestFlight에 앱을 배포한 것에 이르는 일련의 과정을 자동화하는 GitLab CI/CD 파이프라인을 구성하는 방법에 대해 알아보겠습니다.

Jason
Jason | DevOps Architect
iOS 앱 배포 자동화를 위한 Fastlane 설치 및 구성iOS 앱 배포 자동화를 위한 Fastlane 설치 및 구성

이번 포스팅은 “GitLab과 Fastlane으로 iOS 앱 빌드 및 배포 자동화하기” 시리즈의 두 번째 글로, GitLab CI/CD 파이프라인을 구성하기 전에, Fastlane으로 Lint, Test, TestFlight 배포 등 각 단계별로 Lane을 정의하는 방법에 대해 알아보겠습니다.

Jason
Jason | DevOps Architect
AWS EC2 Mac 인스턴스에 GitLab Runner 설치하기AWS EC2 Mac 인스턴스에 GitLab Runner 설치하기

iOS 앱을 개발하면서 코드사이닝, 버전 및 빌드 번호 변경, 테스트하여 TestFlight 및 App Store에 배포하는 일련의 과정은 번거로운 작업일 수 있습니다. Fastlane과 GitLab CI/CD 파이프라인을 사용하면 이러한 작업을 자동화할 수 있습니다. 개발자는 새로운 기능을 개발하거나 기존 기능을 개선한 후, 코드를 커밋하고 GitLab에 Push만 하면 됩니다. GitLab CI/CD 파이프라인이 개발자를 대신해 자동으로 빌드, 테스트하고 TestFlight 및 App Store에 앱을 배포합니다.

Jason
Jason | DevOps Architect
GitLab HA 구성하기 (GitLab Korea Meetup 발표 요약)GitLab HA 구성하기 (GitLab Korea Meetup 발표 요약)

GitLab으로 개발자의 업무시스템을 쓰신다고요? GitLab 서버가 장애로 Git 활동이나 MR 활동 못하면 협업에 지장이 생기고, 불편을 초래하게 되죠? 이를 방지하기 위해 GitLab도 HA로 구성을 할 수 있습니다.

GitLab Reference Architecture에는 3000명 이상 사용자 부터 HA를 구성에 대한 가이드를 하고 있습니다. 이를 토대로 GitLab Korea Meetup에서 우리회사 Jason 께서 세션 발표를 짧게 진행해 주셨습니다.

발표에서 나온 인사이트들을 정리해 보았습니다.

Dexter
Dexter | DevOps Consultant
DevSecOps: DevOps가 공급망 공격(supply chain attack)으로부터 보호하는 방법DevSecOps: DevOps가 공급망 공격(supply chain attack)으로부터 보호하는 방법

GitLab은 유일무이한 진정한 엔드 투 엔드(end-to-end) DevOps 플랫폼입니다. GitLab은 더 높은 수준의 보안을 지원하는 동시에 최신 애플리케이션 개발 이슈를 해결할 수 있도록 지원합니다. GitLab은 SCM과 CI 모두에서 인정받는 리더기업이며, 최근에는 애플리케이션 보안 분야의 유망주이기도 합니다. GitLab은 DevOps 플랫폼에 보안 기능을 구축했으며, 업계 분석가들은 GitLab의 보안 기능을 포인트 타 보안 솔루션과 직접 비교한 다양한 보고서를 작성하였습니다.

Mark
Mark | DevOps Engineer
GitLab Helm Package Registry 소개GitLab Helm Package Registry 소개

이번 포스팅에서는 GitLab의 Helm 패키지 레지스트리에 대해서 설명하고자 합니다. Kubernetes는 리눅스재단 산하의 CNCF에서 제공하고 있는 오픈소스 기반의 컨테이너 오케스트레이션 도구로써, 현재 다양한 오케스트레이션 도구 중 가장 높은 점유율과 인기를 자랑하고 있습니다. 그에 따라 GitLab에서는 애플리케이션 배포 플랫폼으로 Kubernetes를 연동하여 지원하고 있습니다. Kubernetes의 패키지 매니저 역할을 하는 Helm과 GitLab이 Helm 차트 리포지토리를 지원하는 방법에 대해 알아보겠습니다.

Mark
Mark | DevOps Engineer
Agile Planning: 통합된 Agile 지원을 통해 프로젝트, 프로그램, 제품 계획 및 관리Agile Planning: 통합된 Agile 지원을 통해 프로젝트, 프로그램, 제품 계획 및 관리

안녕하세요! 이번 포스팅 주제는 현대 소프트웨어 개발 방법론의 실세라고도 할 수 있는 Agile 방법론에 대해 알아보고자 합니다. 더불어, DevOps를 위해 태어난 플랫폼인 GitLab이 지원하는 Agile 프로세스에 대해서도 알려드리고자 합니다.

Mark
Mark | DevOps Engineer
GitOps & GitLab:클라우드 네이티브, 멀티 클라우드, 레거시 환경을 위한 인프라 자동화 및 협업GitOps & GitLab:클라우드 네이티브, 멀티 클라우드, 레거시 환경을 위한 인프라 자동화 및 협업

안녕하십니까! 명절은 잘 보내셨나요? 2022년 새해를 맞아 인포그랩에 관심을 가지고 찾아와주신 독자님들께, 이번 포스팅에서는 GitLab의 모티브가 되는 프레임워크인 GitOps에 대한 설명과 GitOps를 지원하는 여러 가지 애플리케이션 중 GitLab이 가지는 특색을 설명해 드리고자 합니다.

Mark
Mark | DevOps Engineer