[꿀정보] 괜찮은 오픈소스(open source)인지는 어떻게 알 수 있을까?

 수 많은 오픈소스 기술들이 있고, 새로 생겨나고 사라지는 오픈소스 기술도 많습니다. 이 중에 뭐가 많이 쓰이고, 뭐가 미래성이 있는 지 파악하고 싶을 때가 있습니다. 한 가지 제가 사용하는 기준은 "클라우드 3사가 해당 오픈소스 기술이나 서비스를 제공하냐&사용하냐" 입니다.  제가 Azure, AWS, GCP를 다 써보았고, 3사에서 모두 제공&사용하는 오픈소스 솔루션을 몇 개 소개합니다. 

1. Elasticsearch    ( https://www.elastic.co/elasticsearch/ )

  • 엘라스틱서치(Elasticsearch)는 분산(distributed)된 검색 및 분석 엔진입니다. 국내에서 검색어 추천 시스템에 많이 쓰고 있고, 보안관제 시스템 모니터링에도 많이 사용합니다.  최근에는 쿠버네티스(Kubernetes)상의 어플리케이션 성능(APM)까지 모니터링하는 용도로도 사용됩니다. 클라우드 3사는 엘라스틱서치 클러스터를 쉽게 구성해서 이용할 수 있게 해줍니다. 아래 이미지에서 Elasticsearch가 어떻게 활용되는지 보여줍니다.  

괜찮은 오픈소스 구별법
출처 : elastic.co


2. Kubernetes ( https://kubernetes.io/ )

  • 오픈소스 컨테이너 관리 플랫폼입니다. 배포 및 확장하는 데 아주 편하고 좋습니다. 클라우드 3사에서 쉽게 쿠버네티스 클러스터를 클릭 몇 번으로 만들어줍니다. auto healing(self healing), rolling update, 로드밸랜싱 이런 기능들은 정말 유용합니다. 마이크로서비스(microservice)들의 천국이라고 저는 생각합니다. 애플리케이션의 현대화(modernization)라는 표현을 요즘 많이 사용하는데 저는 쿠버네티스가 그것을 가능하게 해준다고 생각합니다.  많은 기업들이 사용하는 데는 그만한 이유가 당연히 있겠죠?
괜찮은 오픈소스 구별법


3. Kafka ( https://kafka.apache.org )

  • 아파치 카프카는 오픈소스 분산 스트리밍 플랫폼입니다. 실시간 처리를 위해서 필수적으로 사용됩니다. 넷플릭스, 우버, 카카오, 네이버 다 카프카를 사용합니다. ( 제가 아파치 카프카 개발자 자격증을 국내 최초로 취득한 사람입니다. 헤헤~~ )
괜찮은 오픈소스 구별법


4. Hadoop (https://hadoop.apache.org), Spark  (https://spark.apache.org/ )

  • 하둡은 오픈소스 분산 처리 플랫폼입니다. 아까 위에 카프카가 실시간 데이터 처리라면 하둡과 스파크는 배치 데이터 처리 플랫폼입니다(스파크 스트리밍으로 스트리밍 처리를 할 수 있긴 합니다. 카프카 스트림즈와 KSQL로 스트리밍 처리를 하는 것과 조금은 다릅니다.각 솔루션의 에코시스템까지 포함되기 때문에 여기서 설명하기엔 너무 복잡해집니다). 데이터를 삼중화하는 것은 카프카랑 비슷합니다. 하둡이 빅데이터, 분산처리 쪽의 대선배입니다. 구글의 논문에서 시작된 오픈 소스 기술입니다. 하둡과 스파크의 차이를 아주 간단히 설명하자면 in-memory 처리 기술 사용 여부입니다. 스파크가 젊고 더 빠릅니다. 하둡이냐 스파크냐에 대해 글도 많구요. 저는 그냥 둘 다 써라입니다. 

괜찮은 오픈소스 구별법

괜찮은 오픈소스 구별법


5. Redis ( https://redis.io/ )

  • 레디스는 오픈소스 인메모리 (in-memory) 디비입니다. 메모리에 데이터베이스가 있으니 상당히 빠르겠죠? 겁나 빠른 처리를 해야되는 서비스/제품에  많이 사용됩니다. 제가 좋아하는 GitHub, Stackoverflow 회사들도 다 Redis 씁니다. 
괜찮은 오픈소스 구별법


결론은 클라우드 service provider 3사 서비스에 포함된 오픈소스는 괜찮은 오픈소스입니다. 많은 기업들이 쓰니 클라우드 서비스로 제공하는 것이구요. 많은 사람들이 쓴다는 건 괜찮다는 뜻이라고 생각합니다.

오픈소스를 잘 알고 잘 쓰면 회사에서 이뻐해줍니다. (단, 연봉은...) 열심히 공부합시다!? 

Comments