소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 아마존 API 게이트웨이, 데브옵스, PaaS, 마이크로서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]
럭스로보(LUXROBO)는 모디 스튜디오(MODI Studio)라는 IDE를 개발한다. 모디 스튜디오는 홈페이지에서 다운로드할 수 있는데, 지금까지는 퍼머링크(Permalink) 형태였다. 퍼머링크는 URL 끝부분에 ‘MODIStudioSetup-{version}.{ext}’ 처럼 파일 이름이 직접 들어가기 때문에 새로운 버전이 릴리즈될 때마다 링크를 바꿔줘야 하는 불편함이 있었다.
이를 해결하기 위해 최신 버전 설치 파일 경로로 리다이렉트 해주는 다운로드 서버를 구성했다. 다운로드 서버를 구성하는 방법은 여러 가지가 있다. ▲엔진엑스(Nginx) 스크립트로 리다이렉트 ▲마이크로 API 서버(Node.js, Django, RoR 등) ▲아마존 API 게이트웨이(Gateway), 람다(Lambda) 등이다.
첫 번째 방법은 가장 간단하지만 확장성이 없다. 말 그대로 엔진엑스 스크립트로 들어온 요청을 최신 버전 파일의 경로로 리다이렉트 하는 것뿐이다. 물론 젓가락으로 건물을 지을 수 있듯이 다른 기능들을 붙일 순 있겠지만 엔진엑스 스크립트는 그런 용도가 아니다. 또한 배포도 힘들고 유지보수도 어렵다.
두 번째 방법이 가장 일반적이다. 규모가 큰 회사는 별도의 다운로드 서버를 만들어 회사에서 개발한 여러 소프트웨어를 사용자가 다운로드할 수 있도록 운영한다.
세 번째 방법이 우리 회사에 가장 잘 맞는 방법이었다. 사내 서버는 가용성이 떨어지지만 AWS EC2나 ECR은 다운로드 요청 규모보다 비용이 많이 들기 때문에 고가용성을 유지할 수 있다. 또한 요청이 있을 때만 비용이 부과되는 아마존 API 게이트웨이, AWS 람다 조합이 우리에게 가장 적합했다.
API 게이트웨이에서 API 생성은 굉장히 쉽다. 서비스 페이지에 접속해 리전을 선택하고, API 이름만 입력하면 바로 생성할 수 있다.
생성 후 API를 관리할 수 있는 페이지가 나온다. 상단 ‘작업’ 드롭다운을 눌러 리소스를 생성한 다음, 리소스에 해당하는 메서드를 정의하면 된다. 예를 들어, ‘hello’ 리소스에 GET 메서드를 정의하면 ‘your.api.gateway/hello’에서 GET 요청을 받을 수 있다.
내가 다뤘던 웹앱 프레임워크 RoR(Ruby on Rails)에서는 ‘routes.rb’에서 라우팅할 경로를 정의할 수 있다. 이때 ‘/articles/:id’처럼 정의하면 ‘id’를 파라미터로 받을 수 있다. URL을 훨씬 더 의미 있게 만들어준다.
허진수 필자의 ‘아마존 API 게이트웨이와 AWS 람다로 구성하는 다운로드 서버’에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.
- [마소 394호] 플라스크 효과적으로 사용하기
- [마소 394호] 스토리체인이 사이드체인을 선택하기까지
- [마소 394호] 모바일 앱 테스트 자동화용 디바이스팜 구축
- [마소 394호] 되돌아 보는 1만 개의 클라이언트 문제
- [마소 394호] 클릭만으로 도커 개발 환경을 완성시켜주는 애저 PaaS
- [마소 394호] DDD와 MSA로 쇼핑몰 구축하기
- [마소 394호] 이스티오 서비스 메시를 이용한 MSA 구축
- [마소 394호] 제대로 구성하는 마이크로서비스 아키텍처
- [마소 394호] AWS EC2와 트래비스CI를 활용한 무중단 배포 서비스
- [마소 394호] 스타트업의 좌충우돌 CI/CD 구성
- [마소 394호] AWS 이메일 서비스 써보니
- [마소 394호] 클라우드의 성능 품질 이야기
- [마소 394호] 클라우드 시대 토종 호스팅 업체의 변신
- [마소 394호] 데이터베이스의 게임 체인저, 오라클 클라우드
- [마소 394호] 알아두면 쓸데없는 신비한 TLS 1.3
- [마소 394호] 다시 보는 PaaS, 어디서 와서 어디로 가는가
- [마소 394호] 코드로 관리하는 인프라스트럭처, 테라폼
- [마소 394호] 더 웨더 컴퍼니의 데브옵스
- [마소 394호] 사설 클라우드의 끝판왕 오픈스택
- [마소 394호] 개발운영 퀀텀 점프를 위한 도커
- [마소 394호] IT 서비스와 모니터링 역사
- [마소 394호] 오픈스택 커뮤니티 동고동락
- [마소 394호] 데브옵스를 꿈꾸는 개발자를 위한 안내서
- [마소 394호] RxJava로 생각하기