Netflix OSS 및 Spring Boot

Netflix의 Backend 및 Mid-tier 어플리케이션의 대부분은 Java를 사용하여 구축되었고, Micro Service를 위해 필요한 Ribbon, Eureka, Hystrix등 클라우드 인프라 라이브러리 및 시스템을 구축했다. 2015년도에 Spring Cloud Netflix는 1.0 버전이 나왔고, Spring Boot를 사용하여 Netflix OSS 구성 요소를 결합하기 위한 커뮤니티 노력의 일환이었다. Netflix는 2018년 부터 Spring Cloud Netflix를 통한 커뮤니티의 산출물을 이용하여 Java 프레임워크로 Spring Boot로 전환하였다. Netflix가 내부 구성...

더보기

마이크로 서비스에 대해서 생각해보기

마이크로 서비스는 지난 몇년 동안 매우 인기 있는 주제였다. 마이크로 서비스는 왜 그렇게 인기가 있을까? 아래는 가상 비디오 공유 플랫폼이 Monolithic 형태로 구현 된 후에 마이크로 서비스 형태로 구현되는 방식이다. 위의 시스템의 차이점은 하나의 큰 덩어리와 작은 단위라는 점이다. 독립 개발: 작고 독립적인 구성 요소는 그에 맞춰진 작고 독립적인 팀으로 구성할 수 있다. 독립 배포: 각 구성 요소는 독립적으로 확장 할 수 있다. 새로운 서비스가 출시 되면 모든 구성 요소를 배포하지 않고 해당 구성 요소만 배포가 가능하다. 재사용성: 구성 요소들은 작고 특정한 기능을 수행한다. 다른 서비스...

더보기

Microservice의 ROI를 측정을 위한 매개변수

마이크로서비스 개발을 위한 ROI를 알고자 하는 CIO/CTO가 상당히 많습니다. 그들 중 일부는 수익대비 비용으로 측정하려고 노력하고 있습니다. 이런 사항들은 CIO/CTO가 고민해야 할 관심사이고 비즈니스에 미치는 영향이 중요하고 변경된 개발 사항이 매출 증가로 이어져야 하기 때문입니다. 그러나 개발은 다른 고려 사항을 염두하고 시작해야 합니다. 고객 및 이해 관계자를 행복하게 만드는 것은 중요한 행동이며 더 좋은 비즈니스 결과로 이어지게 됩니다. MSA(Microservice Architecture)는 즉각적인 영향을 줍니다. 마이크로서비스 구현시 ROI를 측정하는 가장 좋은 방법은 아래의 매개 변수를 ...

더보기

블록체인 기술을 바라보는 개인적 시각

블록체인 기술을 한마디로 정의하기는 어렵다. 개념이 명확하게 정리되지 않은 상태이기에 기술적 정의 및 설명하는 방식도 상황에 따라 달라진다. 블록체인 기술을 이해하기 위해서는 비트코인에 대해서 알아야한다. 비트코인은 블록체인 기술을 기반으로 2009년에 배포된 암호 화폐이다. 비트코인으로 인해 그 기반 기술인 블록체인이 이목을 끌기 시작했다. 블록체인은 “블록”이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반의 분산 데이터 저장환경에 저장되어 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 방식의 데이터 변조 방지 기술이다. 계모임을 한다...

더보기

[독서] 지지 않는다는 말

다이어리 정리를 하다가 얼마전 읽은 지지 않는다는 말에 나온 글귀를 적은 페이지를 발견하고 여기에 옮겨 적는다. 내 삶에서 가장 큰 영향을 끼친 건 지지 않는다는 말이 반드시 이긴다는걸 뜻하는 것만은 아니라는 깨달음이었다. 지지 않는다는 건 결승점까지 가면 내게 환호를 보낼 수많은 사람들이 있다는 걸 안다는 뜻이다. 아무도 이기지 않았건만, 나는 누구에게도 지지 않았다. 그 깨달음이 내 인생을 바꿨다. 너는 네가 하고 싶은 일만하면서 살 수 있을 것 같니? 그러나 하고싶은일만 하면서 살수없다고 해서 하기 싫은 일을 반드시 하면서 살아야 한다는 의미는 아니지 않은가? 오히려 하고 싶은 일만 하면서 살수 없으...

더보기

GraphQL 채택 후 Netflix가 배운 것들

Netflix에서는 콘텐츠 인기도 파악과 같은 다양한 데이터 및 집계 데이터를 활용하여 관련성이 높은 광고를 제공한다. Netflix의 목표는 모든 외부 채널에 대해 광고가 사용자와 잘 어우러지게 만드는 것이다. Netflix는 보다 효율적으로 하기 위해 끊임없는 실험을 하고 있다. Monet의 React UI는 Apache Tomcat에 의해 구동되고 REST API에 Access를 했다. 시간이 지나고 어플리케이션이 발전함에 따라서 사용 사례가 복잡해지기 시작했다. Simple page는 다양한 소스의 데이터를 가져와야 한다. 이 데이터를 클라이언트에서 효과적으로 로드하기 위해서 Backend 데이터를 비...

더보기

NetflixOSS Hollow

“모든 것을 효율적으로 Cache 할 수 있다면 게임 체인저가 될 수 있다.” Netflix는 메타 데이터 Caching을 위해 Java로 작성된 범용 Cache인 Hollow를 OSS로 제공하고 있다. 일반적으로 소프트웨어 엔지니어들은 “빅데이터”라는 데이터를 보급을 요구하는 문제에 직면한다. 이런 유형의 문제는 다음과 같다. 전자 상거래 사이트내 제품의 메타 데이터 검색 엔진의 메타 데이터 영화 및 TV 프로그램에 대한 메타 데이터 이런 문제에 직면할 때 일반적으로 아래의 두 가지 방법 중 하나를 선택한다. Consumer의 원격 접근을 위해 데이터를 중앙 집중화하여 보관 (e.g...

더보기

스마트 시대에 헌책방이 공존할 수 있는 이유

종종 헌책방에서 책을 사기도 한다. 우연히 들려 마음에 드는 책을 사는 경우가 보통이었고, 그렇게 내손에 잡힌 책에서 타인의 흔적을 발견하는 것이 헌책을 사는 것에 대한 매력이었다. 헌책방은 추억을 사고파는 곳이다. 헌책방에서 주로 사는 책은 유행(세월)을 타지 않는 책이다. 가치가 있는 책은 오래되고 낡아도 관계가 없다. 좋은 책인지 아닐지는 감으로 알 수 있다. 그렇게 구매한 책은 다 읽고나서도 내곁을 떠나지 않는 것이 대부분이다. 반면 자기 계발서 같은 책은 내손을 쉽게 떠났다. 요즘은 예스24, 알라딘 처럼 큰기업이 중고 서점을 오픈하고 운영중이다. 그리고 멀지 않은 거리에 대형 서점이나 도서관이 즐비...

더보기