본문으로 건너뛰기

하이라이트

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

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

자세히 보기

포스트

HOME/BLOG
월간 인포레터 창간월간 인포레터 창간

인포그랩 인사이트는 계속해서 확장하고 있습니다. 몇달간 정말 많은 양의 글과 동영상을 업로드 하였습니다. 그리고 많은 분들이 관심을 갖아 주셔 매우 감사히 여기고 있습니다. 인포그랩은 그 관심에 보답하고자 **'인포레터'**라는 이름의 뉴스레터를 창간하였습니다.

인포그랩
인포그랩 | 인포그랩 LC.
GitLab Merge Request로 협업하기GitLab Merge Request로 협업하기

Merge Request 가이드Merge Request로 협업하기 문서를 기반으로 쉽게 따라 할 수 있는 영상 가이드를 준비 했습니다.

Merge Request는 GitLab의 핵심 기능중 하나로 Git의 브랜치와는 가장 차별화되는 것입니다. 타겟 브랜치를 소스 브랜치로 merge하기 위한 단계로 코드 리뷰를 진행하고 완료가 된다면 승인하여 merge가 진행됩니다. 또한 CI/CD를 설정해 놓았다면 Pipeline에 성공해야 merge가 완료가 됩니다. Merge Request 이후에 배포가 가능하고 변경점을 리뷰앱을 통하여 확인 가능합니다. GitHub의 풀 리퀘스트와 유사한 기능이라고 생각하면 됩니다.

Mus
Mus | DevOps Engineer
GitLab Web UI로 혼자 개발하기GitLab Web UI로 혼자 개발하기

그룹 혹은 팀 프로젝트에 참여하지 않고 개인 프로젝트를 진행할 경우가 있습니다. GitLab은 개발자 친화적인 UI를 갖고 있기 때문에 대부분의 작업을 Web UI에서 할 수 있습니다. 개인 프로젝트를 GitLab의 Web UI를 이용하여 시작하는 방법을 알아 보겠습니다.

Mus
Mus | DevOps Engineer
GitLab을 활용한 금융권 DevSecOps 사례GitLab을 활용한 금융권 DevSecOps 사례

GitLab을 활용한 금융권 DevSecOps 사례 웨비나12월 11일 금요일 GitLab 한국 엔지니어인 유인철님과, 한화생명의 윤상배님 그리고 인포그랩의 신철호가 발표하였고, 발표 중에서 국내 사례 내용을 요약해보았습니다.

규제가 진입 장벽으로 작동해서 지켜주는 시장이라면 중요하지 않을 수 있습니다. 하지만 현재는 다른 인터넷 서비스와 금융도 경쟁 해야 합니다. 즉 고객이 원하는 기능을 탐색하고 요구사항이 기능 중심으로 만들어져서, 코드로 만들고 배포하는데 하루인 기업과 기능 배포가 가능한지부터 걱정해야 하는 기업의 경쟁력의 격차를 생각해보시죠. DevSecOps는 선택이 아닌 필수입니다. GitLab 으로 하면 쉽습니다. >
(윤상배님 발표 내용 중)

Dexter
Dexter | DevOps Consultant
GitLab을 사용해서 AWS에 배포하기: Lambda, Fargate, EC2, EKS와 ECS를 위한 단일 애플리케이션GitLab을 사용해서 AWS에 배포하기: Lambda, Fargate, EC2, EKS와 ECS를 위한 단일 애플리케이션

AWS(Amazon Web Services)는 2019년 기준으로 전 세계 클라우드 인프라 시장의 33%를 차지하는 업계의 리더입니다. 2020년 1월 현재, AWS는 컴퓨팅, 스토리지, 데이터베이스, 분석, 네트워킹, 모바일, 개발자 도구, 관리 도구, IoT, 보안 및 엔터프라이즈 애플리케이션을 포함하여 160개에 이르는 클라우드 기반의 제품을 전 세계에 제공하고 있습니다. 스타트업, 대기업 및 정부 기관을 포함한 수백만 고객사들이 AWS의 클라우드 서비스를 이용하여 사업을 강화해 나가고 있습니다.

Jake
Jake | Full-Stack Engineer
2020년 유료에서 오픈소스화된 기능들2020년 유료에서 오픈소스화된 기능들

