Knative

현대적인 서버리스 워크로드를 빌드, 배포, 관리할 수 있는 Kubernetes 기반 플랫폼입니다.

모든 개발자를 위한 필수 기본 요소

50여 개의 기업과 함께 Google이 처음으로 만든 Knative는 Kubernetes에서 서버리스 애플리케이션을 빌드하고 실행하는 데 필수적인 구성요소를 제공하고 있습니다. Knative에서는 Kubernetes의 클라우드 기반 애플리케이션을 위한 scale-to-zero, 자동 확장, 클러스터 내 빌드, 이벤트 프레임워크 등의 기능을 제공합니다. Knative는 성공적인 실제 Kubernetes 기반 프레임워크에서 공유한 권장사항을 온프레미스, 클라우드, 타사 데이터 센터 등 어디서나 코드화해 줍니다. 무엇보다도 Knative에서는 개발자가 애플리케이션 빌드, 배포, 관리와 같이 '지루하면서도 까다로운' 작업에 시달리지 않고 코드 작성에만 집중할 수 있습니다.

개발자 친화적인 소프트웨어

Knative는 소스 코드에서 컨테이너 이미지로 애플리케이션을 빌드하고, 배포 중에 트래픽을 라우팅 및 관리하고, 워크로드를 자동 확장하거나, 실행 중인 서비스를 계속 늘어나는 이벤트 소스 생태계에 결합하는 등 일상적이지만 어려운 작업을 해결하는 데 중점을 둔 재사용이 가능한 일련의 구성요소를 제공합니다. Knative는 컨테이너 이미지를 배포 단위로 인식합니다. 따라서 개발자는 자신에게 익숙한 언어, 프레임워크 또는 관용구를 사용할 수 있습니다.

Knative는 자연스러운 개발자 환경에 중점을 둡니다. GitOps, DockerOps, ManualOps뿐만 아니라 Django, Ruby on Rails, Spring 등의 도구와 프레임워크와 같은 일반적인 개발 패턴을 지원합니다.

2가지 장점 : 유연성과 제어

Knative는 기존 빌드와 CI/CD 도구 모음에 쉽게 연결되도록 설계되었습니다. 기업은 위치와 클라우드에 관계없이 Kubernetes가 지원하는 모든 인프라에서 실행되는 오픈소스 우선 기술에 중점을 둠으로써 최상의 실행을 보장하는 곳 어디로든 워크로드를 자유롭게 옮길 수 있습니다. 따라서 고객의 고유한 요구사항에 맞게 시스템을 조정하는 데 필요한 유연성과 제어 기능이 제공됩니다.

원하는 방식으로 서버리스 워크로드 실행

Knative는 Google Cloud의 완전 관리형 환경, Google Kubernetes Engine(GKE)에서 실행하는 Anthos 또는 자체 Kubernetes 클러스터 등 어디서나 서버리스 워크로드를 실행할 수 있는 개방형 API 및 런타임 환경을 제공합니다. Knative에서는 간단하게 Cloud Run을 시작한 후 Cloud Run for Anthos로 이전하거나 자체 Kubernetes 클러스터를 시작했다가 이후 Cloud Run으로 마이그레이션할 수 있습니다. Knative를 기본 플랫폼으로 사용하면 워크로드를 여러 플랫폼으로 자유롭게 이전해 전환 비용을 크게 절감할 수 있습니다.

Knative 구성요소

빌드

  • 소스 코드를 컨테이너로 구축하는 구성 가능하고 유연한 접근 방식

  • Dockerfile 또는 빌드 템플릿을 사용한 플러그인 가능한 접근 방식

  • 크로스 컴파일 또는 로컬 빌드 도구가 필요 없음

  • 빠른 빌드를 위한 캐시된 아티팩트 지원

  • 조직에서 여유 용량을 활용해 리소스 사용량을 개선

제공

  • 수준 높은 추상화, 간편한 객체 모델 추론

  • HTTP 요청에 따른 원활한 자동 확장

  • 새 버전의 점진적 출시

  • 네트워킹 및 서비스 메시 자동 통합

  • 플러그인 가능: 자체 로깅 및 모니터링 플랫폼 연결

이벤트

  • 이벤트의 범용 구독, 전달, 관리

  • 상위 수준 객체를 포함한 느슨하게 결합된 이벤트 기반 시스템 빌드

  • 이벤트 제작자 및 이벤트 사용 서비스 간의 선언적 결합

  • 소수의 이벤트에서 실시간 스트림으로 확장 가능

  • 자체 기존 시스템과 연결되는 커스텀 이벤트 파이프라인

Knative를 사용하면 개발자가 빌드, 배포, 자동 확장, 모니터링, 관측 가능성과 같은 낮은 수준의 플랫폼 기능 빌드를 걱정할 필요 없이 비즈니스 로직 빌드에 집중할 수 있습니다. 예를 들어, 저희는 Knative를 사용하여 자바/Vert.x로 개발된 T-Mobile 매장 검색 기능 앱을 GCP로 간편하게 마이그레이션할 수 있었습니다. 이 작업이 순식간에 이뤄진 건 Knative에서 플랫폼 수준의 기능을 다양하게 제공하여 개발자가 직접 기능을 빌드할 필요가 없었기 때문입니다.

— 램 고피나탄, T-Mobile 책임 기술 아키텍트

리소스

Google Cloud

시작하기

Knative를 사용한 서버리스 워크로드 빌드, 배포, 관리

Cloud Run 빠른 시작을 따라 Knative를 준비하고 실행해 보세요. Knative 환경을 제공하고 싶다면 GitHub에서 설치 가이드를 참조하세요.