'Focusing on .../IT Infrastructure Monitoring'에 해당되는 글 2건

  1. 2013.07.05 :: Google Global Cache(GGC) 구조 및 동작 원리
  2. 2013.07.05 :: Google CDN vs Netflix CDN

방법은 여러가지가 있겠지만, 대용량 분산과 QoS를 합리적 로직으로 풀어낸 부분이 너무나 마음에 드는 구조이고, service architecture는 개인적인 경험으로 봤을 때, 인증/권한 architecture중의 하나인 PKI Infrastructure와 유사해 보인다.

 Google Kenya and the Google Global Cache

Google is well known for snatching up top-level talent, this holds true in Kenya as well. ICT groundbreaker Joe Mucheru heads up the Kenya office, and he’s surrounded by a team of smart young technologists. I had the chance to meet Isis Nyong’o (Strategic Parter Development Manager) while getting ready for Barcamp Nairobi, and then Chris Kiagiri (Tech Lead) and Mark de Blois (Geographic Supervisor) last week before I left.

Google Kenya is Different

I found out a couple of interesting points that make the Google Kenya office even more interesting than before. It turns out that there are 3 offices in Africa; Kenya, South Africa and Egypt. However, the office in Kenya is neither a sales office nor an engineering office, which makes it unique globally. In fact, it is the only “deployment office” worldwide. This means that the Kenya office can be used as a launch point for new ideas and is the central focal point for Google’s Africa strategy.

It came down to a choice between Senegal and Kenya – one French-speaking and one English-speaking, and both with a fairly well developed technology sector. Senegal had a direct transatlantic cable, but Kenya had the right people available. At Google it seems, finding the right personnel usually trumps about everything else.

Speaking of which, they’re still looking for the right people, not only in Senegal, but also in Nigeria, Ghana, Rwanda, Tanzania and Uganda. Unfortunately, Google HR seems to be geographically challenged, as jobs in Egypt are somehow not in Africa…

Dealing with a Slow Internet in Africa

The Google Global Cache (GGC) was announced in May at the African Network Operators Group (AFNOG) conference in Morocco. In lieu of data centers in Africa, Google has created a strategy that is housed at major exchange points to serve Africa at the edge of Google’s network. Internal tests suggested at least 20% performance increase in high latency links, like East Africa.


[The top cycle (1,2,3 & 4) is how things normally work. The bottom cycle (5,6 &7) is where the changes are.]

It works like this. Once anyone within that exchange point’s sphere visits a webpage, the information is cached and it becomes much faster for anyone else visiting that website to access it. Pre-fetching of data also that improves performance over time, even for dynamic content.

This is an interesting strategy. It’s a win for ISP’s (less international traffic means lower costs), a win for end users (pages load faster), and a win for Google (faster, better usage).

The pilot in Africa was turned on in Kenya just 2 weeks ago. There are 17 international exchange points (IXP) in 15 African nations, so with a positive pilot in Kenya, this could soon be seen continent-wide.

Keep your ears open, there are hints of even more interesting stuff coming out of the Google Kenya office.

LG U+ 가입자의 경우 LG U+ Google Cache로 부터 어떤 흐름으로 동영상이 다운로드 되는지 설명드리도록 하겠습니다. 먼저 LG U+ Google Cache내에 사용자가 요청한 동영상이 있는 경우(Cache Hit)의 흐름을 알아보고, 이후 동영상이 없는 경우(Cache Miss)의 흐름에 대해서 살펴 보도록 하겠습니다.


LG U+ 회선을 통한 YouTube 다운로드


(1) LG U+ Google Cache에 동영상이 있는 경우 (Cache Hit)

LG U+ 망 내부에(LG U+ IDC;Internet Data Center에) Google Cache가 들어 있다는 점 외에는 지난 시간의 KT 그림과 동일한 구성입니다.


