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