[공개SW 활용사례/오픈소스 활용기 4] 클라우드 빌드·배포 등 단순업무, 오픈소스로 한 번에 해결
2021.03.29
©지디넷코리아/남혁우 기자
앰포 김동현 개발자, 원격 클라우드 자동화 도구 오픈소스 공개
아마존웹서비스(AWS) 클라우드 환경에서 단순 반복 업무를 자동화하는 오픈소스가 공개됐다.
이를 활용하면 개발자는 AWS 인스턴스에 접속하지 않고도 코드 테스트와 빌드, 배포 등의 업무를 자동으로 처리할 수 있다.
29일 만난 앰포의 김동현 개발자는 오픈소스 AWS SSM send-command(이하 샌드커맨드)를 깃허브를 통해 공개했다고 소개했다.
샌드커맨드는 클라우드 환경을 위한 일종의 자동화 리모컨이라고 할 수 있다. 로컬 개발환경에서 개발한 코드를 깃허브에 저장하면 오픈소스가 알아서 AWS 인스턴스에서 사전에 명령한 기능을 수행한다.
개발자는 일일이 AWS 인스턴스에 접근하거나, 클라우드 서비스를 실행하는 등 별도의 작업을 할 필요가 없는 것이다.
오픈소스는 배포, 빌드 등 작업 성공 여부까지 확인 후 슬랙으로 결과 메시지를 전송힌다. 문제가 발생하면 발송된 메시지를 통해 원인을 확인할 수 있다.
김동현 개발자는 “초기에는 깃허브 저장소에 코드를 올리기만 해도 알아서 클라우드 상에 배포가 되면 좋겠다고 생각했다”며 “그렇다고 추가 비용을 들이긴 어려운 상황이라 원격으로 커맨드를 배포하는 스크립트를 한번 넣어봤더니 실제로 구현되는 것을 확인했다”며 개발 과정을 소개했다.
김 개발자에 따르면 소스코드를 빌드하거나 배포하기 위해 직접 AWS 인스턴스에 접속해 업무를 처리하면 대략 5분 이상이 소요된다.
길지 않은 시간이지만 이러한 배포 및 수정 작업은 하루에도 몇 번씩 발생한다. 실질적으로 업무 시간의 상당량을 이런 단순 반복 업무에 빼앗기고 있던 셈이다.
그는 “샌드커맨드를 도입하면서 실질적으로 99% 이상 해당 업무를 줄일 수 있었다”며 이를 통해 보다 중요한 개발업무에 집중하고 개인 역량을 높일 수 있는 시간도 확보할 수 있었다”고 강조했다.
여러 개의 클라우드 서비스 동시 관리도 수월 해졌다. 기존에는 서비스 환경과 테스트 환경마다 각자 배포하고 버전을 관리했기 때문에 업무가 복잡하고 많은 시간이 요구됐다. 샌드커맨드로 자동화한 후에는 오류 메시지만 확인할 정도로 간소화됐다.
김동현 개발자는 “사실 시간절약보다 업무 스트레스를 많이 줄일 수 있었다는 점이 개인적으로 가장 컸다”며 “배포하는 환경이 달라서 일일이 신경을 써야 하고 실패도 많았었는데 이를 해결하기 위해 컨테이너 형태로 구축해 이제는 거의 오류가 발생하지 않고 있다”고 강조했다.
샌드커맨드는 최근 깃허브에 추가된 깃허브 액션스를 활용해 제작됐다.
김 개발자는 “액션스는 개인 깃허브 저장소에 발생하는 모든 이벤트에 알림을 보내는 일종의 자동화 도구로 아직 많이 알려지지 않았지만 활용범위는 상당히 크다고 생각한다”며 “기존에는 젠킨스를 사용하려 했는데 오래된 기술이라 인터페이스도 불편하고 사용하기 쉽지 않았다”라고 설명했다.
이어서 그는 “샌드커맨드는 액션스가 뿌리는 알림을 받아 종류에 따라 자동으로 오픈소스에 내장된 스크립트를 실행하게 된다”며 “코드 테스트와 빌드, 배포 외에도 스크립트에서 활용할 수 있는 AWS의 기능을 대부분 자동화할 수 있다”고 밝혔다.
김동현 개발자에 따르면 실시간으로 가격이 변하는 수천 개의 인스턴스 중 자동으로 적합한 인스턴스를 찾아 비용을 절감하거나, 수많은 데이터 중 불필요한 자료를 찾아 수정하거나 제거하는 데에도 샌드커맨드를 사용할 수 있다.
김동현 개발자의 차기 목표는 MS 애저와 구글클라우드플랫폼(GCP)까지 통합 지원하는 것이다.
김 개발자는 “주로 사용하는 클라우드 특성상 지금까진 AWS에 최적화돼 있다”며 “앞으로는 MS애저와 CGP까지 통합해 사용할 수 있도록 범위를 넓히는 것을 고려하고 있다”고 말했다.
이어서 그는 “클라우드 시대로 변화하며 소스코드도 직접 개발하기 보다 잘 만들어진 것을 사용하는 것이 중요해지고 있다”며 “하지만 개발 중 불편한 것이 있다면 다른 사람도 불편할 가능성이 크니 이런 것을 해결하면서 업계에 도움을 주고 자신의 가치를 높이는 것도 긍정적인 일일 것”이라고 말했다.
※이 기사는 정보통신산업진흥원(NIPA) Open UP과 지디넷코리아가 공동 기획한 기사입니다.
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
321 | [공개SW 거버넌스 구축 사례/SK텔레콤] OSPO, 그리고 국제 표준에 기반한 오픈소스 거버넌스 구축 사례 (SK텔레콤) | 2727 | 2021-10-25 |
320 | [공개SW 활용사례/벤츠 이노베이션랩] 벤츠를 바꾸는 건 소프트웨어…"오픈소스 활용해 독자 개발" | 2129 | 2021-09-27 |
319 | [공개SW 개발자 인터뷰/옥찬호 개발자] “배움·나눔이 원동력”…글 쓰는 개발자의 슬기로운 오픈소스 생활 | 3735 | 2021-08-23 |
318 | [공개SW 활용사례/창업기업] "스마트팩토리 빅데이터, 엣지 환경에서 실시간 분석·정제한다" | 1881 | 2021-07-20 |
317 | [공개SW 활용사례/오픈소스관리] 한 달 걸리던 카카오톡 오픈소스 관리, 이틀이면 충분 | 3320 | 2021-06-28 |
316 | [공개SW 활용사례/오픈소스관리] 오픈소스SW 관리 툴 ‘포스라이트’ 공개한 LG전자, “글로벌 표준 거듭나겠다” | 3740 | 2021-06-28 |
315 | [공개SW 활용사례/게임] 블록체인으로 탄생한 오픈소스 게임…플라네타리움, “참여 보상도 게임의 일부” | 2484 | 2021-05-24 |
314 | [공개SW 활용사례/오픈소스 활용기 5] 테라폼, 복잡한 클라우드 인프라 관리 자동화로 해결 | 2585 | 2021-04-27 |
313 | [공개SW 활용사례/오픈소스 활용기 4] 클라우드 빌드·배포 등 단순업무, 오픈소스로 한 번에 해결 | 2330 | 2021-03-29 |
312 | [공개SW 활용사례/오픈소스 활용기 3]누구나 삼성 IoT 서비스 개발 더 쉽게 ‘SASM’…“오픈소스 없었더라면” | 3049 | 2021-02-22 |
0개 댓글