IaaS/퍼블릭클라우드

(완독정리) 클라우드 컴퓨팅 솔루션 아키텍팅/에이콘 - 5. 기반 클라우드 아키텍처

armyost 2021. 7. 29. 05:25
728x90

클라우드 솔루션을 활용하면 중복, 복원력, 재해 복구를 위한 설계 방식이 획기적으로 바뀐다. 아키텍처 기본 설계 원리는 클라우드를 활용할 경우 달라진다. 

 

1) 글로벌 서버 로드 벨런싱

여러 사이트 간 트래픽 흐름을 처리하는 메커니즘은 많은데, 거의 대부분 DNS정보를 변경하는 방식을 활용하고 있다. DNS정보를 변경하는 데는 때때로 몇 시간이 걸릴 수 있다. 그러나 운영 사이트에 장애가 발생해 이중화된 사이트로 전환해야 하는 경우 트래픽은 이중화된 사이트로 최대한 빨리 넘어가야 한다. 이때 글로벌 서버 로드 벨런싱을 활용하면 장애 발생시 사전 계획된 작업을 진행할 수 있다. 

 

2) 데이터 베이스 복원력

데이터베이스를 구축할 때 마스터-슬레이브를 구성하는 것이 일반적이지만 대량 트랜젝션과 트래픽이 높은 환경에서 데이터베이스 장애가 발생할 경우 난관에 봉착한다. 이땐느 Active-Active 으로 구성하고 양방향 복제를 통해 두 데이터베이스 서버간 데이터를 동기화할 수 있다. 이 경우 복잡도는 증가하지만 중복을 통한 서버가 서비스를 할 수 있는 용량이 늘어나고 복원력도 높아진다. 

 

3) 캐싱과 데이터베이스

아키텍처를 설계할 때는 콘텐츠 유형도 고려해야 한다. 예를들어 캐싱 기술의 사용 유무와 사용 범위에 따라서 데이터베이스 서버 부하, 로드벨런싱 설계, 데이터베이스 서버 크기, 스토리지 유형, 스토리지 속도, 스토리지 처리 및 복제 방법, 네트워크 구성, 네트워크 대역폭 요구사항도 달라진다. 최근 조사에 따르면 기업에서 사용하는 데이터의 80~90%는 비정형 범주에 속한다고 한다. 

 

4) 경고 기반과 큐 기반 확장성 설정

웹 계층과 애플리케이션 계층은 동일한 배포 이미지를 여러 서버에 구성할 수 있기 때문에, 이중적인 확장 아키텍처를 설계할 수 있다. 즉, 프론트엔드 웹서버의 확장성과 백엔드 애플리케이션 서버의 확장성을 둘다 확보할 수 있는 배열 구조의 웹사이트 형태가 된다. 

 

5) 하이브리드 클라우드 사이트 아키텍처

주로 사이트 이중화 , 애플리케이션 확장성 확보에 사용된다. 

 

6) 확장성 확보를 위한 멀티 클라우드 아키텍처

하나의 퍼블릭 클라우드 혹은 픈라이빗 클라우드 환경에서 애플리케이션 호스팅의 유연성을 강화하기 위해 주로 사용한다. 

 

7) 장애 전환 멀티 클라우드 아키텍처

멀티 클라우드 아키텍처를 비즈니스 연속성 확보를 위해 활용하는 경우 다른 클라우드 서비스 공급자 환경이라 할지라도 동일한 서버 템플릿과 스크립트를 사용해 리소스를 구성하고 시작할 수 있게 하면 재해 상황에 빠르게 대처할 수 있다. 

한 클라우드 서비스 공급자 플랫폼상의 서버와 다른 공급자 플랫폼의 서버간 데이터를 안전하게 주고 받는 방법 중에는 퍼블릭 IP주소와 VPN을 활용하는 방법이 있다. 

 

8) 클라우드와 전용 호스팅 아키텍처

클라우드 환경과 기존 데이터 센터간 퍼블릭 IP와 암호화된 터널 방식을 제공하는 가상 사설망을 활용해 하이브리드 아키텍처를 구성할 수 있다. 

 

하이브리드 클라우드를 위한 아키텍팅

1) 하이브리드 사용자 인터페이스

각각의 사용자 그룹이 가장 적합한 환경에서 일처리를 할 수 있도록 보장하고 예기치 않은 워크로드 때문에 애플리케이션 성능에 문제가 발생하지 않도록 하이브리드 사용자 인터페이스를 구성한다. 

 

2) 하이브리드 처리

클라우드 탄력성을 이용하여 구성한다. 호스트 환경 간에 메시징을 사용하는 비동기적 구성을 통해 느슨한 결합이 보장되게 한다. 

 

3) 하이브리드 데이터

클라우드 환경에 탄력성을 보장하는 저장 장소에 다양한 크기를 가진 데이터를 배치하고 애플리케이션은 정적 환경에 배치한다. 

 

4) 하이브리드 백업

재해 복구를 위해 주기적으로 애플리케이션에서 데이터를 추출해 클라우드 환경의 탄력성을 보장하는 저장 장소에 아카이브 한다. 

 

5) 하이브리드 백엔드

데이터를 집중적으로 처리하는 백엔드 기능과 다양한 종류와 크기의 워크로드를 저장할 수 있는 스토리지를 클라우드 환경에 배치하고, 다른 모든 컴포넌트는 정적 데이터 센터에 배치하는 방식이다.

 

6) 하이브리드 애플리케이션 기능

다양한 워크로드를 처리하는 애플리케이션이 사용자 인터페이스, 프로세싱, 데이터 처리 기능으로 구성되어 있다고 할때, 이 애플리케이션 기능의 일부는 탄력적인 클라우드 환경에 배치하고 같은 유형에 속하는 애플리케이션의 일부 다른 기능은 정적인 환경에 배치하는 형태다. 

 

7) 하이브리드 멀티미디어 웹 애플리케이션 

캐싱하기 어려운 멀티미디어 파일은 고성능 서비스를 위해 탄력적 클라우드 환경에 분산시켜 운영한다. 

 

8) 하이브리드 개발환경

이 환경은 신규 애플리케이션을 개발하는 테스트 하는데 활용한다.