벌써 한참지난 2020년 3월 CEO Sid는 블로그 글을 통해 DevOps 7가지 단계중 18가지 기능을 오픈소스화 한다고 발표 했습니다. GitLab이 무료로 제공하는 가치가 충분히 넓지만, 더 많은 범위를 오픈소스로 활용할 수 있게 되었습니다. 커뮤니티가 활성화 되고, DevOps 전체를 위한 단일 도구로서 GitLab 의 가능성을 좀더 넓이기 위한 목적으로 보입니다. GitLab을 이용해서 어플리케이션을 기획하고 개발하고 빌드하고 배포하고 보안성을 유지하는데 필요한 기능들이 점점 이전보다 좋아지고 있습니다.

Michael
Michael | Software Engineer
DevSecOps 성숙도 자가진단DevSecOps 성숙도 자가진단

우리 조직의 DevSecOps 성숙도를 체크 해보세요!

GitLab에서 만든 DevSecOps 자가진단 가이드는 DevSecOps 운영상의 성숙도를 파악하고, 개선이 필요한 부분을 찾아내는 데에 도움을 드리기 위해 제작되었습니다. DevSecOps 수행에 중요한 20가지 역량 체크리스트를 통해 자가 진단을 진행하시고, 뒤에 이어지는 정의를 참조하세요. 해당 역량이 왜 중요한지 확인하세요. 그리고 무엇을 더 고려하고 발전시켜야 할 지에 대해 저희와 같이 검토해보세요.

평가가 완료되면 각 역량 충족으로 얻는 이상적인 프로세스를 확인하실 수 있습니다. 문의하기으로 연락 주시면 인포그랩에서 맞춤형으로 성숙도 진단지를 만들어서 진단하시는 것을 도와드립니다.

맞춤형 진단은 인포그랩에서 컨설팅시 제공하는 개발팀의 성숙도 체크를 참고하세요.

Mus
Mus | DevOps Engineer
CI/CD 모범사례: GitLab 하나로 끝내는 CI/CDCI/CD 모범사례: GitLab 하나로 끝내는 CI/CD

CI/CD(Continuous Integrationand Delivery)는 소프트웨어 구축 및 테스트, 배포 방법을 완전히 변화시키고 있습니다. CI/CD툴은 이러한 프로세스를 자동화하여 오류 발생률을 줄이고 워크플로우를 최적화합니다. 각 개발 단계를 거치는 동안 프로세스 전반에 걸친 자동화된 테스트를 통해 코드의 오류를 포착하고 롤백을 시키기까지 합니다.

Mus
Mus | DevOps Engineer
형상관리 모범사례: Git 형상관리 이렇게 하세요!형상관리 모범사례: Git 형상관리 이렇게 하세요!

산업의 급격한 변화와 새로운 기능에 대한 고객의 요구 증가로 인해 팀은 서로 단절되고 고립된 업무 환경에 처하게 될 수 있습니다. 애플리케이션 개발에는 반복되는 빠른 작업이 요구되며, 비즈니스에 가치를 제공하기 위해서는 유기적인 협업이 필요합니다. 팀은 버전 관리를 통해 효율적으로 협업하고 정보의 고립(silo)을 해소할 수 있습니다.

본 블로그에서는 개발팀이 Git을 사용하여 반복되는 새로운 기능 개발을 효율적으로 수행하고 비즈니스 가치 전달에 도움을 줄 수 있도록 협업 강화를 위한 5가지 모범 사례를 소개합니다.

Mus
Mus | DevOps Engineer
Auto DevOps 개선: k8s 1.16 및 Helm 3Auto DevOps 개선: k8s 1.16 및 Helm 3

GitLab의 Auto DevOps는 내재한 베스트 실습과 자동화를 통해 CI/CD 도입을 더욱더 쉽게 만들어주도록 설계되었습니다. 여러분이나 여러분의 팀이 DevOps를 처음 접한다면, 이것이 매우 좋은 시작점이 될 것입니다. Auto DevOps에 대한 새로운 개선 사항과 향후 개선 사항을 공유해 드리기에 앞서 다음의 사항들을 유념해 주시기 바랍니다.

Jake
Jake | Full-Stack Engineer
GitLab DR, 재해복구 시스템 만들기GitLab DR, 재해복구 시스템 만들기