1.LG U+ 가입자가 브라우져에서 www.youtube.com을 입력하고, 단말에서 LG U+ DNS 서버로 DNS Query를 보냅니다. 반드시 LG U+ DNS일 필요는 없습니다. 어떤 DNS 서버이든 상관 없습니다.
2.그리고 LG U+ DNS는 YouTube 서버 주소 74.125.71.136을 가입자 단말로 전달합니다.
3.가입자는 Avatar 동영상을 클릭합니다.
4.이제 HTTP GET을 통해 Avatar 동영상 요청 메시지가 YouTube 서버로 전달됩니다.
5.이 대목이 아주 중요하니다! HTTP GET 메시지를 받은 YouTube 서버는 단말의 IP 주소 대역을 확인합니다. 이 경우 동영상을 요청한 가입자의 IP 주소 대역이 LG U+입니다. 그러면 YouTube 서버는 LG U+내에 위치한 Google Cache를 선택하여
6.그 hostname(o-o.preferred.lgupluswireline-gmp1.v9.lscache5.c.youtube.com)을 가입자 단말로 전달합니다.
7.가입자 단말은 hostname에 대한 DNS Query를 하고 (역시 DNS 서버가 LG U+ 일 필요는 없음)
8.그 응답으로 IP 주소 61.36.166.12를 받아 옵니다. 이 주소는 LG U+ 내의 Google Cache 주소입니다.
9.이제 단말에서 LG U+ Google Cache로 Avatar 동영상을 요청하고
10.여기서 또 중요! LG U+ Google Cache는 다시 HTTP GET을 보낸 단말의 IP 주소 대역을 확인합니다. 만약 이 주소 대역이 LG U+ 가입자 대역이 아니면 HTTP 302 Found 메시지를 단말로 보내어 미국에 있는 Google Cache로 붙도록 합니다(HTTP Redirect). 즉, 내 가입자 아니면 안받아 주겠다는 거죠. 위 경우는 LG U+ 가입자이므로 밑에 11번 단계로 넘어가게 됩니다.
11.이제 LG U+ Google Cache는 가입자가 요청한 동영상(Avatar)이 나한테 있는지(storage에 있는지) 확인합니다. 다행히 있습니다! (Cache Hit)
12.따라서 LG U+ Google Cache는 동영상을 가입자 단말로 전달합니다. RTT 10ms 이하입니다. 무지 빠르게 가입자 단말로 동영상이 전달됩니다

(2) LG U+ Google Cache에 동영상이 없는 경우 (Cache Miss)

이번 그림에서는 설명을 단순화 하기 위해 DNS flow는 제외 시켰습니다.

 

(2) LG U+ Google Cache에 동영상이 없는 경우 (Cache Miss)

이번 그림에서는 설명을 단순화 하기 위해 DNS flow는 제외 시켰습니다.


