Netflix Metacat : 큰 데이터를 발견하고 의미있게 만들기

대부분 기업에는 다양한 데이터 형식으로 된 많은 양의 데이터와 수많은 데이터 소스가 있습니다. 그리고 데이터 소스로 부터 데이터를 분석합니다. Netflix의 데이터웨어하우스는 Amazon S3, Druid, Elasticsearch, Redshift, Snowflake 및 MySQL에 저장된 많은 양의 데이터 세트로 구성됩니다. 그리고 Spark, Presto, Pig/Hive를 이용하여 데이터 세트를 처리합니다. Netflix는 다양한 데이터 소스를 “단일” 데이터웨어 하우스로 상호 운용하기 위해서 Metacat을 구축했습니다. 본 글에서는 데이터를 쉽게 찾고, 처리/관리하기 위한 메타 데이터 서비스인 Met...

더보기

대체 코드?

동아비즈니스에서 흥미로운 주제를 발견했다. 바로 익숙하면서도 새로운 “대체 코드의 힘” 일반적인 사람들은 익숙하면서도 낯선 것에 끌린다. 너무 익숙하면 진부하다 여기고, 낯설기만 하면 이질감이 느껴지기 때문이다. 익숙하면서도 새로운 것을 만들려면 기존 시스템의 일부를 새로운 것으로 대체해야 한다. 아래는 이런 대체 코드에 대한 사례이다. 세계대전 이후 이탈리아는 물자가 부족한 상황이 지속되었고 수많은 가죽업체가 도산하는 열악한 상황이었다. 1947년 구찌는 가죽이 아닌 일본산 대나무를 손잡이로 활용한 Bamboo Bag을 내놓았다. 처음 뱀부백은 부드러운 돼지 피혁으로 제작한 가방에 대나무를 가열하여 구...

더보기

다양한 장치를 지원하는 REST API에 대해 고찰

“REST API는 일반적인 요청을 처리하는데 뛰어나며, 다수의 개발자가 API를 쉽게 사용할 수 있도록 하는 일련의 규칙을 수립합니다.” 위 모델에서는 모든 사람들이 규칙을 알고 있으면 엄청나게 강력해집니다. API 공급자는 일련의 규칙을 설정하고 API 소비자는 원하는 것을 얻으려면 공급자가 설정한 규칙을 준수해야 합니다. 그러나 점점 규모가 커지고 사람들이 디지털 콘텐츠 및 서비스를 사용하는 방식이 늘어나고 있는 상황에서는 위 단일 모델 원칙이 부족할 수 있습니다. Netflix의 예를 들어 볼까요? Netflix는 현재 게임 콘솔, 모바일, TV, 블루레이 플레이어, Tablet, PC 및 비디오를...

더보기

Netflix Open Connect에서 인기 콘텐츠 관리 방법

Netflix의 Open Connect 콘텐츠 딜리버리팀은 콘텐츠의 인기도를 예측하여 인프라 효율을 극대화 하려고 합니다. Content Delivery관점에서는 시청 횟수로 인기 콘텐츠를 판별합니다. 즉, 스트리밍된 총 바이트 수를 Asset의 크기(byte)로 나누어 계산합니다. 그럼, 콘텐츠와 CDN 최적화는 어떤 관계가 있을까요? 일반적으로 CDN에서는 짧은 네트워킹 경로를 통해 최대한 많은 콘텐츠를 제공하려고 합니다. 네트워크 대기시간을 줄임으로써 사용자들의 스트리밍 환경을 극대화 할 수 있기 때문입니다. 서버당 사용할 수 있는 디스크 공간이 제한되어 있으므로 모든 Edge Server에 모든 콘텐...

더보기

Kubernetes vs Mesos with Marathon (기술적 관점)

이전 포스팅에서 Kubernetes와 Mesos에 대한 사업적 관점에서 비교를 했었습니다. 본 글에서는 기술적 관점에서의 비교글을 작성합니다. Kubernetes Kubernetes는 컨테이너 어플리케이션의 automating deployment, scaling 및 관리를 위한 오픈 소스 시스템입니다. Kubernetes의 아키텍처는 아래와 같습니다. Kubernetes Cluster와 관련된 구성 요소들은 아래와 같습니다. etcd: etcd는 분산 key-value store이고, Kubernetes에서는 Master Node의 API Server가 HTTP/JSON API를 이용하여 접근할 수 있...

더보기

OCA(Open Connect Appliance)에서 100Gbps 서비스

본 글은 Netflix Tech 블로그의 내용을 번역한 내용입니다. (관심 있는 부분만…) 원문: https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99 2015년 여름, Netflix Open Connect CDN팀은 NVM Express(NVMe) 스토리지 기반의 단일 FreeBSD OCA에서 100Gbps 속도로 서비스 할 수 있도록 100GbE 네트워크 인터페이스 기술을 활용하는 프로젝트를 수행하기로 결정 했습니다. Fake NUMA(Non-uniform Memory) OCA의 경우 대부...

더보기

Load Balancer 비교

어플리케이션의 고 가용성을 설정하고 성능을 향상시키는 쉽고 가장 빠른 방법 중 하나는 LB(Load Balancer)를 이용하는 것입니다. 로드밸런서는 세 가지 유형이 있습니다. 하드웨어 로드 밸런서는 부하 분산을 제공하는 전용 장치이고 하드웨어 벤더 중 일부는 다음과 같습니다. 하드웨어 로드 밸런서는 가격이 비싸지만, 좋은 성능을 제공합니다. 클라우드 로드 밸런서는 클라우드의 인기와 더불어 많이 사용되고 있습니다. 클라우드 로드 밸런서를 사용하는 것은 하드웨어 어플라이언스에 투자하지 않고도 관련된 모든 기능을 즐길 수 있는 저렴한 방법 중 하나입니다. 다음은 클라우드 로드 밸런서 중 일부입니다. A...

더보기

Kubernetes vs. Mesos: 어느 Container Orchestrator를 사용해야 할까? (사업 관점)

다른 용도로 사용되는 10개의 컨테이너가 있다고 가정한다면, 많은 인스턴스를 사용하고 이러한 컨테이너를 실행하는 것은 매우 쉽습니다. 어플리케이션이 커지면서 배포한 컨테이너 수가 점점 증가하면 서로 다른 버전, 네트워크 구성을 가진 수천 개의 컨테이너를 관리할 때는 상황이 애매해집니다. 컨테이너에 의존하는 개발 기술을 사용하는 회사의 경우, 이러한 유형의 아키텍처를 확장하는 문제가 발생합니다. 오케스트레이션 인프라 스트럭처의 요점은 컨테이너를 “스케줄링”하는 간단한 방법을 제공하고 기본 인프라가 나머지를 수행하도록 하는 것입니다. 이것이 오케트스레이션의 핵심입니다. Kubernetes, Mesos, ECS, ...

더보기