클라우드(구름)

김성수·2022년 12월 2일
0

SEB_BE

목록 보기
20/31

퀴즈!
브라질에 미국 사람 한 명이 왔다. 그의 이름은!!??
아마..존?
KIN


클라우드 서비스 업체의 기본 장점
1. 신속한 인프라 구축
2. 유연한 인프라 관리
3. 예상치 못한 트래필 폭주 대응
4. 손쉬운 글로벌 서비스
5. 강력한 보안과 장애 없는 서비스
6. 합리적인 요금제

  • 온디맨드(On-Demand) 방식의 요금제
    • 사용한만큼만 비용을 지불한다.

Cloud Computing

가상화 기술을 사용하는 클라우드 서비스

  • 온프레미스 환경
    • 데이터 센터에서 서버의 자원과 공간, 및 네트워크 환경을 제공하는데 이를 온프레미스라고 부른다.

클라우드 서비스의 장점

  1. 필요할 때마다 컴퓨팅 능력을 유연하게 조절할 수 있다.
  2. 고정적인 비용이 들어가는 온프레미스와는 달리 사용한 만큼의 요금만 지불하면 된다.
  3. 커퓨터의 스냅샷을 이용해 다른 컴퓨터로 즉시 이주(migration)가 가능하다.

클라우드 서비스의 단점

  1. 운영환경이 특정 클라우드 사업자(vendor, 또는 제공자)에게 종속된다
  • 이는 백엔드 구성 자체가 특정 회사의 기술로만 구성해야만 하는 경우가 발생할 수 있다는 의미.

SaaS/PaaS/IaaS

Saas

Software as a Service의 약자
클라우드 제공자가 당장 사용가능한 소프트웨어를 제공하는 경우는 대부분 SaaS이다.

PaaS

Platform as a Service의 약자
클라우드 제공자가 데이터베이스, 개발 플랫폼까지 제공하는 경우는 대부분 PaaS이다.

IaaS

Infrastructure as a Service의 약자
클라우드 제공자가 가상 컴퓨터까지 제공하는 경우 대부분 IaaS에 해당한다.

Deploy

배포 : 개발한 서비스를 사용자들이 이용가능하게 하는 과정

Development

  • 개발자가 컴퓨터에서 코드를 작성하고, 테스트하는 과정.
  • 개발 단계로서 실제 데이터를 이용하지 않고 더미 데이터를 이용해서 테스트한다.
  • Local 컴퓨터 환경에서 개발 및 테스트
  • Sample Data를 이용
  • 변경사항이 있어도 문제가 되지 않는다.
  • 모든 구성원이 각자의 환경에서 진행한다.

Integration

  • 각자의 환경에서, 컴퓨터에서 작성한 코드 즉, 개발한 부분을 합치는 과정.
  • 작성한 코드가 다른 코드를 침범해서 오류를 일으키지 않는지, 코드 간에 conflict가 있지는 않은지 확인한다.

Staging

  • 실제 출시 단계인 Production 단계와 가장 유사한 환경에서 테스트를 진행한다.
  • 실제 데이터를 복사해서 문제가 있지 않은지 등 다양한 환경에서 테스트를 진행한다.
  • 서비스와 관련된 부서 혹은 인원의 확인 과정을 거친다. 즉, 모든 관계자들에게 검증하는 단계이다.

Production

  • 개발된 서비스를 출시하는 단계
  • 개발환경과는 구분된 환경이다.
  • 사용자가 접속할 수 있는 Production 환경에서 코드를 구동하고 서비스를 제공한다.
  • 실제 데이터를 가지고 서비스가 운영되기 때문에 문제가 생기면 안되는 단계.

작성한 코드가 다른 환경에서 정상 작동할 수 있게 하려면?

배포 단계에서는 환경설정을 코드와 분리하는 것이 중요하다.

  • 작성한 코드가 다른 환경에서 정상 작동할 수 있게 하려면, 설정을 환경 변수(environment variable; envVars나 env라고도 불림)에 저장해야 한다.
    • 환경 변수는 코드 변경 없이 배포할 때마다 쉽게 변경할 수 있다.
    • 설정 파일과는 달리, 잘못해서 코드 저장소에 올라갈 가능성도 낮다.
  • 절대경로 대신 상대경로를 사용
  • 환경에 따라 포트를 분기할 수 있도록 환경변수를 설정해준다.
  • (Advanced)Docker와 같은 개발 환경 자체를 통일시키는 솔루션을 사용한다.
profile
쌩수 Git >> https://github.com/SsangSoo?tab=repositories

0개의 댓글