1.LG U+ 가입자가 YouTube 웹페이지에서 Avatar 동영상을 클릭합니다.
2.가입자 단말은 HTTP Get 메시지를 YouTube 서버로 보내고
3.YouTube 서버는 단말의 IP 주소를 확인하고, LG U+ 가입자 이므로
4.LG U+ Google Cache hostname(o-o.preferred.lgupluswireline-gmp1.v9.lscache5.c.youtube.com)을 단말로 전달합니다.
5.가입자 단말은 이제 LG U+ Google Cache로 Avatar 동영상을 요청하고,
6.LG U+ Google Cache가 단말 IP 주소를 확인하였더니 자사 가입자입니다.
7.이제 가입자가 요청한 Avatar 동영상의 캐싱 여부를 확인합니다. 그런데 그 동영상이 없습니다! (Cache Miss)
8.이제부터 시험을 통해 확인된 내용과 일부 추측을 기반으로 설명을 드리겠습니다. LG U+ Google Cache는 Avatar 동영상이 미국내 어느 Google Cache에 들어 있는지 알길이 없을 것 같습니다. 따라서 미리 configuration되어 있는 상위 Google Cache 서버로 HTTP Redirection을 시킵니다. 시험으로 확인하 결과 아래와 같이 hostname의 숫자값이 동일한 매핑 규칙을 발견할 수 있었습니다. 즉
•LG U+ Google Cache "o-o.preferred.lgupluswireline-gmp1.v9.lscache5.c.youtube.com"의 상위 Cache 서버는 -> 미국에 "v9.nonxt5.c.youtube.com"
•LG U+ Google Cache "o-o.preferred.lgupluswireline-gmp1.v12.lscache6.c.youtube.com"의 상위 Cache 서버는 -> 미국에 "v12.nonxt6.c.youtube.com"
9.가입자 단말은 LG U+ Google Cache가 알려준 v9.nonxt5.c.youtube.com으로 Avatar 동영상을 요청하고,
10.이 서버에도 해당 동영상이 없으면 다시 redirector.c.youtube.com으로 HTTP Redirection을 합니다. 추측컨데 redirector.c.youtube.com이 최상위에 위치한 서버로써 모든 동영상의 위치(어느 Cache 서버에 그 동영상이 있는지)를 관리하는 듯 합니다.
11.가입자 단말은 redirector.c.youtube.com으로 Avatar 동영상을 요청하고,
12.드디어 Avatar 동영상이 위치해 있는 Google Cache 서버의 hostname(o-o.preferred.lax04t01.v1.lscache6.c.youtube.com)을 받아 옵니다.
13.가입자 단말은 그 hostname으로 Avatar 동영상을 요청하고,
14.미국에 있는 Google Cache로 부터 동영상을 다운로드 받습니다.


여기서 그럼 LG U+ Google Cache 서버는 언제 Cache Fill을 하나? 라는 의문이 생기는데요. Cache Miss가 난 이후 다시 동일 동영상을 요청해 봤지만 여전히 미국에 있는 Google Cache로부터 다운로드 받는 것으로 보아, 각 Google Cache에는 "동일 컨텐츠를 몇번 이상 요청하면 Cache Fill한다"라는 식의 정책이 들어 있는 것으로 추측이 됩니다.

결언

위와 같이 미국에 있는 YouTube 서버 및 LG U+에 도입된 Google Cache는 HTTP GET 메시지을 보낸 단말 IP 주소 대역을 확인하여 어느 지역의 Google Cache를 통해 다운로드 받게 할지 결정합니다. 즉, KT 가입자는 KT IP 주소 대역을 사용하므로 DNS만 LG U+로 변경한다 해서 LG U+ Google Cache에 접속할 수는 없습니다. (그렇다고 KT 가입자가 단말의 IP 주소를 LG U+ 대역으로 바꾸면 라우팅이 안되어 아예 인터넷을 사용할 수 없게 되구요.)
이 말은 곧, LG U+ 가입자가 KT DNS를 사용해도 아무 문제 없이 LG U+ Google Cache를 통해 동영상을 다운로드 받게 됩니다.


마지막으로 한가지 더 말씀드리자면...
저희 회사가 LG U+ 기업용 회선을 사용하고 있습니다. 회사에서 확인을 해 보니, LG U+ 기업용 회선 가입자의 경우 LG U+ Google Cache로 부터 동영상 다운로드가 안되고, 그래도 RTT가 좀 짧은(100ms 정도) 홍콩에 위치한 Google Cache(o-o.preferred.hkg05s01.v20.lscache7.c.youtube.com)로 부터 동영상을 다운로드 받음을 확인하였습니다.
즉, 미국에 있는 YouTube 서버는
     1) LG U+ 홈 가입자 IP 대역이면 LG U+ Google Cache를 선정해 주고
     2) LG U+ 기업용 가입자 IP 대역이면 홍콩에 위치한 Google Cache를 선정
     3) 나머지 경우(예. KT IP 대역이면) 미국에 위치한 Google Cache를 선정

