Medium - Cloud Computing History

원문 - Paweł Zajączkowski

Trend 파악을 Medium 기고문 요약 포스팅 - 클라우드 컴퓨팅의 역사

500x400 클라우드 기술은 최근 압도적인 인기를 얻고 있다고해도 과언이 아닙니다. 성숙하고 잘 설립된 클라우드 제공자가 몇 개있고 나머지 무수히 많은 기술회사들이 선두기업들을 좇고 있습니다. 창고에서 시작하는 작은 스타트업부터 다국적 기업까지 무수히 많은 사업들이 클라우드에서 통합되거나 시작하고 있습니다.

반면에 클라우드라는 단어 자체는 산업군에 있는 모두에게 너무나도 유명해서 마케팅이나 그들의 IT 서비스를 설명할 때 쓰이곤 합니다. 클라우드가 어떤 방향으로 나아가는지 잘 알기위해서는 기원과 발전과정을 아는 것이 중요합니다. 역사는 반복되니까요, 이 말은 IT산업에서도 마찬가지 입니다.

이 기사에서는 시작부터 최근 근황까지 클라우드의 발전과정을 살펴볼 것입니다. 우리는 산업군을 뒤흔들 만큼 중요한 개념과 사실들에 대해서 알아볼 것입니다. 여기에는 시분할 메인프레임, 인터넷의 탄생, 가상머신, 컨테이너, SaaS, PaaS, IaaS 등등이 포함됩니다.

Share Time Mainframe

우리는 클라우드가 원격으로 쓸 수 있는 타인의 컴퓨터라고 얘기할 수 있습니다. 이 개념을 이용하여 클라우드 컴퓨팅의 기원은 시분할 컴퓨터의 개념으로 1950년대에서 시작됩니다.

그때는 컴퓨터가 매우매우 비쌌기 때문에 조직의 일원 한명에게 모두 구입할 수 있는게 아니었죠. 대신에 몇 몇사람들이 단일 머신 공유의 개념을 생각했습니다. 이른바 dumb terminal이라고 불리던 프로세서 사이클의 낭비를 피하고 동시에 사용가능 한 것이었죠. 이 개념은 1954년 MIT의 John Backus의 여름강의에서 처음 설명되었고 그 뒤로는 1957년 Bob Berner, 그리고 1958년 W.F Bauer을 통해서 설명되었습니다.

그러나 처음 실제로 구현된 것은 1959년 MIT의 John McCarty 가 IBM704와 709컴퓨터들을 개조하여 CTSS(Short for Compatible Time-Sharing System)입니다. 그것은 1961년에 시연이 되었고 같은 해 Donal Blizer가 PLATO II 시스템을 공개했습니다.

상업적으로 첫 성공을 거둔 제품은 1964년에 출시된 Dartmouth Time Sharing System입니다. 이 때 처음으로 컴퓨팅 파워를 상품처럼 취급하여 고객이 그들의 연산에 필요한 시간만큼 컴퓨터를 이용할 수 있었습니다. 이러한 방식은 1980년대 저렴한 개인용 컴퓨터가 보급되기 전까지 사용되었습니다.

The Global Network

현재 클라우드 컴퓨팅의 인기에 중요한 개념은 연결성 입니다. 이것은 기본 토대가 되는 기술입니다, 유저가 클라우드 서비스를 세계 어디에서 언제든지 이용할 수 있는 것입니다.

최초의 메인프레임과 그 사용자들은 같은 빌딩이나 구역에 있어야 했습니다. 1950년에 지역적인 네트워크가 있었지만 1960년에 J.C.R Licklider이 국제적인 네트워크 연결을 제안했습니다. 1962년 Licklider는 DARPA의 새로운 사무실에 책임자로 고용되었으며 미국 펜타곤의 방어 메인프레임을 공군 작전사령부와 청예 산맥과 연결하는 작업을 감독했습니다.