GitLab 에는 중요한 비즈니스 자산 데이터가 저장되어 있습니다. 제일 중요한 소스 코드를 포함해서 말이죠.

GitLab DR (Disaster Recovery). 즉 재해 복구는 자연재해와 사람에 의한 재난! 에 의해 GitLab 을 사용할 수 없는 경우에 복구 할 수 있는 프로세스에 따라 연속성을 갖고 GitLab을 사용 할 수 있도록 해주는 재해 복구 기능을 가지고 있습니다.

GitLab 엔터프라이즈 버전인 Premium 이상에서 사용 가능합니다. 보통의 엔터프라이즈 회사들은 이 기능 때문에 라이센스를 구입 하게 됩니다. 자체적으로 DR을 구축하는 비용 vs GitLab DR(Geo) 비용 따져보면 싸기 때문이겠지요?

GitLab 은 Geo 노드를 별도로 만들어서 재해 상황에 조치 할 수 있습니다. 재해 복구 솔루션을 설정하려면 투자가 필요합니다. 아직 GitLab 은 모든 것들을 복제하지 않습니다. 시스템 관리자는 Geo로 복제가 자동으로 되는 부분과 아닌 부분이어서 백업이 필요한 내용을 알고 있어야 합니다. 그럼 지금 부터 GitLab DR에 대해 알아볼까요?

Dexter
Dexter | SAFe & DevOps Consultant
Gitaly를 통해 Git 레파지토리 안정적인 운영하기Gitaly를 통해 Git 레파지토리 안정적인 운영하기

GitLab 13.0에서는 Git 스토리지에 대한 설정에 HA와 복제(Redundancy: 시스템 장애 상황을 대비해서 중요한 시스템 구성요소를 복제)가 가능합니다. GitLab은 조직에 중요한 시스템이기 때문에, 다운타임으로 인해 소프트웨어 개발 및 CI/CD 파이프라인으로 피해가 발생 되지 않도록 해야합니다. GitLab HA는 피해를 줄 일 수 있는 방법입니다. 그렇다면 Git Repository 를 어떻게 안정적으로 운영 할 수 있는지 Gitaly 를 클러스터링 하는 방법으로 간단히 설명합니다.

Dexter
Dexter | DevOps Consultant
GitLab으로 코드리뷰 더 잘하는 방법GitLab으로 코드리뷰 더 잘하는 방법

팀 협업 중에 코드 품질 때문에 이슈가 발생하는 경우가 있나요? 소프트웨어 개발 문화가 성숙할수록 코드리뷰 활동도 성숙해집니다. 다른 사람이 작성한 코드를 보고 개선을 위한 의견을 주고 받는 활동을 합니다. 코드 리뷰는 코드로 협업하는 개발팀이 리뷰를 통해 잠재적인 이슈를 해결하고 개선해 나가는 과정입니다. 소프트웨어 개발 라이프사이클에서 소프트웨어 품질 보증 활동의 시작은 코드 리뷰 활동입니다.

그렇다면, GitLab으로 코드 리뷰를 더 잘하는 방법은 어떨까요?

항상 처음 보다 더 나은 상태로 코드를 만들어 놓고 떠나라

  • Robert C. Martin (Uncle Bob) , 보스카웃룰 패러디
Dexter
Dexter | DevOps Consultant
DevSecOps에서 보안을 코드로 구현하는 것이 중요한 이유DevSecOps에서 보안을 코드로 구현하는 것이 중요한 이유

DevSecOps에서 보안을 코드로 구현하는 것이 중요한 이유는 무엇일까요?

Jake
Jake | Full-Stack Engineer
GitLab의 릴리즈 정보는 어디서 확인할까요?GitLab의 릴리즈 정보는 어디서 확인할까요?

GitLab은 얼마나 자주 새로운 버전을 릴리즈할까요? 릴리즈마다 추가되는 새로운 기능은 어디서 확인할까요? 그리고 이런 릴리즈마다 매번 업그레이드를 실행해야 할까요? 이 포스트에서는 GitLab의 릴리즈 정책과 릴리즈 내용을 확인하는 방법을 알아보고 어떻게 최신 버전의 안정적인 GitLab을 유지할 수 있는지 알아보겠습니다.

Michael
Michael | Software Engineer