CASE STUDY
고객사별 OpenMSA™ 도입 사례와 결과를 확인해보세요.

OSC Tech News

다양한 소식을 전합니다.
OSC Korea 월간 뉴스레터 받아보기 💌

OSC Korea의 Ellen이 매월 넷째주 화요일 전해드리는 IT 소식!

IT 관련 종사자가 궁금해하는, 알아야하는 정보들을 담았어요.
Opensource, DevOps, Cloud, MSA 그리고 IT 트렌드까지!
한 달에 한 번만 메일함으로 찾아갈게요😊
OSC 월간 뉴스레터 받아보기💌

개인정보 수집 및 이용

뉴스레터 발송을 위한 최소한의 개인정보를 수집하고 이용합니다. 수집된 정보는 발송 외 다른 목적으로 이용되지 않으며, 서비스가 종료되거나 구독을 해지할 경우 즉시 파기됩니다.

Blog

2022년 최고의 오픈소스 소프트웨어

2022.11.21 The best open source software of 2022
원문보기
2022년 최고의 오픈소스 소프트웨어

오늘날 소프트웨어 개발자, 클라우드 엔지니어 등 코드로 작업하는 모든 사람에게 오픈소스 소프트웨어는 당연하고도 중요하게 여겨집니다. 하지만 오픈소스가 항상 기저에 깔려 있는 것은 아닙니다. 20~30년 전까지만 해도 오픈소스 프로젝트는 흔치 않았고 프로젝트를 만든 사람들은 일반적으로 학계, 연구원 등이었습니다. 하지만 이런 기벽이 유행하면서, 현재는 오픈소스 소프트웨어가 세상을 집어 삼키고 있습니다.

과거 오픈소스 개발자는 인터넷을 구축했던 툴을 개발했고, 현재의 오픈소스 개발자는 이를 기반으로 프론트엔드(Front End) 개발, 백엔드(Back-end) 개발, 데브옵스(DevOps), 데이터 옵스(Data Ops), 분산형 데이터 처리, 데이터 분석, 머신러닝 등 계속해서 새로운 툴을 만들고 있습니다. 아래에서는 2022년 최고의 오픈소스 소프트웨어를 모은 ‘2022년 Bossie Awards’ 프로젝트를 공개합니다.

AlmaLinux

많은 상용 소프트웨어가 RHEL(Red Hat Enterprise Linux)로 표준화했다. 기본적으로 RHEL의 무료 버전은 CentOS였다. 레드헷이 RHEL의 임시 대체재로써 인수한 후 지원을 중단해 버린 그 리눅스 배포판이다. CentOS를 사용했던 많은 사람들이 RHEL의 안정성과 보안성을 누리면서 무료로 사용가능한 새로운 배포판을 찾는 목소리를 내었고, CentOS 대체제로 Rocky Linux와 AlmaLinux가 등장했다. AlmaLinux는 RHEL과 바이너리 호환성 및 커뮤니티 소유권을 장점으로 내세운다.

Podman

Podman은 ‘컨테이너 엔진’이다. 즉, 컨테이너 이미지를 개발, 관리, 실행하기 위한 도구이다. 사실 Podman 1.0은 2019년에 공개됐다. 도커(Docker)와 달리 Podman은 권한이 없는 사용자도 단일 프로세스로 실행할 수 있고 도커에 비해 제한이 적었다. 또한, Podman에서 직접 쿠버네티스(Kubernetes) 팟을 구축할 수 있다. 심지어 Podman은 여러 개의 같은 명령을 지원하기 때문에, alias docker=podman 처럼 단순화할 수 있다.

Play with Docker

EKS, GKE 등으로 모든 작업을 수행할 수 있는 것은 맞지만 몇 개의 컨테이너만 사용하고 싶은 경우라면 Play with Docker가 요긴하게 쓰일 것이다. 5개의 인스턴스, 4시간 제한 때문에 보안, AI, 분석 등에는 적합하지 않지만, 전면적으로 도커를 도입하기 전에 테스트하기에는 꽤 좋은 툴이다.

Vaadin

