1.  온프레미스란?
    1. 특징
      • 기업이 서버를 자체적으로 보유하고 직접 설치 및 운영하는 방식을 의미한다.
      • 하드웨어와 소프트웨어를 구매해야 하며, 데이터 센터나 서버 룸과 같은 물리적 공간과
        인프라 구축을 위한 시간과 인력을 필요로 한다.
      • 보안 및 규제 준수에 대한 책임이 기업에 있다.
    2. 장점
      • 기업 환경과 특성에 맞게 커스터마이징을 할 수 있다.
      • 데이터를 직접 관리하므로 보안 정책을 자유롭게 수립하고 실행 가능하다.
      • 인프라에 문제가 생기는 경우 즉각적으로 대응이 가능하다.
    3. 단점
      • 하드웨어 구매, 설치, 네트워크 구축 등  초기 비용이 많이 소요된다.
      • 하드웨어 및 소프트웨어 유지보수, 업데이트, 보안 패치 등 관리에 많은 비용과 시간이 소요된다.
      • 트래픽 급증 시, 신속한 자원 확장이 어렵다.
  2. 클라우드란?
    1. 특징
      • 인터넷을 통해 리소스를 제공하는 모델.
      • 가상화 기술을 사용하여 서버, 스토리지, 네트워크 등의 자원을 유연하게 사용 가능하다.
      • 주요 서비스로  IaaS, Paas, SaaS 가 있다.
        • Iaas : Infrastructure as a Service
                    sw서비스에서 보조를 위한 요소들, 가상화된 컴퓨팅 리소스를 제공함.
                    AWS, Google Compute Engine 등이 있음.
        • Paas : Platform as a Service
                     개발자가 앱 개발, 실행 등을 관리할 수 잇는 플랫폼 제공 서비스를 의미함.
                     Google App Engine, AWS Elastic Beanstalk 등이 있음.
        • SaaS : Software as a Service
                     완성된 소프트웨어 애플리케이션 전체를 제공하는 올인원 구조.
                     Google Workspace, Microsogt 365 등이 있음.
    2. 장점
      • 초기 투자 비용이 적고, 사용한 만큼 비용을 지불하는 모델로 운영비용을 절약할 수 있다.
      • 필요에 따라 리소스를 손쉽게 확장하거나 축소 가능해 트래픽 변화에 유연하게 대응 가능하다.
      • 높은 가용성을 가지고 있다. (요구시간동안 서비스 중단 없이 올바르게 수행 가능한 능력)
      • 유지보수, 업그레이드 등이 간편하다.
    3. 단점
      • 데이터 유출 등 비교적 보안이 취약하다.
      • 유지비용이 온프레미스에 비해 높다.
      • 서비스 제공업체 및 네트워크 의존성이 높아 영향을 받을 수 있다.
        항목 온프레미스 클라우드
        소유권 하드웨어/소프트웨어를 직접 소유 리소스 임대 하거나 사용함.
        설치 및 관리 내부 IT 팀이 설치, 운영, 유지보수 서비스 제공업체가 설치, 운영, 유지보수
        유연성 확장성이 낮고, 변화에 따라 추가비용 발생 필요에 따라 빠르게 리소스 확장/축소 가능
        비용 구조 초기 비용이 높고, 유지보수 비용 발생 사용량에 따라 비용이 발생.
        운영 비용이 발생함.
        보안 기업 내부에서 자체 보안 정책 수립 가능. 서비스 제공업체가 보안 및 규정 준수 책임짐
        서비스 가용성 가용성 및 장애 대응을 자체적으로 관리 고가용성 아키텍처 및 장애 대응 자동화 가능.
  3. 하이브라드 클라우드 서비스
    1. 특징
      • 온프레미스와 퍼블릭 클라우드 서비스를 결합하여 사용하는 방식을 의미한다.
      • 각 환경의 장점을 최대한 활용하면서 단점을 보완하는 것을 목표로 한다.
      • 오케스트레이션 및 관리툴을 사용하여 온프레미스와 퍼블릭 클라우드 데이터 관리 가능하다
    2. 장점
      • 온프레미스와 퍼블릭 클라우드 간 자유롭게 이동이 가능해 유연성을 지닌다.
      • 데이터 및 서비스 특징에 따라 처리 클라우드를 선택하여 비용 절감 가능하다.
      • 퍼블릭 클라우드를 통해 신속하게 자원을 확장할 수 있다.
      • 온프레미스를 통해 보안 및 규제를 준수하는 동시에 안정적인 보안을 제공한다.
    3. 단점
      • 온프레미스와 퍼블릭 클라우드를 동시에 제공하여 운영과 관리가 복잡해질 수 있다.
      • 두 환경 사이에 원활한 데이터 이동/연결이 필요해, 네트워크 안정성에 의존한다.
      • 두 환경 간의 데이터 이동과 관리 과정에서 보안 취약점을 고려해야 한다.
  4. 클라우드 환경 QA 주의할 점.
    1. 성능 테스트
      1. 클라우드 환경에서의 부하 테스트 및 스트레스 테스트.
      2. 사용자가 증가했을 때의 응답 시간과 시스템 안정성 확인이 필요하다.
    2. 보안 테스트
      1. 클라우드 환경에서 데이터 이동, 저장 , 처리과정의 보안을 테스트한다.
      2. 데이터 암호화 여부를 확인한다.
      3. 접근 권한 및 인증과 같이 접근 권한이 적절하게 설정되어있는지 확인한다.
      4. OWASP Top 10을 참고하면 좋다.
    3. 가용성 테스트
      1. 네트워크 등의 장애 발생 시, 자동 복구 여부를 확인한다
      2. 클라우드의 오토스케일링 기능을 통해 부하 증가 시, 서비스가 제대로 작동되는 지 확인한다.
      3. 성능 및 테스트 부하와 같이 다양한 트래픽 상황에서 백업 및 복구 여부를 확인한다.
    4. 비용 효율성
      1. 클라우드 사용량에 따라 비용이 발생하므로, 클라우드 리소스 사용 최적화한다.
      2. 불필요한 자원 낭비를 막기 위한 비용 절감 방안을 검토한다.
    5. 테스트 커버리지
      1. 클라우드 애플리케이션의 기능을 테스트하여 시나리오 정상작동 여부를 확인한다.
      2. 성능, 보안, 확장성, 사용성 등 비기능적인 요소를 테스트하여 품질을 보장한다.