9장. 아키텍처
클라우드 컴퓨팅이라는 용어는 '구름'이라는 뜻에서 나왔습니다. 이는 어딘가에 존재하는 컴퓨터 자원을 가리킵니다. 클라우드 컴퓨팅은 어떤 실체인지 물리적으로 파악할 필요가 없는 개념으로, 그 구성이 어떻게 이뤄져 있는지 알지 못해도 됩니다. 이러한 모호함은 큰 리스크가 될 수 있지만, 동시에 사용자에게 편의를 제공합니다.
과거에는 서버를 구입하고 운영하는 데에 큰 비용과 시간이 소요되었습니다. 클라우드 컴퓨팅은 이미 준비되어 있고, 실시간으로 이용 가능합니다. 서버를 직접 구입하는 데에는 상당한 금액이 필요했지만, 클라우드는 몇 만 원부터 이용이 가능하며, 적절한 활용으로는 Free Tier와 같은 혜택을 통해 저렴하게 운영할 수 있습니다. 이에 따른 편리함과 비용 절감 측면이 있지만, 보안에 대한 우려도 존재합니다. 일부 사용자들은 데이터가 다른 회사의 서버에 저장된다는 점에서 보안 문제에 대한 우려를 표명합니다.
안전한 데이터 보관에 대한 의문은 누군가가 집에 개인 보안 장치를 갖추면서 돈을 보관하는 것이 안전한지 은행에 맡기는 것이 더 안전하다고 말한 것과 유사합니다. 클라우드 서비스 업체가 망한다면 어떻게 될지에 대한 우려도 있지만, 이러한 리스크는 직접 서버를 운영하면서 발생할 수 있는 데이터 손실 등의 문제와 비교하면 어떤 것이 더 높은지는 알 수 없습니다. 따라서 이러한 결정을 내리기 위해 고려해야 할 사항 중 하나는 아닐 것입니다.
컴퓨팅의 발전은 메인프레임에서 큰 서버로, 단말기에서 입력과 출력 위주로 진화한 클라이언트 서버 시대에서부터, 단말기의 성능 향상과 분산화된 환경이 발전한 분산 컴퓨팅 시대까지 이어졌습니다. 클라우드 컴퓨팅은 이러한 발전의 연장선상에서 나타난 개념으로, 현대 IT 시스템의 효율성과 유연성을 높이는데 일조하고 있습니다.
클라우드 컴퓨팅의 혁신과 이점
과거에는 네트워킹 컴퓨팅 단말이 주로 웹 브라우저를 통해 업무를 처리하는 시대였습니다. 그러나 클라우드 컴퓨팅의 발전으로 기업들은 IT 초기 투자 비용을 절감하고, 신속한 시스템 구축 및 활용의 이점을 경험하고 있습니다. 가상화와 분산 처리 기술의 발전으로, 클라우드 컴퓨팅은 주문 즉시 시스템을 추가하고 운영하는 것을 가능케 하였습니다. 이제는 인스턴스를 단위로 증설하는데 5분 내지 10분이면 충분합니다.
과거에는 서버 한 대를 구매하기 위해서는 견적, 발주, 설치, 셋팅, Configuration 등 다양한 복잡한 절차가 필요했습니다. 실제 프로젝트에서는 이러한 프로세스에 3개월이 소요되었습니다. 그러나 클라우드 컴퓨팅을 활용하면 하루 내에 시스템을 증설할 수 있으며, 예측하지 못한 트래픽 증가에도 빠르게 대응할 수 있습니다.
클라우드 컴퓨팅은 초기 비용 부담을 줄이고, 사용한 만큼 지불하는 형태로 유연한 과금이 가능합니다. 예전에는 서버 구매 비용이 상당히 높았는데, 클라우드를 사용하면 초기 투자 부담이 크게 감소하게 되었습니다. 증설이 필요한 경우에도 효율적으로 운영이 가능하며, 사용한 만큼만 과금되므로 비효율적인 자원 사용을 최소화할 수 있습니다.
또한, 클라우드 컴퓨팅은 DB 솔루션과 같은 소프트웨어 라이센스 비용을 포함하여 제공됩니다. 클라우드 서비스 업체가 이미 소프트웨어 라이센스를 구매하고, 사용자는 실제 사용량만큼 비용을 지불하게 됩니다. 이는 대량 구매의 경우 더 효율적인 비용 구조를 가져올 수 있습니다.
클라우드 컴퓨팅의 이유와 장점
클라우드 컴퓨팅은 몇몇 서비스에서 유연하게 확장 가능한 컴퓨팅 자원이 필요한 경우에 특히 적합합니다. 명절에는 철도 예매 서비스나 연말에는 정산 서비스와 같이 특정 시기에 트래픽이 증가하는 서비스는 클라우드 컴퓨팅이 적합한 선택입니다. 현재 서버 구조의 세부 내용은 알 수 없지만, 클라우드의 유연성은 매우 적합할 것으로 보입니다.
게임 업체도 클라우드를 이용하여 시간대별 게임 서버를 효율적으로 관리할 수 있습니다. 특히 새벽 시간대에는 게임 이용자가 적을 것이라는 상식을 고려하여 서버를 관리할 수 있습니다. 이러한 유연한 서버 관리는 비용을 절감하고 트래픽 증가에 대응할 수 있는 이점을 제공합니다. 퍼블릭 클라우드와 프라이빗 클라우드는 서비스 제공 방식에 따라 선택할 수 있습니다. 퍼블릭 클라우드는 클라우드에 서버를 구축하고 인터넷을 통해 서비스를 제공하는 형태이며, 프라이빗 클라우드는 클라우드에 서버를 두고 내부 인터넷 또는 서버를 통해 이용하는 형태입니다.
클라우드 컴퓨팅의 또 다른 장점은 서버 사용 용량이 늘어났을 때 유연하게 대처할 수 있다는 점입니다. 물리적 서버를 관리할 필요가 없으며, 초기 비용 부담이 낮고 트래픽 예측의 어려움을 고려할 때 비용을 절감하고 리스크를 줄일 수 있습니다. 클라우드 서비스 제공 업체는 하드웨어 관리와 장애 대응에 대한 부담을 줄여주므로 초기 투자를 저렴하게 할 수 있는 이점이 있습니다.