패킷 스위칭을 기반으로한 매우 큰 프로젝트인 ARPANET은 1966년에 시작하여 1969년에 4개의 노드로 구동을 시작하여 1981년에는 200개가 넘는 노드를 구성하게 되었습니다. 이것이 1990년대 초 인터넷의 핵심요소가 되었습니다. 인터넷이 널리 퍼지고 접근성이 높아지면서 많은 수의 웹사이트들이 출시되었으며 데이터 센터와 서버를 임대하는 수요가 발생했습니다. 컴퓨터 사용시간을 판매한 아이디어처럼 역사는 또 반복되는 것이죠.

Virtual Machines

클라우드의 세번째 중요한 요소는 가상화입니다. 사용자는 하드웨어에 독립적인 가상 컴퓨터를 사용할 수 있어야 하고 사용 중인 클라우드와 다른 클라우드 간 이동이 쉬워야 하고 전력과 메모리 설정이 가능해야 합니다. 또한 언제든지 전원을 내리거나 켤 수 있어야 하죠.

당연하게도 이 개념은 새로운 것이 아닙니다. 처음 완전한 가상화를 제공하여 게스트가 독립적인 운영체제를 사용할 수 있게 한것은 1966년 IBM CP40과 CP-67의 운영체제를 이용하여 실험적으로 공개되었습니다.

첫 하드웨어 지원 가상화는 기계적으로 효율적인 가상화를 제공할 수 있는 구조였고 1972년 IBM/370을 통해 시장에 첫 선을 보였습니다. 이 x86가상화 특성은 2005년에 인텔 프로세서에 추가되었고 AMD 프로세서에 2006년 추가되었습니다.

가장 중요한 확장은 운영체제 수준의 가상화 입니다. 이것이 2013년에 등장한 도커와 같이 가벼운 컨테이너의 급부상을 이끌었고 소프트웨어 배포 과정을 향상 시켰습니다.

The ‘Almost’ Cloud

우리가 클라우드 컴퓨팅에 대한 것을 많이 얘기하고 있지만 정확히 누가, 언제 클라우드라는 단어를 고안했는지 짚어내는 것은 쉽지 않습니다. 1990년대 중반 클라우드라는 단어는 인터넷이나 네트워크 다이어그램을 그릴 때 외부를 뜻 했습니다. 인터넷의 확산은 다양한 웹 응용프로그램을 만들어 냈고 사람들이 문서를 수정하는 것과 같이 웹 브라우저를 통해 특정 작업들을 수행할 수 있게 했습니다.

데스크톱의 응용프로그램과 구분하자면 사용자의 컴퓨터에 설치되어 있고 소프트웨어라는 단어가 일반적으로 쓰였습니다. 1990년대 후반 까지는 영업 사원을 통해 판매를 했었죠. 반면에 인터넷 붐은 두가지 중요한 것을 암시합니다. 하나는 많은 수의 스타트업들의 개발자와 응용프로그램들이 쏟아져 나왔고 새로운 웹 응용프로그램을 임대하는 절차의 도움과 단순화가 필요했습니다. 개발자들은 서버와 배포에 대한 걱정을 하기보다는 코딩하는 것에 집중하길 원했습니다. 2006년 Zimki에 의해 PaaS가 처음 등장했습니다. 구글이 2008년에 앱 엔진을 이용해서 후발주자로 등장했으며 그것이 오늘날 구글 클라우드 플랫폼이 되었습니다.

두번째로 어떤 인터넷 회사들은 매우 크게 성장해서 그들의 일을 처리하기 위해서는 엄청난 컴퓨팅 파워가 필요했습니다. 많은 양의 컴퓨팅 파워는 eCommerce 블랙프라이데이 처럼 트래픽이 최고치를 찍을 때는 필요했지만 다른 시간에는 그냥 낭비되는 것이었죠. 이 때문에 잘 관리되고 유연한 외부업체의 인프라를 임대하는 것을 통해 이 문제를 해결하는 아이디어가 발생했고 이것이 IaaS가 되었습니다.

The True Cloud

아마존 웹 서비스는 IaaS의 문을 연 첫 서비스이자 우리가 이해하듯이 적절한 클라우드 컴퓨팅의 기원입니다. 2003년에는 SQS 큐를 제공하는 것으로 시작했습니다. 그것들은 꽤 괜찮았지만 진짜 혁신은 2006년에 Elastic Compute Cloude를 출시하면서 입니다. EC2로 널리 알려진 이것은 우리가 서버를 사는 것이나 데이터 센터를 구축하는 것과 달리 가상머신을 초당 사용한 것에 대한 비용을 청구하는 방식입니다. 마이크로소프트도 유사한 서비스은 Azure Virtual Machinesdmf 2010년에 런칭했으며 2012년에 구글도 Google Compute Engine을 출시했습니다.

