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