개발자가 HTML 또는 자바스크립트를 코딩할 필요 없이 자바에서 웹 사용자 인터페이스를 구현할 수 있는 웹 프레임워크가 있다면 생산성이 극도로 상승할 것이다. 바로 Vaadin이 이것을 도와준다. Vaadin은 Java 기반의 웹 UI 프레임워크로 HTML, 자바스크립트, CSS에 대한 깊은 지식이 없어도 서버 사이드에서 Java 소스 코드 작성 만으로 웹 브라우저에서 작동하는 HTML5 웹 애플리케이션을 제작할 수 있다. 모든 것은 Vaadin이 대신 처리해주며 특히 Spring Boot를 결합하면 상당한 생산성 향상이 가능하다.

JHipster

J힙스터는 자바를 위한 풀스택(Full-stack) 고속 애플리케이션 개발 플랫폼이다. J힙스터는 마이크로서비스 애플리케이션을 쉽고 빠르게 만들어줄 수 있는 기능을 제공한다. 일련의 다양한 기술이 프론트엔드와 데이터 계층에서 많은 역할을 충족하는데, 여기서 멈추지 않고 스캐폴드(Scaffold) 생성을 처리하고 리액트(React)로 개발한 포스트그레스(Postgres) 등 이질적인 기술 스택에 CLI 도구 등 다양한 기능을 지원한다. 이 모든 것이 최신 스프링(Spring)/자바 미들웨어와 연결된다. 또한 J힙스터는 스프링 보안을 통해 보안을 강화하는 등 기존의 단점을 보완했고, 여러 최신 배치 옵션과 CI/CD 통합을 기본적으로 지원한다.

Solid

많은 혁신적인 프론트엔드 자바스크립트 프레임워크 중 최고를 가려내는 것은 매우 어렵다. 리액트는 여전히 주목하지 않을 수 없는 새로운 기능을 쏟아내고 있는 혁신적인 프로젝트이다. 어떤 프레임워크를 선택하든 ‘A는 어때? X를 더욱 잘해’라고 이야기할 것이고 그 말은 옳다. 그럼에도 하나를 꼽자면 올해는 아스트로(Astro), 퀵(Qwik), 솔리드(Solid)가 선두에 섰다. 그 중 최고로 뽑은 것은 솔리드다. 솔리드는 동급 최고의 성능을 제공하면서도 이해하기 쉬운 패키지로 제공한다. 실제 솔리드 고객들은 솔리드 프레임워크가 가볍고, 빠르고, 매우 쉽게 사용 가능한 제품이라고 평가한다.

Redwood

새로운 프레임워크 중 유난히 눈에 띄는 것은 바로 레드우드이다. 레드우드는 애플리케이션 프론트엔드와 백엔드 모두에서 자바스크립트(JavaScript)를 기본언어로 사용한다. 본 프레임워크는 데이터 모델링 및 스캐폴딩 (Scaffolding) 등의 반복적인 요건에 대해 레일스(Rails) 같은 접근방식을 취하는 것 외에 보안과 추적 통합 등의 다른 실질적 문제도 해결한다. 또한, 서버리스 플랫폼 등 다양한 배치 환경을 지원한다.

Next.js

Nexu.js는 풀스택 자바스크립트 프레임워크의 개척자로, 리액트 프론트엔드와 자바스크립트 서버를 단일 빌드 파이프라인으로 통합하는 단순한 약속에서 시작해 점점 더 확장하고 있다. 라우팅(Routing)부터 데이터 액세스, 보안, 서버측 렌더링까지 애플리케이션 개발의 많은 중요한 측면을 더 단순하고 일관성 있게 만들었다. 또한, Next.js는 서버리스와 엣지 등 다양한 배치 대상을 지원한다.

Wasmtime

Wasmtime은 개발자가 안전한 샌드박스 실행, 네이티브에 가까운 성능, 여러 프로그래밍 언어와 플랫폼에서의 지원 등 웹어셈블리(WebAssembly)가 브라우저 내부에서 제공하는 모든 이점을 브라우저 밖에서 활용할 수 있도록 지원한다. CPU와 메모리 사용량 세부 조절, 크레인리프트(Cranelift) 코드 생성기를 통한 고속 실행, 새로운 웹어셈블리 기능 파악하기 등의 장점도 있다.

PyScript

웹어셈블리의 오랜 약속 중 하나는 웹 브라우저에서 자바스크립트 외의 다른 언어를 사용할 수 있다는 것이다. 이런 약속을 실현하는 기술이 바로 파이스크립트(PyScript)다. 브라우저에서 완전한 파이썬(Python) 런타임을 지원해 웹 페이지에서 파이썬을 스크립트 언어로 사용할 수 있다. 심지어 넘파이(NumPy) 등의 일부 고급 라이브러리까지 지원하고 네이티브 HTML 프론트엔드를 통해 강력하고 복잡한 앱을 구성할 수 있다. 특별한 플러그인 없이 Python 코드를 HTML에서 실행 가능하며 버튼, 컨테이너, 텍스트 상자 등과 같은 UI 구성요소도 지원한다.

Hardhat

블록체인 개발은 까다로운 것으로 유명하지만, 새로운 툴의 등장으로 조금씩 개선되고 있다. 그 중 하나인 하드햇(Hardhat)은 훌륭한 오픈소스 프레임워크로, 코딩, 테스트, 이더리움에서의 댑스(Dapps) 및 스마트 컨트랙트 배치를 간소화한다. 확장 가능한 작업 실행자와 플러그인 프레임워크를 중심으로 개발돼 대부분 개발 워크플로를 처리할 만큼 충분히 유연하며, 로컬 이더리움 테스트넷(Testnet)과 통합된다. 원격 테스트넷과 상호작용 없이 코드를 배치하고 디버깅하는 데도 유용하다.

하드햇에는 솔리디티(Solidity)를 지원하는 비주얼 스튜디오용 기능이 포함되어 있다. 이러한 유용성 외에도 하드햇은 뛰어난 개발자 경험을 제공한다. 처음 실행해도 예상한 대로 작동하므로 더 만족스럽다.

OpenFGA

오픈FGA는 구글의 글로벌 인증 시스템 Zanzibar에 기초한 범용 인증 플랫폼에 대한 Auth0의 오픈소스 구현이다. 역할 기반부터 관계 기반과 세분화된 인증까지 광범위한 인증 요건을 해결하고, 놀랍도록 다양한 성능과 유연성을 지원하는 패키지를 제공한다. 오픈소스 소프트웨어 커뮤니티의 인증에 중요할 뿐 아니라 오픈소스에 좋은 것이 기업에 좋다는 근본적인 전제, 즉 언어로써 코드의 자유에 대한 재확인 의미로도 중요하다.

Sentry

보안과 함께 오류 및 성능 추적은 많은 앱에 있어서 필수불가결한 요건이다. 이런 문제에서 도움을 줄 수 있는 툴이 바로 센트리다. 센트리는 데이터를 수집하는 서버측 API부터 이를 관리하는 대시보드와 포괄적인 애플리케이션측 통합까지 애플리케이션, 서비스, API의 건전성을 모니터링하는 오픈소스 도구 전체를 제공한다. 이런 통합은 실제로 펄(Perl)부터 파이썬까지 예상할 수 있는 모든 스택에 적용된다. 그러면서도 사용하기가 매우 쉽다. 라이브러리를 가져오기만 하면 되며, 추가 코드로 비즈니스 로직을 구성할 필요가 없다. 또한 센트리는 프로젝트 추적기, 소스 관리 시스템, 배치 플랫폼 등 다양한 도구를 위한 통합 지점 역할도 한다.

Appsmith

앱스미스(Appsmith)는 백엔드 개발자가 최소한의 HTML과 CSS 코딩으로 관리자 패널, 서식, 대시보드 등의 소프트웨어를 사용자 정의할 수 있는 로우코드 프레임워크다. 이 플랫폼은 미리 구축된 UI 구성 요소와 재사용 가능 템플릿을 통해 프로젝트를 신속하게 시작하고 광범위한 API, 데이터 소스, 클라우드 서비스와 통합되며 클라우드 및 셀프 호스팅 배치 옵션을 지원한다.

Spinnaker

스핀네이커는 데브옵스팀이 릴리즈를 자동화하고 카나리(Canary) 및 기타 배치 전략을 구현하는 데 도움이 되는 오픈소스 멀티 클라우드 연속 제공 플랫폼이다. 에어비앤비, SAP, 핀터레스트, 머카리(Mercari), 세일즈포스 등 220곳 이상의 기업이 스핀네이커를 사용하고 있고, 커뮤니티 기여자는 2,500명이 넘는다. 소규모 엔지니어링 기업도 스핀네이커를 성공적으로 활용하고 있다.