다른 기업들도 클라우드 컴퓨팅 사업 경쟁에 참여해서 잠재적인 경쟁자로 부상하고 있지만 현재로는 아마존과 마이크로소프트와 구글이 절대적입니다. 오라클과 IBM, Alibaba가 나머지 서비스의 지분을 차지하고 있죠. 가상머신은 클라우드 플랫폼의 핵심이지만 클라우드 시스템을 개발하는데 다른 기술도 매우 많이 필요합니다. 네트워크, 보안, 메커니즘, 기능들, 응용프로그램과 컨테이너 엔진, 다양한 형태의 저장소, blobs, 네트워크 파일 시스템, 관계형/비관계형 데이터베이스들, API 게이트 웨이 들이죠.

Going Beyond

오늘날 많은 클라우드 서비스들은 주어진 영역에서 수년간의 경험의 결과이며 세계에서 가장 크고 정교한 프로젝트들이 출시되기 전에 내부도구들로 사용하는데 성공적으로 활용되었습니다.

관련된 흥미로운 사례로 구글 스패너를 들 수 있습니다. 처음에는 분산형 관계 데이터베이스와 GPS, 원자 시계를 이용해 강력한 일관성을 보장했었죠. 그것은 구글 광고 시스템의 전체적인 곳에 사용되었으나 고전적인 관계형 데이터 베이스로는 충분하지 않았죠. 강화된 자동 보안 위혐에 대한 감시가 클라우드 배포에 대한 또 다른 좋은 예입니다.

세계적인 흐름은 소프트웨어 시스템의 배포 과정을 최대한 자동화로 하는 것입니다. 코드의 양과 환경 설정하는데 걸리는 시간, 실수할 기회를 줄이는 것이죠. 기술은 각 장점에 따라 중앙화와 분산화의 패러다임을 반복합니다.

이것은 개발자들이 핵심 비즈니스 가치에 더욱 집중할 수 있게 해줍니다. 그리고 이것이 관계자들에게 더욱 빨리 전달이 되죠. 새로운 기술은 빠르게 발전되고 클라우드는 많은 시간을 많이 들이지 않고 그것을 개발하는 창구가 되었습니다. 결국에 누군가가 모든 작업을 완료했고 결과를 공휴하고 싶은데 왜 그것을 마다할까요?

Business Perspective

클라우드 컴퓨팅은 60년 전에 뿌리를 두고 있지만 현재 세계적인 단어가 되었고 최근 몇년간 세계적인 인기를 얻었습니다.IT업게와 컴퓨터과학 분야에서 많은 유행들이 다시 떠오르고 사그라듭니다. 클라우드 제공자들과 관련 플랫폼들은 빠르게 발전하고 새로운 서비스들은 나날히 소프트웨어를 효율적으로 만들고 호스팅할 수 있게 합니다. 이런 흐름을 캐치하는 사람들은 가만히 앉아있는 사람에 비해서 계속해서 이익을 얻을 것입니다.

References:

Summary

  • 클라우드 서비스의 기원은 시분할 컴퓨터부터 시작한다.
  • 개인용 컴퓨터를 갖기 불가능했던 시절 컴퓨터를 사용하는 시간을 돈으로 판매했다.
  • 인터넷의 발달로 서버와 같이 인프라를 임대해 주는 곳이 탄생했다.
  • 일정 기간 동안 많은 트래픽이 발생하는 서비스들 때문에 IaaS 개념이 탄생했다.
  • 아마존의 EC2가 진정한 클라우드 서비스의 기원이라고 할 수 있다.
  • 소프트웨어를 만들고 배포하는 기술이 나날히 발전하고 있다. 그 흐름을 잘 따라가야 효율적인 자원활용이 가능하다.

© 2019. All rights reserved.

Powered by Hydejack v8.1.1