Cloud Computing, Deploy

귀찮Lee·2022년 8월 2일
0

Deploy

목록 보기
1/4
post-custom-banner

◎ Cloud Computing

  • 등장 배경

    • 기존 서버 방식 : 물리적인 서버를 이용 (서버실에 컴퓨터를 배치)

      • 확장이 필요하면, 더 많은 컴퓨터 추가 or 컴퓨터 업그레이드 필요
      • 한계 : 주기적인 유지 관리(인력 및 비용) 필요, 공간의 한계 발생
    • 일부 거대 기업은 데이터 센터를 만듦

      • 이를 바탕으로 데이터 센터의 유휴 자원을 대여해주는 서비스 등장
      • 다른 개인/기업이 서버의 자원,공간 및 네트워크를 빌려서 사용하게 됨
  • Cloud

    • 온프레미스 환경 : 서버의 자원과 공간, 및 네트워크 환경을 제공

    • 온프레미스 환경과 달리 가상화(Virtualization) 기술의 발전으로 가상 컴퓨터를 대여하여 사용

    • 특징

      • 서버의 자원과 공간 및 네트워크 환경 제공
      • 필요할 때마다 컴퓨터 능력을 유연하게 조절
      • 사용한 만큼의 요금 지급
      • 다른 컴퓨터로 즉시 이주(migration) 가능
    • 단점

      • 운영 환경 자체가 클라우드 제공자에게 종속됨
        • 클라우드에 문제가 생기면 내가 배포하고 관리하는 환경에도 영향을 미침
        • 백엔드 구성 자체가 특정 회사의 기술로만 구성해야 하는 경우가 발생할 수 있음
      • AWS와 같은 대표적인 클라우드 사업자가 제공하는 기술을 익히는 것도 중요하지만, 그만큼 이 인프라 자체에 대한 이해가 더욱 중요

◎ 클라우드 서비스 형태

  • SaaS (Software as a Service) : 클라우드 제공자가 당장 사용 가능한 소프트웨어를 제공

    • ex) Amazon Web Service(AWS), Microsoft Azure, Google Compute Engine(GCE)
  • PaaS (Platform as a Service) : 클라우드 제공자가 DB, 개발 플랫폼까지 제공

    • ex) AWS Elastic Beanstalk, Windows Azure, Google App Engine
  • IaaS (Infrastructure as a Service) : 클라우드 제공자가 가상 컴퓨터까지 제공

    • ex) Google Apps, Dropbox
  • 참고 자료

◎ Deploy (배포)

  • 개발한 서비스를 사용자들이 이용 가능하게 하는 일련의 과정

◎ 배포 과정

  • Development
    • Local 컴퓨터 환경에서 개발 및 테스트, 모든 구성원이 각자의 환경에서 진행
    • Sample Data를 이용
    • 변경 사항이 있어도 문제되지 않음
  • Integration
    • 각자의 환경에서 개발된 부분을 취합
    • 작성한 코드가 다른 코드에 문제를 발생시키지 않는지, 코드간 충돌(Conflict)이 없는지 확인
  • Staging
    • Production 단계와 가장 유사한 환경에서 테스트
    • 복제된 실제 데이터를 이용해서 테스트
    • 모든 관계자들이 검증하는 단계
  • Production
    • 개발 환경과는 구분된 환경, 실제로 서비스가 제공되는 단계
    • 실제 데이터를 이용

◎ 배포 환경설정

  • 각 로컬 환경에서는 DB의 password 등 개인 설정값이 다를 수 있다.
  • 따라서 Development 환경과 Production 환경에서의 환경 설정 코드를 분리를 해야 한다.
  • 작성한 코드가 다른 환경에서 정상 작동할 수 있게 하려면,
    • 환경에 따라 포트를 분리할 수 있도록 환경변수를 설정
      • 모든 설정이 정상적으로 코드 바깥으로 분리되어 있는지 확인하는 방법 :
        인증정보도 유출시키지 않고 코드가 지금 당장 오픈 소스가 될 수 있는지 확인
    • 절대경로 대신 상대경로를 이용
    • Docker와 같은 개발 환경 자체를 통일시키는 솔루션 사용
profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!
post-custom-banner

0개의 댓글