Hypertrace

하이퍼트레이스는 클라우드 네이티브 아키텍처 전반에 걸쳐 다양한 서비스로부터 엄청난 양의 실시간 성능 데이터를 수집, 처리할 수 있는 오픈소스 분산형 추적 및 가관측성 엔진이다. 애플리케이션과 마이크로서비스를 모니터링하고 여러 터치포인트의 분산형 트랜잭션을 추적하며 모든 정보를 서비스 지표와 애플리케이션 플로 지도로 만든 후 사용자 정의 대시보드에 표시한다. 또한, 경로 기반 분석을 지원하는 것 외에 결과에 영향이 미치기 전에 애플리케이션 성능 병목을 선제적으로 해결하는 데 도움이 되는 실시간 경고를 제공한다. 기본적으로 집킨(Zipkin), 예거(Jaeger) 등의 인기 추적 형식을 지원하며 자바, 고(Go), 파이썬을 위한 네이티브 기기 에이전트를 제공한다.

Gravitee

그래비티 API 관리 플랫폼은 분산된 API를 중앙에서 관리, 관장, 보호한다. 오늘날의 이벤트 기반 API 및 마이크로서비스 세계에서는 비용과 복잡성을 관리하기 위해 더 필수적이다. 그래비티의 콕핏(Cockpit) 포털을 통해 가이드 액세스와 공개, 문서화, API 발견을 위한 기능이 풍부한 툴셋을 함께 제공하고, 온보드 API 디자이너는 개발 및 문서화 모델화를 위한 시각적 로우코드 접근방식을 지원한다. 작업 자동화는 오류를 최소화하고 디버깅 속도를 높여주며 배치를 간소화한다. 보안 액세스와 감사 기능 덕분에 인증 및 승인 서비스를 통해 종점을 보호할 수 있다. 기업 라이선스를 구매하면 추가적인 디자이너 및 생산 게이트웨이 기능을 쓸 수 있고, 경고 엔진, 이상 감지, 실시간 분석 등의 기능도 활용할 수 있다.

Opentelemetry

Opentelemetry는 일련의 표준 API와 도구를 통해 가관측성 시스템 사이의 공백을 메운다. 생성, 배출, 수집, 처리, 원격 측정 데이터 내보내기를 제공업체를 가리지 않고 통합한다. 한 업체의 가관측성 제품으로 시작한 후 다른 제품으로 변경하고 싶었던 경험이 있다면, Opentelemetry가 정답이다. 몇 가지 사소한 구성 변경 만으로 이를 구현할 수 있다.

Grafana

그라파나 8.0은 프로메테우스(Prometheus) 경고 시각화와 그라파나의 네이티브 경고를 병합하고, 프로메테우스 얼러트매니저(Prometheus Alertmanager) 처리로 이를 강화했다. 그라파나 9.0은 프로메테우스 PromQL과 로키(Loki) LogQL 쿼리 언어를 위한 쿼리 구축 도구를 추가하며, 단순한 설명 대신 썸네일을 통해 대시보드를 미리 확인할 수 있게 했다. 기업용 버전의 경우 역할 기반 액세스 관리까지 지원한다.

Dapr

Dapr은 클라우드 네이티브 및 서버리스 컴퓨팅을 지원하도록 설계된 오픈소스 런타임 시스템이다. 클라우드나 엣지에 배포할 수 있는, 상태 독립적이고 상태 보존적인 애플리케이션 기반의 마이크로서비스를 더 쉽게 개발할 수 있도록 지원한다. 여러 언어, 프레임워크와 함께 사용하거나, 표준gRPC 혹은 HTTP API로 접속할 수 있는 빌딩 블록으로 구성하는 것도 가능하다. Dapr은 플랫폼에 종속적이지 않다. 로컬로 실행하는 것은 물론 쿠버네티스 클러스터나 Dapr에 통합할 수 있는 다른 호스팅 환경에서도 사용할 수 있다. 이를 이용하면 개발자가 코드 변경 없이 클라우드나 엣지에서 실행되는 마이크로서비스를 만들 수 있다. Dapr에는 고(Go)와 자바, 닷넷, 파이썬, 자바스크립트용 SDK가 포함돼 있다. 누구나 쉽게 시작할 수 있도록 CLI도 포함됐다.

Redpanda

레드판다는 시스타(Seastar) 비동기 프레임워크와 래프트(Raft) 합의 알고리즘을 사용해 분산형 로그를 구현한다. C++로 작성된 카프카를 위한 플러그인 대체제이기도 하다. 최대 10배 낮은 평균 지연 속도와 최대 6배 빠른 카프카 트랜잭션을 제공하면서 더 적은 리소스를 사용할 수 있다.

Apache Iceberg

초대용량 분석 테이블을 위한 고성능 형식인 아파치 아이스버그는 빅데이터에 SQL 테이블의 신뢰성과 간결성을 제공하며, Trino, Spark, Sonar, Presto, Hive, Flink, Impala 등의 엔진이 동시에 같은 테이블을 안전하게 작업할 수 있도록 지원한다. 아이스버그는 유연한 SQL 명령을 지원해 새로운 데이터를 병합하고 기존의 열을 업데이트하며 표적화 된 삭제를 수행한다. 읽기 성능을 높이기 위해 읽기 데이터 파일을 열심히 재작성하거나 더 빠른 업데이트를 위해 삭제 델타를 활용할 수 있다. 또한, 아이스버그는 기본적으로 스키마 혁신, 자동 파티셔닝, TTQ(Time Travel Query), 버전 롤백, 데이터 단축을 지원한다.

Apache Druid

아파치 드루이드는 고속 쿼리, 높은 동시 실행, 카프카, 키네시스 등의 플랫폼의 스트림 수집에 대한 실시간 및 이력 인사이트를 제공하는 실시간 분석 데이터베이스이다. 사용 사례에는 클릭스트림 분석, 위험 및 사기 분석, 공급망 분석이 포함된다.

JAX

JAX는 구글이 개발한 프로젝트이며, 오토그래드(Autograd)와 딥 러닝을 위한 XLA(Accelerated Linear Algebra) 기술을 결합해 속도와 성능 측면에서 상당한 이점을 제공한다. GPU 또는 TPU에서 구동할 때 JAX는 넘파이를 호출하는 다른 프로그램을 대체할 수 있지만 프로그램은 훨씬 빠르게 구동한다.

nbdev

nbdev는 노트 프로그래밍의 단점을 줄이면서 장점을 극대화하는 대안이다. fast.ai의 깃 친화적 주피터 노트 기반 개발 플랫폼이다. 데이터 분석과 개발 등에 필요한 기능을 지원할 뿐만 아니라 같은 노트 안에서 문서화와 심지어 적절한 텍스트를 통해 모듈을 손쉽게 생성하는 기능을 지원한다.

Accelerate

Accelerate는 기본적으로 단순한 구성 전환을 통해 TPU 장치나 마이크로소프트의 딥스피드(DeepSpeed) 최적화 등의 기능을 사용할 수 있다. Accelerate 라이브러리가 모두 처리하는 분산형 훈련, 공유 병행성, 그래디언트(Gradient) 축적 등의 기법을 사용해 수십억 개의 파라미터 규모로 딥 러닝 모델을 훈련할 수 있다. 그동안 대형 모델의 훈련은 업계 대기업의 전유물이었는데, Accelerate Pytorch 생태계의 일부로 자리잡으면서 다양성에 대한 기대가 커지고 있다.

Stable diffusion

Stable diffusion은 엄청난 품질의 이미지를 만들어내는 텍스트-이미지 AI 모델이다. 2개월이 채 되지 않은 프로젝트지만, 이미 오리지널 저번을 개선해 이미지 생성 속도를 높이고 메모리가 적은 GPU에서 구동하도록 개선했다. 인페인팅(In-painting) 및 아웃페인팅(Out-painting) 지원이 추가됐고, 심지어 Stable diffusion을 M1 기반 맥북에서 구동할 수도 있다.

ByJames R. Borck, Martin Heller, Andrew C. Oliver, Ian Pointer, Isaac Sacolick,Matthew Tyson and Serdar Yegulalp

BENEFITS
2022.11.21 The best open source software of 2022

Latest posts