Today I Learn/환급 챌린지
기술셋 선정하기 2 (21일차)
novem
2023. 3. 12. 18:43
<DevOps>
1. DevOps 란?
비교적 최근에 생긴 Development(개발) + Operation(운영)의 합성어
소프트웨어 개발에서 배포까지의 전달(delivery) 과정을 자동화 하고 빠르게 하여, 결국에는 비지니스의 가치를 높일 수 있도록 도움을 주기 위한 개발 환경이나 문화를 만들어 가는 것을 의미한다.
2. 시스템의 요구사항을 잘 충족시키기 위해 필요한 것들 리스팅하기
- 배포 process(단계)를 수립하는 것이 쉬운가 여부
- 테스트 코드를 배포 전에 돌려보기
- 배포가 쉬운가?
- 서버를 직접 관리해야 하는가 여부
- 오토스케일링이 되는가?
- 트래픽이 많을 때 자동화 되면 편의성이 높아짐
- 웹 사이트 호스팅(도메인)를 쉽게 할 수 있는가?
- Github과 연동되어 git push시 자동으로 배포 프로세스를 시작할 수 있는가?
- 추후 백엔드 API를 개발할 경우 통합하고 배포하는데에 용이한가?
- 배포 모니터링 지원
- 배포가 잘 되지 않았을 때 에러 로그 등의 기능이 있으면 좋음
- 개발 커뮤니티 활성화 여부
- 무료인지 여부
- 비용이 들더라도 개발자의 생산성을 우선적으로 고려할 수도 있고, 무료만 사용해야 할 수도 있다 -> 상황 따라 다르게 대처
- 기술의 안정성 - v.0.0.1같이 너무 새로운 기술이 아닌, 안정된 버전이 있고, 유지보수 하는 단체가 안정 적인가 여부
- 팀 내 기술 친숙도
- 기술 친숙도 만으로 기술을 결정하는 요소가 될 수는 없지만, 후보군들이 다 비슷비슷할 경우 기술 친숙도로 결정할 수 있다.
3. 후보군 조사하기
- AWS Amplify
- Jenkins
- 지속적으로 통합하고 관리할 수 있는 툴
- Google Firebase
- 배포를 도와주는 툴
4. 테이블로 정리 및 비교하기
AWS Amplify | Jenkins | Google Firebase | |
배포 단계를 수립하는 것이 쉬운가? | O | X → 서버 관리, 호스팅은 어떻게 할지 다 정해야 함 |
O |
배포가 쉬운가? | O | O | O |
웹 사이트 호스팅(도메인)를 쉽게 할 수 있는가? | O | X | O |
서버를 직접 관리 해야 하는가? | X | O | X |
Github과 연동 및 배포 프로세스를 시작할 수 있는가? | O → Github branch만 연결하면 됨 |
O → Github action을 별도로 설정해줘야 한다는 단점이 있다. |
O → Github action을 별도로 설정해줘야 하는 단점이 있다. |
추후 백엔드 API를 개발할 경우 통합하고 배포하는데에 용이한가? | O → Lambda, API Gateway 등.. |
X → 별도로 백엔드 배포 파이프라인이 필요 |
O → Cloud function |
배포 모니터링 지원 | O | O | O |
개발 커뮤니티 활성화 | O | O | O |
기술의 안정성 | O | O | O |
팀 내 기술 친숙도 | X | X | X |
무료인가? | 12개월 간 프리 티어 → https://aws.amazon.com/ko/amplify/pricing/ | O | 일정 한도 내 무료 → https://firebase.google.com/pricing?hl=ko |
5. 결정
- AWS가 클라우드 시장에서 선점을 가하고 있다.
- AWS의 서비스들(Lambda, S3, DynamoDB 등)을 간편하게 연동하여 사용할 수 있다는 것이 큰 장점을 갖고 있다.
- Firebase와 Amplify 중 더치페이 프로젝트에서는 AWS Amplify를 선택!
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
* 필수 삽입 링크 : http://bit.ly/3Y34pE0
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr