"클라우드 컴퓨팅"은 "클라이언트 서버"와 어떻게 다릅니 까?


30

그는 새로운 "클라우드 컴퓨팅"회사의 CEO가 오늘날 금융 TV 프로그램에서 자신의 회사를 설명하는 것을 보면서 "클라우드 컴퓨팅은 구식 클라이언트 서버 컴퓨팅보다 우수하다"고 말했다.

이제 혼란 스러워요. 누군가 클라이언트 서버와 달리 "클라우드 컴퓨팅"의 의미를 설명해 주시겠습니까?

내가 이해하는 한, 클라우드 컴퓨팅은 실제 하드웨어를 소유하거나 유지 관리하지 않는 네트워크 서비스 모델에 가깝습니다. "클라우드"는 모든 백엔드입니다. 그러나 여전히 "클라우드"환경과 통신하는 응용 프로그램이있을 수 있습니다. 웹 사이트를 실행하면 사용자가 작성하는 양식이 표시되고 페이지의 단추를 누른 다음 웹 서버에서 생성 된 일부 보고서가 반환됩니다. "클라우드"컴퓨팅과 동일하지 않습니까? 내 웹 브라우저를 "클라이언트"로 간주하지 않겠습니까?

내 질문은 "클라이언트 서버"와 관련하여 "클라우드 컴퓨팅"의 개념과 관련이 있습니다.

이 사이트에 부적절한 질문 인 경우 죄송합니다. 스택 세계에서 가장 가까운 곳이며 이번이 처음입니다. 70 년대 후반 메인 프레임 시절부터 프로그래밍을하고있는 오래된 타이머입니다.


이것은 단순화이지만 주요 차이점은 데이터가 저장되는 위치라고 생각합니다. 클라이언트 서버에서 회사는 자체 데이터를 저장합니다. Cloud Computing에서 데이터는 클라우드 애플리케이션 공급자가 저장합니다. 이는 클라우드 애플리케이션 사용자가 거의 유지 보수를하지 않아도되며 클라우드 앱 개발자는 누군가 3 버전의 소프트웨어를 손상시키지 않아도 코드와 데이터베이스를 업데이트 할 수 있기 때문에 이점이 있습니다. 물론 단점은 앱 사용자가 다른 사람의 저장소에 데이터를 저장한다는 것입니다.
Dunk

3
요컨대, Client-Server는 어제 과대 광고 였고 The Cloud는 현재 과대 광고라고 말할 수 있습니다. :-)
JensG 2009 년

클라이언트-서버는 어셈블리 코드가 Excel의 클라우드 컴퓨팅입니다.
mouviciel

1
그것은 렌터카를 운전하는 것과 당신이 소유 한 것을 운전하는 것의 차이점입니다. 서비스에 대해 걱정할 필요가 없다는 점을 제외하면 전혀 차이가 없습니다!
제임스 앤더슨

답변:


28

엄밀히 말하면 '클라우드'는 없습니다. 그 CEO가 뱉어 낸 것이 아닙니다. 물론 인터넷도 있습니다. 호스팅 된 서비스가 있습니다. VPS가 있습니다. 컨텐츠 전달 시스템이 있습니다. 우리는 (기술 담당자) 특정 호스팅 서비스 모델을 참조하기 위해이 용어에 적응했습니다. 그러나 소비자 미디어의 '클라우드'는 주로 '인터넷'으로 느슨하게 번역 된 마케팅 용어입니다. 종종 '이달에 요금을 청구합니다'라는 의미이기도합니다.

'클라우드'와 '클라이언트 서버'라는 두 용어는 관련이 없다고 생각하는 것이 맞습니다. '클라우드에'서비스를 호스팅한다고해서 (항상 그 문구를 사용한 후에 드라마틱 한 'dun-dun-daaaaaaa'를 추가하고 싶습니다) 클라이언트-서버 앱을 덜 클라이언트-서버 -y로 만들지 않습니다. 예를 들어 '웹'은 주로 클라이언트-서버 모델을 사용합니다. 웹 브라우저는 클라이언트입니다. 웹 서버는 서버입니다. 웹 서버가 '클라우드에서'호스팅된다고해서 웹 브라우저 / 웹 서버 관계가 클라이언트-서버라는 사실은 바뀌지 않습니다.

따라서 클라이언트-서버라는 용어는 시스템에서 두 엔티티 간의 관계를 정의합니다. 엔티티가 물리적으로 호스팅되는 위치는 관련이 없습니다.

기본적으로 당신은 맞습니다. 두 사람은 비교할 수 없습니다.


최소한 두 가지 유형의 단서가 있습니다. 관리가 떠난 상위 레벨 클라우드-기술적으로 "증기"또는 "연기"(따라서 "스모크웨어"라는 용어)로 알려진 저수준 클라우드-서버가 기술적으로 위치한 하위 레벨 클라우드 "안개". 냉소에 대해 죄송합니다.
Emilio Garavaglia

21

"클라우드 컴퓨팅"은 두 가지 일을 의미하는 포괄적 용어입니다. 첫째, "파일 서버", "데이터베이스 서버"와 같은보다 구체적인 사용 사례와 달리 단일 용어 뒤에 클라이언트-서버 모델의 가능한 모든 사용을 추상화하는 것, "웹 서버", "응용 프로그램 서버"등; 둘째, 하드웨어, 토폴로지, 위치 및 소유권 측면에서 서버 아키텍처 자체를 추상화합니다.

오늘날에도 여전히 보편적으로 사용되는 전통적인 클라이언트-서버 모델에서 클라이언트는 특정 작업을 수행하는 서버에 연결합니다. 이 서버는 데이터베이스, 일련의 파일 공유 또는 웹 페이지를 호스팅 할 수 있습니다. 클라이언트가 해당 서버에 연결하면 두 컴퓨터간에 발생할 통신 및 데이터 전송 유형에 대한 암시적인 이해가 있습니다. 클라이언트 나 최종 사용자가 서버 하드웨어의 기능과 그 한계에 대해 이해하고있을 수도 있습니다. 클라이언트 시스템과 서버 사이의 상대적으로 "긴밀한 연결"은 유지 관리를 위해 서버를 중단해야하는 sysadmin에게 문제를 일으킬 수 있습니다. 이 서버가 제공 한 리소스에 의존하는 모든 응용 프로그램은 다른 서버를 가리켜 야합니다.

클라우드 모델에서 하드웨어, 토폴로지, 분업 및 실제 머신 수는 모두 단일 엔드 포인트 뒤에 추상화됩니다. 좀 더 정적 인 이전 세대의 "웹 사이트"와는 대조적으로, 현대의 "웹 응용 프로그램"에 비유 할 수 있습니다. 우리는 배후에 애플리케이션 서버와 DB 서버가 있다고 생각할 수도 있지만, 실제로 신경 쓸 필요는 없습니다. "에지"이외의 사용자에게 전체 응용 프로그램을 제공하는 작업의 일부로 웹 서버는이 프런트 도어 뒤의 다른 시스템에서 제공하는 모든 데이터 및 서비스에 대한 액세스를 제어 할 수있는 통합 엔드 포인트를 제공합니다.

결론은 응용 프로그램의 기능을 제공하기 위해 단일 엔드 포인트가 노출 된 상태에서 데이터를 가져 오는 위치, 호출 할 위치 및 원격 응용 프로그램 프로세스 대신 응용 프로그램의 모든 클라이언트 소비자가 신경 써야하는 모든 것입니다 등; 즉,이 클라우드 내 서비스 제공 업체의 관리자와 아키텍트는 클라이언트가 더 현명하지 않아도이 "클라우드 서비스"의 머신, 토폴로지 및 기타 특정 구현 세부 사항을 자유롭게 변경할 수 있습니다. Facebook은 현명하다고 생각한다면 다른 DBMS와 모든 새 서버를 사용하여 처음부터 전체 데이터 스토리지 시스템을 재 구축 할 수 있었으며, 전환하는 동안 사이트를 계속 사용할 수있는 한 아무도 현명하지 않을 것입니다. 사실 페이스 북은 여러 번 그렇게했습니다.


2
GrandmasterB의 답변에 포함 된 '클라우드'마케팅의 냉소주의에 감사하는 한, 이것이 진정한 해답입니다.
Eric King

나는 이것이 최선의 대답이라고 생각했다!
Arsal

5

"클라우드 컴퓨팅"의 핵심 부분은 배치 관리 도구입니다.

"클래식"배포에서는 특정 응용 프로그램에 대해 특정 컴퓨터를 주문했으며 구성이 상당히 고정되었습니다.

클라우드 환경에는 풀에 다소 표준화 된 하드웨어와 일부 템플릿 형식에서 가상 머신을 생성 및 구성하는 API가 있습니다. 이를 통해 결함이있는 시스템을 필요에 따라 쉽게 교체, 확장 또는 축소 할 수 있으며 하드웨어는 자동화 된 방식으로 필요에 따라 할당됩니다.

물론 적절한 관리자도 그 전에도 대부분을 수행했지만 순수 마케팅 외에도 표준화 된 API ( "프라이빗 클라우드"를 위해 Eucalyptus와 같은 도구로 제공되는 Amzons AWS API)와 새롭게 등장하는 도구 (즉, 꼭두각시)가 있습니다.


이 중 많은 부분이 실제 기술보다는 "마케팅"에 관한 것입니다.
BellevueBob

"마케팅"의 한 가지 큰 측면을 잊고 있습니다. 마케팅은 "광고"일뿐만 아니라 "가격"이기도합니다. 클라우드 컴퓨팅이 클라이언트-서버 컴퓨팅과 다른 곳입니다. 유틸리티 (전기, 수돗물)와 같은 가격이기 때문에 때로는 유틸리티 컴퓨팅이기도합니다. 물론이 모델도 새로운 것이 아니며 메인 프레임 컴퓨팅의 가격이 책정되었습니다.
Jörg W Mittag

2

'전통적인'클라이언트-서버 아키텍처에서는 정적으로 리소스를 할당했습니다. (또는 적어도 그와 같이 표시됩니다. 클라우드 이전 기간에 경험이 없으므로 틀렸다면 허위 마케팅에 의존하십시오.) 데이터베이스 서버는 db.yourcompany.com이라고하며 웹 서버는이 서버와 통신했습니다. 리소스를 늘리려면 다른 전용 웹 서버를 추가하고로드 균형 조정 등을 제공하십시오.

반면에 클라우드 스트레스는 더 낮은 수준의 추상화에 적용되었으며 '서버'가 구성되는 방식을 나타냅니다. 예를 들면 다음과 같습니다.

  • HAAS (Hardware As A Service)-클라이언트 (회사)는 원하는 OS를 설치할 수있는 호스트 컴퓨터를 얻습니다. 차이점은 컴퓨터에서 실제로 컴퓨터를 얻는 것이 아니라 팜에서 가상 컴퓨터를 얻는다는 것입니다. 가상화되어 있기 때문에 계산 능력과 같은 하위 수준의 세부 사항을 신경 쓸 필요가 없으며 기계 사용 여부, 연결 방법 등에 관계없이 요금을 지불합니다.
  • PAAS (Platform As A Service)-수준이 높을수록 어딘가에서 실행되는 응용 프로그램을 작성합니다. API는 일반적으로 충분하기 때문에 클라우드 제공 업체는 요청시 리소스를 할당 할 수 있으므로 응용 프로그램이 급격히 줄어든 경우 더 많은 리소스에 대한 비용을 지불하고 악의적이지 않은 DDOS로 고통 받게됩니다.
  • SAAS (Software As A Service) – 또 다른 수준이 높을수록 응용 프로그램을 작성하지 않고 응용 프로그램을 사용합니다. 구현 방법이나 사용하는 리소스는 중요하지 않습니다. 언제 어디서나 사용할 수 있습니다.

대부분의 경우 실제 서비스가 대기업 (예 : Amazon 또는 Google)으로 아웃소싱되는 것은 아닙니다. 대기업이나 대학은 자체 내부 클라우드를 배포하여 리소스를보다 쉽게 ​​관리 할 수 ​​있습니다. 이를 통해 필요에 따라 추가 할 리소스를 애플리케이션에 추가 할 수 있습니다. 새로운 내부 시작이 성공하면 서버가 오버로드되었다고 걱정할 필요가 없습니다. 그러나 규모의 경제 역할은 일반적으로 보안과 같은 특별한 요구 사항이있을 때만 수행됩니다.

사용자 관점에서 보면 투명하고 클라이언트-서버 아키텍처처럼 보입니다. 평범한 오래된 HTTP를 사용하는 동안 웹 서버가 '클라우드에서'살 수 있습니다. 아이디어 문제와 솔루션은 실제로 50 년대 메인 프레임으로 돌아갑니다. 있으며 현재는 두꺼운 클라이언트 PC와 대조적으로 더 많이 돌아옵니다.

주어진 문장과 말에서 회사가 역동적이고 직원을 가능하게하는 동시에 핵심 역량에 집중하고 있다는 말은 유행어라고 할 수 있습니다.


1

누군가 클라이언트 서버와 달리 "클라우드 컴퓨팅"의 의미를 설명해 주시겠습니까?

그것은 당신의 관점에 달려 있습니다. 비즈니스의 경우 클라우드 컴퓨팅은 일반적으로 서비스를 지원하는 여러 머신에서보다 유연하게 사용할 수 있기 때문에 좋습니다. 이러한 유연성 덕분에보다 신속하게 대응할 수있어 비용을 절감 할 수 있습니다. 기업은 클라우드 제공 업체가 백업, 재해 복구, 물리적 보안 및 처리하고 싶지 않은 기타 모든 인프라 작업을 수행 할 수 있도록 활용할 수 있습니다. 이는 일반적으로 비용을 절감하고 품질을 향상시킵니다.

소비자의 관점에서 보면 연결 품질과 안정성이 향상됩니다. 일부 클라우드 제공 업체는 소비자의 대기 시간을 돕기 위해 서버를 배포하는 데 도움을줍니다.

프로그래머에게는 ... 서버가 어려움을 겪고 때로는 특수한 API를 사용해야하는 클라이언트-서버 프로그래밍입니다.


-1

"클라우드 컴퓨팅"과 "클라이언트 서버"는 매우 유사하다고 말하는 것이 공정하다고 생각합니다. 내 관점에서 볼 때 클라우드 컴퓨팅은 "클라이언트 서버"모델보다 서버에 더 의존하는 것 같습니다. 이론적으로 일부 형태의 클라우드 컴퓨팅은 클라이언트 연결에 관계없이 발생할 수 있습니다. 클라이언트 통신없이 클라우드에서만 실행되는 응용 프로그램의 이점은 그다지 도움이되지 않으므로 해당 서버에 대한 클라이언트 통신 형식을 만드는 것이 좋습니다.

본질적으로 나는 대부분의 컴퓨팅 성능이 수행되는 위치에 의존한다고 생각합니다. 일반적으로 서버는 많은 클라이언트 연결과 동시 작업을 관리하여 해당 연결을 처리하기 위해 표준 사용자 컴퓨터보다 하드웨어 및 컴퓨팅 성능 측면에서 더 나은 사양을 갖습니다. 클라우드 컴퓨팅은 일반적으로 클라이언트 실행 코드가 될 서버를 서버로 옮기고 클라이언트가 가능한 한 "멍청한"상태가되도록하여이를 이점으로 사용합니다. 따라서 동일한 유형의 작업을 처리하기 위해 더 적은 사용자 리소스가 필요합니다.

가장 좋은 대답은 아니지만 그것이 내가 보는 방법입니다.


2
동의하지 않습니다. 웹은 클라이언트-서버 모델을 사용합니다. 웹 브라우저는 클라이언트입니다. 웹 서버는 서버입니다. 웹 서버가 '클라우드에'배치되어 있다는 것은 관련이 없습니다. 두 용어는 비교할 수 없습니다.
GrandmasterB

나에게 그들은 대부분의 컴퓨팅이 수행되는 곳을 제외하고는 본질적으로 동일하다고 생각하기 때문에 비교할 수 있습니다. 내 마음에 "클라우드 컴퓨팅"은 클라이언트의 계산 지원이 거의 없다는 점을 제외하고는 동일합니다.
StMotorSpark
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.