제퍼넷 로고

RevenueCat 공동 설립자이자 CTO인 Miguel Carranza와 함께 처리량이 높은 중요 API를 설계하는 상위 10가지 학습(Pod 564 + 비디오)

시간

훌륭한 API는 무엇입니까? 그리고 성공적인 기업을 구축하는 방법은 무엇입니까? RevenueCat의 CTO인 Miguel Carranza는 현재 5,000개 이상의 앱에 있으며 전년 대비 3배 성장한 API 및 SDK 설계에 대한 직접적인 경험에서 얻은 XNUMX가지 교훈을 공유합니다. 

Carranza는 최상위 API를 만드는 것에 대한 높은 수준의 생각을 공유하는 것으로 시작합니다. “제 생각에는 훌륭한 API를 만드는 두 가지 주요 요소가 있습니다. 첫 번째는 다른 제품과 마찬가지로 사용자 경험입니다. 이 경우 우리 사용자는 개발자이므로 개발자 경험이 가장 중요하다고 말하고 싶습니다. 그러나 [개발자 경험]이 훌륭하더라도 API를 안정적으로 유지해야 합니다.”

1부: 개발자 경험

  • 문서: 문서는 개발자와의 첫 번째 접촉이기 때문에 중요합니다. 문서가 훌륭해 보이면 솔루션 구현을 고려할 수 있지만 그렇지 않은 경우 다른 솔루션으로 이동할 가능성이 높습니다.
    강력한 문서는 SEO에 도움이 되고 퍼널을 개선하며 지원 티켓을 줄이는 데 도움이 됩니다. 그러나 문서화는 지속적인 프로세스라는 것을 기억하십시오. 지원 팀과 피드백 루프를 열어 두어 모든 단계에서 가능한 최고의 문서를 제공하십시오.
  • 예상치 못한 사용 사례: 이상적으로는 API가 오류의 여지가 없는 견고한 방식으로 설계되어야 합니다. 그러나 규모에 따라 사람들은 당신이 상상할 수 없는 미친 방식으로 API를 사용할 것이므로 예상치 못한 부분의 마진은 피할 수 없습니다. API를 빌드할 때 덜 일반적인 시나리오에 대비하기 위해 최선을 다하십시오.
  • 일관성: 개발자는 논리적인 사람입니다. 그들은 불일치를 싫어하므로 이를 피하기 위해 최선을 다하십시오. Carranza는 다른 제품을 관리하는 방식으로 API를 관리할 것을 권장합니다. 건축할 때 세부 사항에 매우 세심한 주의를 기울이십시오.
  • 감가 상각: 때로는 API를 더 이상 사용하지 않아야 할 수도 있지만 그렇게 하려면 매우 강력하고 세심한 계획이 있어야 합니다. 영원히 실수를 안고 살 필요는 없지만 기존 고객이 불이익을 받아서는 안됩니다. 필요한 업그레이드를 권장하되 가능한 오래 이전 버전을 지원하십시오.
  • 내부 엔드포인트와 외부 엔드포인트: 통합 API는 훌륭하지만 때로는 분할하는 것이 더 합리적입니다. (예: 동기화 대 비동기 작업, SDK 대 개발자 API, SDK 대 대시보드 등). 당신의 길잡이 별은 고객의 사용 용이성이어야 합니다. 

2부: 신뢰성

  • 통화 중 순환: 직원 일정을 상시 순환식으로 설정하고 비즈니스 초기에 있더라도 주저하지 말고 구현하십시오. Carranza는 RevenueCat에서 대기 일정을 설정하는 데 너무 오래 기다렸지만 운 좋게도 경험을 통해 몇 가지 귀중한 교훈을 얻었다고 말합니다. Carranza는 소방 훈련 문서를 작성하고, 책임 없는 방식으로 사후 부검을 수행하고, 가능한 한 많이 자동화하고, 이상적으로는 XNUMX명 이상의 교대를 목표로 할 것을 권장합니다.
  • 간단: API를 구축할 때 간단한 스택, 간단한 아키텍처, 간단한 인프라 등 모든 것을 간단하게 유지하십시오. Carranza는 다음과 같이 강조합니다. “규모를 고려하여 무언가를 디자인할 때 사람들은 '오, 확장하려면 이 엄청나게 복잡한 아키텍처가 필요합니다.'라고 생각하는 경향이 있습니다. 그러나 현실은 시장에 맞는 제품을 찾으려고 할 때 걱정할 필요가 없다는 것입니다.” 대신 CTO는 절대적으로 필요할 때까지 새로운 인프라를 추가하지 말 것을 제안합니다. API의 단순성은 고용, 온보딩, 도구에 대한 심층 지식 획득을 더 쉽게 만들어 궁극적으로 확장하기가 더 쉬워질 것입니다.
  • 조기 최적화하지 않음: 병목 현상이 실제로 어디에 있는지 확실하지 않을 수 있으므로 최적화를 기다립니다. 많은 노력이 들 수 있으며, 결국 실제 문제가 해결되지 않으면 무용지물이 될 수 있습니다. 항상 가장 일반적인 경우에 대해 최적화하십시오.
  • 항상 다음 병목 현상을 찾고 있습니다.: 사전 예방적으로 모니터링하고 다음 병목 지점과 단일 장애 지점을 예측합니다. 마이그레이션을 계획하고 연습합니다.
  • 제한: 완전히 무한한 것은 없으므로 미리 계획하고 생각하는 것이 좋습니다. 속도 제한, 필드 길이, 메타데이터 크기 등을 고려하세요. 예측하기 어렵기 때문에 사용자가 생기면 줄이는 것보다 늘리는 것이 더 쉽습니다.

주요 요점

  • 다른 제품과 마찬가지로 API를 취급하십시오.
  • 항상 개발자를 먼저 생각합니다. 그들이 당신의 API를 사용하고 싶게 만드십시오.
  • 개발자가 사용하고 나면 일관성과 안정성이 성공에 필수적입니다. 

[포함 된 콘텐츠]

6 월 16, 2022에 게시 됨
spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?