오픈소스 프로젝트는 차세대 대세가 될 것입니다.
여러분이 지금 당장 배워야 할 다음 단계는 무엇이라고 생각합니까? 채팅을 통해 세 가지 후보가 나왔습니다: 오픈소스 OpenTelemetry, OpenSSF, WebAssembly 입니다.
많은 오픈소스 프로젝트의 영감은 너무 복잡하거나 수동적이어서 프로덕션에서 광범위하게 채택하거나 쉽게 확장할 수 없는 현재의 솔루션을 개선하는 데 있습니다. 새로운 솔루션을 향한 첫 번째 단계는 현재 솔루션이 처리해야 하는 세부 사항을 추상화하는 것일 때가 많습니다. 하지만 작업을 계속하다 보면 인접한 문제 영역이 드러나기 마련이고, 솔루션이 완성되기 위해서는 반드시 해결해야 합니다. 그 결과 거의 필연적으로 복잡성이 증가하며, 새로운 솔루션이 레이더에 포착되었을 때는 이미 너무 커져서 빠르고 쉽게 이해하기 어렵습니다.
간단히 말해서, 추상화가 삶을 더 쉽게 만들 수는 있지만 항상 더 단순하게 만드는 것은 아닙니다. 훌륭하고 중요한 예로 현재 컨테이너 오케스트레이션의 대명사가 된 쿠버네티스를 들 수 있습니다. 쿠버네티스는 2015년 7월에 등장했습니다. 이 프로젝트는 google(Borg)의 매우 성공적인 내부 프로젝트에 기반을 두고 있으며, 프로덕션 시스템에서 매우 성공적인 역할을 빠르게 수행했습니다. 2015년에는 여러 경쟁 기술이 있었기 때문에 쿠버네티스를 배우는 것이 중요해 보이지 않았을 수도 있지만, 오늘날에는 최신 앱을 빌드하고 배포하려면 반드시 이해해야 합니다.
목차
1. OpenTelemetry: 최신 앱 모니터링을 위한 데이터 스트림의 상관 관계
2. OpenSSF: 오픈소스의 미래 보장하기
3. WebAssembly: 차세대 웹 앱 제공
4. TR;DR(비록 그랬더라도!)
1. OpenTelemetry: 최신 앱 모니터링을 위한 데이터 스트림의 상관 관계
OpenTelemetry(OTel)는 2019년 3월부터 사용되기 시작했습니다. 이 도구는 통합 가시성 세계를 강타했으며, Cloud Native Computing Foundation(CNCF)에서 가장 활발하게 진행되고 있는 오픈소스 프로젝트 중 하나입니다. OTel에 대해 잘 알고 있을 수도 있지만, 곧 애플리케이션 관리 방식을 바꿀 몇 가지 주요 요소를 무시할 수는 없습니다.
OTel은 새로운 cloud-native 애플리케이션 범주에 매우 중요한 분산 추적에서 시작되었습니다. 그러나 OpenTelemetry 의 개발자들은 최신 앱을 모니터링 하려면 여러 데이터 클래스(traces, metrics, logs)를 통합된 보기로 정렬하고 상호 연관시켜 어느 위치와 시점에서든 앱 환경에서 무슨 일이 일어나고 있는지 빠르고 명확하게 파악할 수 있어야 한다는 사실을 금방 깨닫게 되었습니다.
각 데이터 클래스의 진행 상황은 자체 타임라인에 따라 진행되었습니다. tracing이 선두를 달렸고, 곧이어 metric이 그 뒤를 이었습니다. 이제 마지막 세 가지 요소인 애플리케이션 인사이트의 가장 친숙한 소스이자 오픈소스 프로젝트 작업에서 이미 사용하고 있는 log가 안정적인 릴리스에 가까워지고 있습니다.
OTel이 제공하는 통합 가시성 데이터 뷰에 로그가 통합됨에 따라, 서비스 중단, 잘못된 결과, 사용자의 인내심을 초과하는 요청 트랜잭션 시간 등 애플리케이션 문제를 인식하고 대응하는 데 있어 새로운 세계관이 어떻게 변화할지 빠르게 이해해야 합니다.
OTel에 대해 자세히 알아보고 세 가지 데이터 클래스 모두에 대한 최신 정보를 확인하세요. 최신 앱 환경에서 OTel을 도입하는 데 유용한 팁이 필요하다면, NGINX Modern App reference Architecture(MARA)에 통합하면서 알게 된 내용을 다룬 포스트를 읽어보세요.
2. OpenSSF: 오픈소스 의 미래 보장하기
보안은 현대 애플리케이션 세계에서 매우 필요한 부분입니다. 그리고 여러 개의 개별 프로젝트를 통합하는 솔루션을 개발하다 보면 때때로 보안이 뒤섞여 혼란에 빠질 수도 있습니다. 보안 취약점이 여러 프로젝트에 걸쳐 확산되고 반향을 일으키는 사례를 보았습니다. 어떻게 해야 할까요?
다행히도 이 문제를 혼자서 해결할 필요는 없습니다. Linux 재단의 일부인 Open Source Security Foundation(OpenSSF)은 모든 오픈소스 프로젝트의 보안을 강화하기 위해 커뮤니티, 기업, 프로젝트를 하나로 모으고 있습니다. OpenSSF는 비교적 최근에 설립된 재단입니다(2020년 설립). 아직 개발 중이지만, 오픈소스가 닿는 모든 곳(거의 모든 곳에 해당)에 영향을 미칠 것입니다. 특히 일상적인 프로덕션 운영을 책임지고 있다면, 안전한 오픈소스 공급망이 무엇을 의미하는지 이해해야 합니다. 우리가 의존하는 리포지토리와 자신의 프로젝트를 보호하기 위해 OpsnSSF 가 권장하는 사항을 자세히 살펴봐야 합니다.
OpenSSF 는 아직 초기 단계이기 때문에 아직 발전 중인 프로젝트에 대해 배울 수 있을 뿐만 아니라 프로젝트의 미래에 직접적인 영향을 미칠 수 있습니다. 모범 사례의 정의를 안내하고 OpenSSF의 보안 모델이 귀사와 같은 조직의 운영에 어떤 영향을 미칠 수 있는지에 대한 통찰력을 제공하기 위해 작동 방식에 대한 지식을 가져와 주십시오. F5는 오픈소스 공급망과 중요 프로젝트의 보안을 위한 이니셔티브에 참여하여 OpenSSF의 적극적인 회원이 된 것을 기쁘게 생각합니다.
3. WebAssembly: 차세대 웹 앱 제공
WebAssembly(Wasm)는 웹 앱 전송 분야에서 우위를 점하고 있는 것이 분명합니다. 수십 년 만에 웹 브라우저에 채택된 최초의 새로운 언어이며, 포토샵이나 AutoCAD와 같은 기술에서 초기에 사용되었습니다. 성능과 언어 독립성에 중점을 둔 Wasm은 브라우저 내에서 네이티브에 가까운 앱 성능을 제공합니다(프론트엔드 또는 백엔드 사용 기준). 물론 JavaScript를 대체하지는 않겠지만, 사용자들이 빠른 응답을 선호한다는 사실을 잘 알고 있기에 성능을 최우선으로 하여 최신 앱을 확장하고 개선할 수 있습니다.
안전하고 단순하게 설계된 WebAssembly 는 이전에는 브라우저에서 실행할 수 없었던 언어를 브라우저에서 실행할 수 있게 해주는 일종의 low-level assembly-like code입니다. 컴파일 타겟을 통해 C, C++, Rust와 같은 언어가 이제 JavaScript, Python과 같은 언어와 함께 실행할 수 있습니다.
그렇다면 왜 지금 WebAssembly 를 배워야 할까요? 기능이 완벽하지는 않지만 이미 널리 사용되고 있고 기능이 뛰어나기 때문입니다. 클라우드 네이티브 마이크로서비스, 서버리스 기능, 기존의 리팩터링된 애플리케이션 등 웹 앱의 설계와 제공에 점점 더 많은 영향을 미칠 것입니다. 또한 향후 프로젝트에서 새로운 기능, 새로운 클라이언트 심지어 새로운 아키텍처를 사용할 수 있게 함으로써 앱 개발의 본직을 변화시킬 것입니다. 어떤 의미에서 최고의 기술은 마지막을 위해 남겨두었습니다. 지금까지 살펴본 세 가지 기술 중 개발자가 가장 중요하게 이해해야 할 기술은 WebAssembly라고 생각하며, 곧 소개할 예정입니다.
4. 오픈소스 TR;DR(비록 그랬더라도!)
이제 향후 몇 년 동안 귀하에게 가장 큰 영향을 미칠 것이며 현재 귀하가 사용할 수 있는 짧은 기술 목록이 있습니다. 오픈소스 세계에서 귀하의 고유한 역할에 따라 다른 것보다 먼저 하나에 집중해야 할 수도 있습니다. 그러나 우리는 이 세 가지 모두가 3년 후에는 지금보다 훨씬 더 중요해질 것이라고 예측합니다.
NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 논의하십시오.
NGINX에 대한 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.