Jamstack의 진화는 점점 명확해지고 있으며 서버리스는 더 이상 API에만 국한되지 않습니다. Jamstack을 자주 변경하는 대규모 웹 사이트로 확장하려면 서버리스 기능이 필요합니다. ISR(Incremental Static Regeneration), DPR(Distributed Persistent Rendering) 또는 그 사이에 있는 것을 사용하는 개발자는 특히 프로덕션 환경에서 서버리스 코드를 보다 쉽게 관찰하고 디버깅할 수 있는 방법이 필요합니다.
Layer0은 이미 클라우드에서 실행되는 서버리스 코드의 콘솔 출력에 대한 스트리밍 로그를 제공합니다. 안타깝게도, 응용 프로그램의 console.log() 문에서 출력된 내용은 거의 유익하지 않습니다. 개발자가 문제가 발생하기 전에 어떤 API 호출이 문제가 될 수 있는지 예상해야 하기 때문입니다. 따라서 개발자는 이를 둘러싼 광범위한 로깅 코드를 작성할 수 있습니다. 드물게 일어납니다. 그래서 이번 달 초, 우리는 심층 요청 검사 (DRI)를 발표했습니다. 요청 검사는 Chrome Devtools Network Inspector와 비슷하지만 서버리스 코드를 위한 것입니다. 서버리스 코드로 들어오는 모든 요청의 메서드, 헤더 및 본문과 생성된 최종 응답을 볼 수 있습니다. 더욱이 서버리스 코드가 만드는 모든 업스트림 API 요청에 대해 이와 동일한 상세 네트워크 정보를 볼 수 있습니다. 또한 API 호출 검사에서 로컬로 재현에 이르기까지 매우 쉽게 사용할 수 있는 유용한 “curl로 복사” 기능을 추가했습니다. 꿈이야! 아래 튜토리얼을 시청하십시오.
요청 검사는 이제 Layer0(현재 Edgio)의 모든 계획에 대해 일반에 제공되며 Next.js, Nuxt.js, Angular 및 SvelteKit/sapper를 포함하여 서버리스를 지원하는 모든 풀 스택 프레임워크와 호환됩니다. Beta 고객과 협력하여 이미 여러 시나리오에서 요청 검사가 유용하다는 사실을 알게 되었습니다.
- 프로덕션 문제 해결: “프로덕션 중에만” 발생하며 로컬에서 재현할 수 없는 문제 해결
- 비동기 코드 시각화: 많은 비동기 루틴이 있는 복잡한 코드의 정확한 API 흐름을 이해합니다.
- 느린 API 격리: API 호출이 언제 이루어지는지, 얼마나 오래 걸리는지 정확하게 검사합니다.
심층적인 요청 검사는 개발자가 서버리스를 최대한 활용할 수 있도록 지원하는 방법 중 하나입니다. 개발자는 서버리스 코드의 캐시 적중률을 측정하고 증분 정적 생성 또는 기타 캐싱 방법에 의해 생성되는지 여부에 관계없이 경로 또는 개별 페이지를 기준으로 캐시를 제거할 수 있습니다. 사실, 우리의 전자 상거래 고객 중 한 명이 주문 관리 시스템에 Layer0을 연결했으며 재고 변화에 따라 시간당 20,000 개 이상의 개별 제품을 동적으로 제거하고 있습니다. 이를 통해 자주 변경되는 대규모 카탈로그에도 불구하고 즉시 로딩 전자 상거래 사이트를 가질 수 있습니다. 앞으로는 요청 검사를 기반으로 메모리 사용량, 동시성, API 성능 등 서버리스 코드를 더욱 정확하게 파악할 수 있기를 기대합니다. 성능 문제를 일으키는 업스트림 API를 격리하는 데도 도움을 드릴 것입니다.
우리는 심층적인 요청 검사와 이러한 향후 기능이 Layer0 (현재 Edgio) 플랫폼에서 서버리스로 생산성을 높이는 방법에 대해 기쁘게 생각합니다.