기존의 Hello World 프로젝트를 Next.js로 마이그레이션을 하기로 했다. 마이그레이션과 함께 CI/CD를 도입하기로 팀원과 의견을 나누었고 AWS와 Jenkins를 사용하기로 결정했다. 그 전에 클라우드와 CI/CD에 대해 알아보자.
비즈니스의 비용 절감과 생산성 향상, 효율성 증가에 가장 큰 영향을 차지하는 것이 시스템 환경을 구축하는 것이기 때문이다. 또한 빅데이터의 수집, 저장, 분석과 인공지능 개발을 위한 대규모 컴퓨팅 자원을 저렴하게 활용할 수 있는 이유에서도 클라우드를 사용하는 것이 이득이다. 그렇담 그 전에는 어떤 방식으로 시스템을 구축했기 때문에 클라우드가 필요한 것인지부터 찬찬히 알아보자.
하드웨어나 소프트웨어 등을 직접 구축하지 않고, 제2의 전문업체로부터 인터넷을 통해 필요한 IT 자원을 원하는 만큼 받아 즉시 사용할 수 있으며, 사용한 시간만큼 비용을 지불하면 되는 서비스
가상화 기술을 토대로, 자원의 확대와 축소를 가능하게 하여 사용자가 요구한 특정 자원만을 제공할 수 있는 IT 환경
서비스 모델 | 내용 |
---|---|
IaaS (Infrastructure as a service) | 클라우드 공급자로부터 필요한 서버와 저장소를 임대 클라우드 인프라로 자체 응용 프로그램을 구축 기업이 토지 임대만 하고 건설 장비와 재료를 마련하는 것과 같음 ex> DigitalOcean, Google Compute Engine, OpenStack |
PaaS (Platform as a service) | 호스팅된 애플리케이션에 비용을 지불하는 대신 자체 애플리케이션을 구축하는 데 필요한 것에 비용을 지불 기업이 집을 임대하고 집을 꾸미는 데 필요한 장비를 빌리는 것과 같음 ex> Heroku, Microsoft Azure |
SaaS (Software as a service) | SaaS 애플리케이션이 클라우드 서버에 호스팅되고 사용자는 인터넷을 통해 애플리케이션에 접근 기업이 집을 빌리는 것과 같은데 소유한 것처럼 사용하는 느낌 ex> Salesforce, MailChimp, Slack |
FaaS (Function as a service) | 서버리스 컴퓨팅 다른 클라우드 컴퓨팅 모델과 마찬가지로 여전히 서버에서 실행, But 전용 머신에서 실행되지 않고 응용 프로그램을 구축한 기업이 서버를 관리하지 않아도 되기 때문에 서버리스 집을 조금씩 임대하는 느낌 |
배치 모델 | 내용 |
---|---|
퍼블릭 클라우드 | 전 세계에 있는 누구나 인터넷을 통해 접근해서 클라우드 서비스를 활용 전 세계적으로 개방된 자원을 사용하기 때문에, 보안수준이 상대적으로 저하 ex> AWS, MS Azure, GCP 등 |
프라이빗 클라우드 | 제한되고 허가된 그룹 내에서만 활용 기업 또는 공공기관 등이 자체 데이터센터 내에서 클라우드 컴퓨팅 환경을 구축 온프레미스(On-premise)와 퍼블릭 클라우드의 중간 형태 사용자를 한정할 수 있기 때문에 보안에 유리하며 회사의 보안정책 적용이 용이 ex> G-Cloud(정부 클라우드) |
하이브리드 클라우드 | 퍼블릭 클라우드와 프라이빗 클라우드를 결합한 형태 보안성이 요구되는 핵심 시스템은 프라이빗 클라우드에 배치하고, 상대적으로 낮은 보안성이 허용되는 비핵심 시스템은 퍼블릭 클라우드에 위치시키는 방식 |
개발의 최종 목적은 사용자에게 서비스를 제공하는 것이다. 이것은 구현 - 빌드 - 테스트 - 통합 - 배포의 무한 반복 과정을 가지게 된다. 이 과정을 개발자가 하나하나 수작업으로 진행을 하게 되면 일의 효율성도 떨어지고 하나를 빼먹게 되는 실수가 있을 수 도 있다. 이에 이 무한 반복 과정을 자동으로 해주는 것의 필요성을 느끼게 되었고 CI/CD가 도입되었다.
참고 자료
https://namu.wiki/w/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%20%EC%BB%B4%ED%93%A8%ED%8C%85
https://m.post.naver.com/viewer/postView.naver?volumeNo=29866499&memberNo=34865381
https://www.cloudflare.com/ko-kr/learning/cloud/what-is-the-cloud/
https://lifeplan-b.tistory.com/27
https://tecoble.techcourse.co.kr/post/2021-08-14-ci-cd/