[소스:http://whiteafrican.com/2008/07/04/google-kenya-and-the-google-global-cache/}

[소스:http://www.netmanias.com/bbs/view.php?id=blog&no=301'

posted by choiwonwoo

요즘 각 개발 회사마다 Global Service를 고민하면서 서비스를 기획 및 개발하고 있다. 이 때마다, 항상 고민이 되는 부분은 분산(서비스/데이타) 과 QoS 부분이다. 분산을 높이면, QoS가 낮아지는 현상이 발생하게 된다.(반대 경우도 마찬가지..) 그래서, 아이디어를 찾다가, Google과 Netflix는 어떻게 되어 있나 궁금해서 아래의 자료를 발견했는데, 매우 유용하다고 생각되어 기재합니다.

[OTT Cache(Google, Netflix)와 통신사업자 Transparent Cache - I]

Sandvine사의 Report에 따르면 2012년 하반기 북미 전체 인터넷 트래픽의 33%가 Netflix이고 15%가 YouTube로 이 두 회사의 트래픽만 합쳐도 전체의 48%로 거의 절반에 이른다. 통신사업자의 IP 네트워크는 인터넷이 아니라 두 회사의 비디오 전달망이 된 것이다.
이 두 회사의 이용자수는 계속 증가하고 있고 또한 갈수록 비디오 품질이 고화질화되어 트래픽량 (즉, 전달 비용)이 지속적으로 증가하고 있다. 통신사업자와 OTT는 각각 서로 다른 비용 최소화 전략을 취하고 있는 데 본 블로그에서는 먼저 OTT의 전략들을 살펴보기로 하자.


Google의 CDN 전략

Google은 미국과 유럽, 아시아에 13개(Google이 공식적으로 확인해준 데이터센터만 13개)의 자체 데이터 센터와 자체 CDN을 통해 YouTube 트래픽을 전세계에 전달한다. 이 소수의 데이터센터만으로는 급증하는 YouTube 트래픽을 감당하기 어렵고 또한  Google 데이터센터가 구축되어 있지 않는 나라에서는 YouTube 비디오 시청시 잦은 버퍼링이 발생하는 문제가 발생한다.
이를 해결하기 위해 Google은 2008년경부터 Google Global Cache (GGC)라는 자체 에지 서버를 통신사업자에게 무상으로 제공해주고 있다. Google은 GGC 서버 (H/W and S/W)를 통신사업자의 IDC에 설치해주고 서버 운영도 Google이 한다(원격 관리). 통신사업자는 IDC내 랙공간과 전력, GE 포트를 역시 돈을 받지 않고 Google에 제공해준다.
통신사업자는 외부망에서 유입되어오는 YouTube 트래픽이 대폭 줄어드므로 Transit 비용을 절감할 수 있고 자사 인터넷 가입자들의 "왜 다른 ISP는 YouTube가 빠른 데 우리만 느리냐?"라는 불만을 잠재울 수 있어 좋다.Google은 YouTube 이용자의 QoE를 향상시키고 보다 고화질의 비디오 서비스를 IDC 요금 걱정없이 제공할 수 있어 좋다. 서로 이득이 있으므로 서로 돈을 내지 않는다. 북미와 유럽의 대부분의 통신사업자들이 GGC를 도입하였고 우리나라도 작년 2월에 SK, LG U+, KINX에 도입되었다.
YouTube라는 기가막힌 컨텐츠를 가진 Google은 이렇게 자기 돈 안들이고 전세계 통신사업자의 망내까지 자기 CDN을 확장시키고 있다.  


 

Netflix의 CDN 전략

유료 가입자수가 3천만이 넘고 북미 인터넷 트래픽의 33%를 발생시키고 있는 Netflix도 Google과 동일한 전략을 취하고 있다. 하나씩 살펴보자. Netflix는 자사의 비디오를 이용자에게 전달해주기 위해 Akamai와 Limelight, Level3로부터 CDN 서비스를 받고 있고 이들에게 CDN 이용료를 지불하고 있다.
Netflix는 CDN 사업자에게 지출하는 CDN 요금이 아깝고 또 지금보다 고화질인 Full HD급의 비디오 서비스를 제공하여 보다 많은 가입자를 유치하고 싶은 데 이럴려면 CDN 사업자들에게 지금보다 더 많은 CDN 이용료를 내야 한다.
그런데 옆집을 보니 Google이 GGC를 통신사업자에게 돈 안 내고 밀어 넣고 있고 있네 ! 어 그러면 우리도 컨텐츠의 킹이니, Google처럼 하자- 하여 2012년 6월에 나온 게 Netflix Cache이다.

Netflix Cache도 GGC와 마찬가지로 OTT인 Netflix가 자체 개발한 서버로 통신사업자에게 무상으로 제공해주고 운영도 Netflix가 한다. 통신사업자는 IDC내 랙공간과 전력, GE 포트를 역시 돈을 받지 않고 Netflix에 제공해준다.
현재 미국의 Cablevision, Google Fiber, Clearwire, 캐나다의 Telus, 영국의 BT, Virgin Media, 덴마크의 TDC 그리고 중남미의 Telmex와 GVT에 Netflix Cache가 도입되어 있다(Netflix 서비스 국가). 특히 유럽의 경우는  모든 Netflix 트래픽의 글로벌 CDN이 아닌 Netflix Cache를 통해 이용자에게 전달된다.
Netlfix는 올해 1월 Full HD 화질 서비스(1920x1080, 5~7Mbps)와 3D 비디오 서비스(12Mbps)를 개시했다. Netflix 가입자는 추가 요금없이 고화질 서비스를 이용할 수 있다.  재미있는 것은 이 고화질 서비스가 Netflix Cache가 도입된 통신사업자의 가입자에게만 제공된다는 점이다.
통신사업자의 Netflix Cache 도입을 촉진시키려는 (그럼으로써 CDN 요금을 절감시키고 통신사업자에게 IDC 요금도 안내면서 고화질 서비스를 제공하려는) 의도이다.

 이 서비스가 출시되자 Time Warner Cable은 Netflix Cache가 도입되지 않은 통신사업자의 가입자에게도 동일하게 Full HD와 3D 서비스를 제공해야 한다며 불만을 터트리고 있다.
그 동안은 통신사업자의 망중립성에 대한 논쟁이 활발했는 데 꺼꾸로 OTT가 통신사업자별로 컨텐츠를 차별적으로 제공하면 안되지 않느냐는 컨텐츠 중립성 이슈가 나온 것이다.
칼자루가 통신사업자에서 OTT로 넘어간...

하여튼 Netflix도 Google과 마찬가지로 자기 돈 안들이고 세계 각국의 통신사업자의 망내까지 자기 CDN을 확장시키고 있다.
대표적인 OTT인 YouTube와 Netflix가 자신들의 막강한 컨텐츠, 이용자 수를 무기로 자기 Cache를 각국의 통신사업자망내에 진입시키고 있다. 한편 걱정스러운 것은 OTT의 트래픽을 통신사업자망내에 캐싱하여 네트워크 비용을 줄이고 신규 수익원을 만들려고 생겨난 통신사업자 CDN과 Transparent Cache의 시장이 축소될 수 있다는 점이다.
통신사업자 CDN과 Transparent Cache는 국내외 벤더들이 개발하여 통신사업자에게 공급함으로써 벤더들에게 매출 발생의 희망이 있고 또 통신사업자도 망내 CDN을 구축하여 OTT로부터 CDN 이용료를 받을 수 있지만 YouTube와 Netflix가 자사의 Cache를 통신사업자망에 밀어넣으면 OTT를 빼고는 아무도 돈 버는자는 없다.


 






[소스: http://www.netmanias.com/bbs/view.php?id=blog&no=367]

 

posted by choiwonwoo