2025 반드시 알아둬야할 이 개발자 플랫폼은?
요약
본 영상은 풀스택 개발자에게 필요한 통합 클라우드 개발자 플랫폼으로 Cloudflare를 소개합니다. 이 플랫폼은 데이터베이스, 캐싱, 큐, 컴퓨팅 등 대형 서비스에 필요한 모든 요소를 제공하며, 특히 서버리스 환경에서 다양한 기능을 쉽게 구축할 수 있도록 지원한다고 강조합니다.
핵심 포인트
- Cloudflare는 풀스택 개발자가 필요로 하는 통합 클라우드 플랫폼입니다.
- Workers를 통해 TypeScript, JavaScript, Rust 코드를 전 세계 네트워크에서 실행하는 서버리스 컴퓨팅이 가능합니다.
- 데이터베이스, 캐싱, 큐 등 대형 서비스에 필요한 모든 핵심 기능을 제공합니다.
Video: 2025 반드시 알아둬야할 이 개발자 플랫폼은?
Channel: 노마드 코더 Nomad Coders
Duration: 12m 10s
Source: subtitle (auto, ko)
Transcript:
시작하기 전에 미리 말씀드려야겠어요. 지금부터 보실 영상은 광고 영상처럼 보일 수도 있지만, 절대 광고 영상이 아닙니다. 많은 분들이 CDN 서비스 제공업체로만 알고 계시는 Clauser라는 회사가, 조용히 그리고 꾸준히 개발자 플랫폼을 구축해 왔는데, 저는 이 플랫폼이 메이커들의 꿈이라고 생각합니다. 풀스택 개발자에게 필요한 유일한 플랫폼. 제가 한 말 들이 꽤 큰 주장이라는 걸 알고 있고, 그걸 뒷받침할 근거가 필요하다는 것도 알고 있습니다. 이 영상은 바로 그 근거를 보여주는 영상입니다. 오늘은 많은 개발자들이 간과하고 있는 클라우드 개발자 플랫폼을 살펴보겠습니다 . 인스타그램, 틴더, 슬랙 또는 기타 대형 서비스와 같은 아무 서비스나 하나 골라서 분석해 보세요. 그것들은 모두 다양한 기술과 움직이는 부품들로 구성되어 있습니다. 이 모든 것들은 데이터베이스, 캐싱, 큐, 컴퓨팅, 크라운 작업, 실시간 기능, 미디어 자산, 사용자 업로드, 비디오 스트리밍, 이메일 등을 사용합니다. 그리고 요즘은 인공지능이죠.
이러한 요소들을 활용하여 무언가를 구축하려면 여러 공급업체의 다양한 기술과 서비스를 이용해야 할 것입니다. EC2 서버, RDS 데이터베이스, 준비 캐시, RabbitMQ, S3 버킷, 최근 이메일 기록, 비디오 스트리밍용 MOS 등등. 만약 이 모든 것을 설치, 구성, 유지 관리 및 통합할 자금과 시간이 있다면 아무런 문제가 없습니다 . 하지만 더 빠르게 구축하고 싶고, 첫 고객을 확보하기 전에 비용을 지출하고 싶지 않으며, 통합된 API와 개발자 경험을 원한다면 Cloudflare를 고려해 보세요. 많은 분들이 놀라시겠지만, 클라우드 개발자 플랫폼에는 제가 방금 언급한 모든 기능과 그 이상의 기능이 포함되어 있기 때문입니다. 네, 그들은 데이터베이스를 가지고 있습니다. 네, 캐싱 기능이 있습니다. 네, 그들에게는 단서가 있습니다. 네, 그들은 컴퓨터를 가지고 있습니다. 네, 컨테이너가 있습니다. 네, 그들은 크로노브를 가지고 있습니다. 네, 그들은 디스코드와 같은 실시간 환경을 구축할 수 있는 키트와 실시간 AI 에이전트를 구축할 수 있는 또 다른 키트도 제공합니다.
네, 정말 많은 물건을 가지고 있어요. 말도 안 돼. 이 영상은 광고 영상이 아니라는 점을 다시 한번 말씀드립니다. 물론 광고 영상이었으면 좋았겠지만요 . 클라우저에서 일하시는 분은 저에게 연락 주세요. 저는 클라우드페어 주식을 선물로 받는다면 기꺼이 받겠습니다 . 지금은 제품 종류가 너무 많아서 각 제품을 자세히 살펴볼 시간이 없습니다 . 그럼 개발자 여러분이 가장 중요하게 생각하실 만한 몇 가지 사항에 대해 간략하게 설명드리겠습니다. 우리가 다룰 내용은 다음과 같습니다. 컴퓨팅, 데이터베이스, 캐싱, 큐, 크로노 작업, 컨테이너, 파일 저장소, 실시간 이메일, 그리고 마지막으로 인공지능(AI)까지 포함합니다. 계산합니다. 컴퓨팅은 Cloudflare Workers에서 제공됩니다. Cloudflare Workers는 서버리스 플랫폼으로, TypeScript, JavaScript 또는 Rust 코드를 Cloudflare 네트워크에서 실행하고 이를 URL로 전 세계에 노출할 수 있도록 해줍니다. 워커를 생성하려면 콘솔에서 다음 명령을 실행하기만 하면 됩니다.
원하는 언어를 선택하시면 바로 사용하실 수 있습니다. 그러면 index.ts와 wrangler.json이라는 두 개의 매우 중요한 파일이 들어 있는 폴더가 생성됩니다. index.ts는 워커의 진입점이고 wrangler.json은 워커의 구성 파일입니다. index.ts 파일을 살펴보면, fetch 함수가 포함된 객체를 내보내는 것을 확인할 수 있습니다. 해당 fetch 함수는 URL을 통해 워커가 호출될 때 실행되는 함수입니다 . 저를 포함한 많은 사람들이 클라우드 워커용 프레임워크를 사용하는데, 이 프레임워크는 라우팅과 응답을 처리해 주어 시간을 크게 절약해 줍니다. 그 프레임워크를 호노(Hono)라고 합니다. Hono를 설치한 후에는 index.ts TS 파일의 코드를 다음 코드로 교체하면 됩니다. 이 코드는 여러분에게 훨씬 더 익숙하게 느껴질 것입니다. 이제 다 됐습니다. 지금 클라우드에서 코드를 실행하고 있습니다. 물론 Hono를 꼭 사용해야 하는 것은 아닙니다. Nex.js, Remix, Zeltap 등을 배포해도 문제없이 작동할 것입니다.
알아두셔야 할 점은 여러분의 코드가 NodeJS가 아닌 JavaScript 런타임에서 실행된다는 것입니다 . 대부분의 npm 패키지는 잘 작동 하지만, 특히 NodeJS 전용 API가 필요한 패키지는 작동하지 않을 수 있습니다. 하지만 Workers는 호환성 플래그를 제공하며, 별도의 설정 없이 바로 다양한 NodeJS API를 지원합니다. 그리고 미리 말씀드리자면, 만약 ffmppg를 이용한 비디오 압축 이나 리눅스와 유사한 환경에서 실행해야 하는 작업처럼, 서버리스 워커 환경에 적합하지 않은 작업을 실행해야 한다면 클라우드 서버 컨테이너를 사용할 수 있습니다. 자세한 내용은 나중에 설명하겠습니다. 가격 면에서 보면, 인건비는 무료입니다. 하루에 10만 건의 무료 요청을 이용할 수 있으며, 월 5달러의 구독료를 지불하면 매달 1천만 건의 요청을 이용할 수 있습니다. 계산 확인. 데이터베이스. 이제 컴퓨팅 능력을 갖췄으니 데이터를 저장할 공간이 필요합니다. 이를 위해 저희는 SQite를 기반으로 구축된 서버리스 데이터베이스인 Cloud31을 사용합니다.
그리고 혹시라도 뭐라고 하시기 전에 미리 말씀드리지만, Esculite는 장난감 데이터베이스가 아닙니다. 이것은 지금까지 만들어진 소프트웨어 중 가장 훌륭한 것 중 하나이며, 당신과 내가 만들 대부분의 프로젝트에 사용하기에 전혀 문제가 없습니다. 제가 에스쿨라이트의 놀라운 점에 대해 자세히 다룬 영상을 만들었으니 , 이 영상 보신 후에 꼭 확인해 보세요. 데이터베이스를 생성하려면 다음 Wrangler 명령어를 실행해야 합니다. 참고로 Wrangler는 Cloudflare 워커용 CLI 도구입니다 . 이 명령을 실행하면 다음과 같은 내용이 표시되며, 이를 복사하여 Wrangler.json C 파일에 붙여넣을 수 있습니다. 기본적으로 개발 모드에서 Wrangler는 로컬 SQI 데이터베이스를 사용합니다. 클라우드 계정에 있는 원격 접속 기능을 사용하려면 remote를 true로 설정하기만 하면 됩니다. 거기에서 데이터베이스 ID와 데이터베이스 이름을 확인할 수 있습니다. 중요한 것은 바인딩 속성을 사용하는 것입니다.
바인딩은 워커가 데이터베이스에 접근하는 데 사용할 변수 이름입니다 . 따라서 myDB를 바인딩으로 사용하면, 다음과 같이 env.m myDB를 통해 워커에서 데이터베이스에 접근할 수 있습니다. 클러스터 대시보드에서 데이터베이스 쿼리를 실행하여 데이터에 마이그레이션을 적용하는 등의 작업을 수행할 수 있습니다. SQL 쿼리를 직접 작성하는 것이 불편하다면 Dissel이나 Prisma를 사용할 수도 있습니다. 두 사람 모두 D1에서 근무합니다. 가격 측면에서 D1은 사용량이 0에 가까워질수록 성능이 저하됩니다. 즉, 쿼리를 실행하지 않으면 컴퓨팅 성능을 확보할 수 없습니다. 무료 플랜은 하루 500만 행의 데이터 접근과 10만 행의 데이터 쓰기를 제공합니다. 이미 5달러 워커 플랜에 가입하신 경우, 매달 250 억 행 읽기와 5천만 행 쓰기를 이용하실 수 있습니다. 데이터베이스는 캐싱을 확인합니다 . 이제 컴퓨팅 능력 과 데이터베이스가 있으니 캐시가 필요합니다. 비용이 많이 드는 쿼리나 인증 정보처럼 자주 읽는 데이터에 유용합니다.
이를 위해 당사는 클라우드 기반의 타사 KV(키-값)를 사용하여 워커를 KV 네임스페이스에 바인딩하는 글로벌 저 지연 키-값 데이터베이스를 제공합니다 . 다음 Wrangler 명령어를 실행하세요. 이 명령을 실행하면 다음과 같은 결과가 나오는데, 이 결과를 복사해서 Wrangler의 JSON.c 파일에 붙여넣으면 됩니다. 다시 말하지만, 바인딩은 작업자가 KV 데이터베이스에 접근하는 데 사용할 것입니다. 예를 들어, 데이터베이스에 접근하기 전에 사용자가 캐시에 있는지 확인할 수 있습니다. 만약 그렇다면 캐시에서 해당 항목을 반환합니다. 그렇지 않으면 데이터베이스에 접근하여 사용자를 캐시에 저장합니다. 이제 가격에 대해 이야기해 보겠습니다. 무료 플랜은 하루 10만 개의 키 읽기, 하루 1,000개의 키 쓰기, 그리고 1 기가바이트의 저장 공간을 제공합니다. 이미 5달러짜리 워커스 플랜을 이용 중이시라면, 매월 읽기 키 1천만 개, 쓰기 키 1백만 개, 그리고 1GB의 저장 공간을 제공받으실 수 있습니다.
캐싱, 확인, 큐는 비동기적으로 수행하려는 작업이 있을 때 유용합니다. 예를 들어, 사용자가 가입할 때 환영 이메일을 보내는 것 등이 있습니다 . 계정 생성 전에 이메일이 발송되기를 기다리시면 안 됩니다 . 대신 사용자 계정을 빠르게 생성한 다음 대기열을 사용하여 나중에 환영 이메일을 보냅니다. 이를 위해 우리는 클러스터 단서를 가지고 있습니다. 단서에는 양면이 있다. 생산자는 요소를 첨가 하고 소비자는 이를 가공하고 제거합니다. 먼저 정육면체를 만들겠습니다. 한 노동자는 소비자로, 다른 노동자는 생산자로 둘 수 있습니다. 아니면 한 명의 직원이 두 가지 일을 모두 담당하게 할 수도 있습니다. 우리 작업자가 두 가지 역할을 모두 수행하도록 하려면, 이 명령을 실행한 후 Wrangler의 JSON.C 파일에 다음 내용을 추가해야 합니다 . 그리고 다시 한번 말씀드리지만, 바인딩은 워커에서 큐에 접근하는 데 사용할 것입니다. 다음은 계정 생성 경로를 처리하는 예입니다. 사용자 계정을 생성한 다음, 대기열에 메시지를 보내 환영 이메일을 발송하도록 합니다.
그런 다음 cube 라는 함수를 내보내도록 코드를 약간 수정합니다 . 해당 함수는 대기열에 메시지가 있을 때 클라우드에서 호출됩니다. 메시지 묶음을 수신합니다. 거기서 각 메시지를 처리하고, 이메일을 보내고, 메시지 수신을 확인하여 대기열에서 제거할 수 있습니다 . 중요한 건 이게 나중에 실행된다는 겁니다. 사용자는 이메일이 전송될 때까지 기다리지 않습니다. Q 메시지를 처리하는 코드는 다른 영역에서 실행될 수도 있습니다. 상관없어요. 보시다시피, Q 소비자도 A 및 B 객체에 접근할 수 있으므로 데이터베이스, KB 및 기타 바인딩을 사용할 수 있습니다. 단서 확인. 크론 관련 직업. 크로노 작업은 매일 아침 8시에 이메일을 보내거나 데이터베이스 에서 한 달에 두 번 모든 알림을 삭제하는 것처럼 특정 시간 또는 간격으로 작업을 실행하려는 경우 유용합니다 . 크로노 작업을 설정하려면 Wrangler의 JSON C 파일에 크로노 표현식이 포함된 트리거 섹션을 추가합니다. 해당 시간 표현식을 사용하면 Clauser는 매주 월요일부터 금요일까지 오전 3시 10분에 작업자를 호출합니다.
이 호출을 처리하기 위해 우리는 END 객체에 접근할 수 있는 scheduled라는 함수를 내보냅니다. 즉, 데이터베이스, KB 및 기타 바인딩을 사용할 수 있습니다. 크롬 관련 작업 확인. 컨테이너. 컨테이너는 클라우드 개발자 플랫폼에서 비교적 새로운 제품입니다. 그들은 사람들이 노동자를 동원하는 건설 프로젝트를 꺼리게 만드는 가장 큰 문제점을 해결합니다 . 기본적으로 도커 컨테이너는 서버를 관리할 필요 없이 클러스터 네트워크에서 실행할 수 있습니다. 컨테이너는 필요에 따라 생성되며 워커 코드에서 제어됩니다. 즉, 파이썬 스크립트, 자바 프로그램 등 워커 서버리스 환경에 적합하지 않은 작업을 실행해야 하는 경우 컨테이너에 넣어 워커 에서 호출할 수 있습니다. 컨테이너를 생성하려면 Wrangler.json C 파일에 containers 섹션을 추가합니다. 여기서는 컨테이너를 생성하는 데 사용될 Docker 파일과 동시에 실행될 수 있는 최대 인스턴스 수를 지정합니다 . 가장 중요한 것은 수업 이름입니다.
이는 워커에서 컨테이너와 상호 작용하는 데 사용될 JavaScript 클래스의 이름입니다 . 워커에서 컨테이너를 사용하려면 워커 내에 동일한 이름의 클래스를 생성하고 내보내야 합니다. 여기서 컨테이너가 수신 대기할 포트와 일정 시간 후 대기하도록 지정합니다. 이제 사용자가 /process video로 POST 요청을 보내면, 저희 워커는 고유 ID를 사용하여 컨테이너 인스턴스를 가져와 해당 인스턴스로 요청을 전달합니다. 컨테이너는 ffmppg를 사용한 비디오 압축과 같은 무거운 처리 작업을 수행하고 결과를 반환합니다. 그게 다입니다 . 이제 서버 리스 코드 컨테이너에서 서버 전체 코드가 호출되고 있으므로 파일 저장소를 확인하십시오. 이제 파일 저장에 대해 이야기해 보겠습니다. 사용자 업로드 파일, 이미지, 동영상, 문서, 팟캐스트, 백업 파일 등등. 이를 위해 당사는 수수료가 없는 S3 호환 객체 스토리지인 Clauser R2를 제공합니다. 즉, R2에 파일을 저장하고 대역폭 비용 없이 원하는 만큼 액세스할 수 있다는 뜻입니다 .
버킷을 생성하려면 이 wrangler 명령을 실행한 다음 wranglers.json C 파일에서 해당 버킷을 워커에 바인딩합니다 . 이제 워커에서 R2를 사용하여 파일을 업로드하고 다운로드할 수 있습니다. R2는 S3와 호환되므로 S3를 지원하는 모든 도구와 함께 사용할 수 있습니다. 가격 측면에서 R2는 기가 바이트당 월 0.015달러의 저장 요금을 부과합니다. 무료 플랜은 월 10GB의 저장 공간, 100만 건의 쓰기 작업, 1천만 건의 읽기 작업을 제공합니다. 그리고 퇴거 수수료는 없다는 점을 기억하세요 . 1,000명의 사용자가 10GB짜리 동영상을 다운로드하더라도 대역폭 비용은 0달러이며 1MB짜리 이미지를 다운로드하는 경우에도 마찬가지입니다. 엄청난 파일 저장 용량, 확인 완료. 실시간, 실시간 애플리케이션 없음. 채팅 앱이나 멀티플레이어 게임, Figma와 같은 공동 편집 도구 등 여러 사용자가 실시간으로 상호 작용하는 모든 것을 만들려면 내구성이 있는 개체가 필요합니다. 내구성이 뛰어난 물건은 기억력이 좋은 일꾼과 같습니다.
이러한 워커에는 영구 저장소가 연결되어 있어 요청 간에 데이터를 유지할 수 있습니다. 이는 작업이 완료되면 모든 데이터를 삭제하는 일반 워커와는 대조적입니다. 각각의 내구성이 뛰어난 물체에는 고유한 ID가 부여되어 있어 작업 현장 어디에서든 특정 물체를 참조할 수 있으며, 협업이 필요한 여러 클라이언트의 작업을 조율하는 데 매우 유용합니다. 내구성이 있는 객체를 사용하려면 Wrangler.json에서 해당 객체를 워커에 바인딩해야 합니다. 클래스 이름은 내구성이 있는 객체의 동작을 정의하는 JavaScript 클래스의 이름이고, 바인딩은 워커에서 해당 클래스에 접근하는 데 사용하는 것입니다 . 이제 내구성이 뛰어난 객체 클래스를 만들고 hono 워커에서 사용해 보겠습니다. 예를 들어, 현재 페이지를 보고 있는 사람 수를 실시간으로 보여주는 조회수 카운터 같은 것입니다 . 먼저, durableobject 클래스를 상속받고 뷰어 카운트를 0으로 초기화하는 생성자를 가진 durableobject 클래스를 생성합니다.
그런 다음 hono 워커를 통해 URL에서 페이지 ID를 가져옵니다. 이 기능을 사용하여 해당 페이지에 대한 고유하고 내구성이 있는 객체 인스턴스를 얻고, getViewer 메서드를 호출하여 페이지를 보고 있는 사람 수를 확인할 수 있습니다 . 다음으로 페이지에 시청자를 추가하고 시청자 수를 반환합니다. 내구성이 뛰어난 객체는 단순히 클래스일 뿐이지만, 클라우드 네트워크를 통해 저장되고 필요한 기간 동안 유지됩니다 . 그것들은 엄청나게 강력합니다. 실시간 수표 이메일. 그리고 마지막으로, 이메일입니다. 애플리케이션을 개발 중이라면 이메일을 보내야 합니다. 환영 메시지, 비밀번호 재설정, 알림, 청구서 등 모든 것을 포함합니다 . 클라우드에는 이메일 전송 기능이 있으며, 현재 비공개 베타 테스트 중입니다. 이메일을 보내려면 워커에 바인딩을 추가하고 보내기를 호출하기만 하면 됩니다. API 키를 관리할 필요도 없고 , 비밀 정보를 유출할 필요도 없습니다. 바인딩만 하면 됩니다. 이메일 발송에는 직원들의 유료 플랜이 필요하며, 발송된 이메일 수에 따라 요금이 부과됩니다.
이메일 발송 예정. AI를 확인해 보세요. 물론 AI도요. Clauser는 워커 AI를 지원하여 워커에서 직접 AI 모델을 실행할 수 있도록 합니다. API 키도, 외부 서비스도 필요 없고, 바인딩만 있으면 됩니다. 텍스트 생성 모델, 이미지 분류, 임베딩, 음성 인식, 텍스트-이미지 변환 등을 실행할 수 있습니다. Workers AI를 사용하려면 Wrangler.json 파일(C)에서 Worker에 바인딩해야 합니다. 그러면 Worker에서 원하는 모델을 호출할 수 있습니다. 예를 들어, Lama를 사용하여 텍스트를 생성할 수 있습니다 . Workers AI는 텍스트 생성부터 이미지 분류, 임베딩, 번역 등에 이르기까지 수십 가지 모델을 제공합니다. CloudFr에서 실행되기 때문에 빠르고 전 세계적으로 분산되어 있습니다. AI 검증. 그게 다입니다. 지금까지 컴퓨팅, 데이터베이스, 캐싱, 큐, 크로노 작업, 컨테이너, 파일 저장소, 실시간 애플리케이션, 이메일 및 AI에 대해 다루었습니다. 이 모든 기능을 하나의 플랫폼, 하나의 CLI, 그리고 통합된 개발자 환경에서 이용할 수 있습니다.
그리고 마지막으로 다시 한번 말씀드리지만 , 이 영상은 광고 영상이 아닙니다. 저는 이 플랫폼이 정말 훌륭하다고 생각하고, 여러분과 공유하고 싶습니다. 클러스터 개발자 플랫폼에 대해 어떻게 생각하시는지 댓글로 알려주세요. 이미 사용하고 계시다면 어떤 프로젝트를 개발하고 계신지도 궁금합니다. 실시간 키트나 AI 에이전트 구축 워크플로우와 같이 제가 다루지 않은 다른 제품들도 있습니다 . 앞으로 제작할 영상에서 다뤄줬으면 하는 내용이 있으면 알려주세요. 늘 시청해 주셔서 감사합니다. 다음 영상에서 만나요. 행복하다. 안녕. [음악]
AI 자동 생성 콘텐츠
본 콘텐츠는 YouTube 노마드 코더 (개발)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기