𝗖𝗹𝗼𝘂𝗱 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲 𝗮𝗻𝗱 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆: 𝗧𝗵𝗲 𝗡𝗲𝘅𝘁 𝗟𝗲𝘃𝗲𝗹 𝗳𝗼𝗿 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀

웹 애플리케이션이 로컬 머신에서 잘 작동합니다. 이제 작업이 끝났다고 생각할 수도 있습니다. 하지만 그렇지 않습니다.

앱을 어디에 배치할지 결정해야 합니다. 어떻게 보호할지 결정해야 합니다. 수천 명의 사용자가 동시에 접속할 때 어떤 일이 벌어질지도 결정해야 합니다.

클라우드로 이전하는 것은 단순히 코드를 업로드하는 것 이상의 작업이 필요합니다. 아키텍처와 보안을 이해해야 합니다.

PaaS(Platform as a Service)는 개발자에게 훌륭한 시작점입니다. PaaS를 사용하면 클라우드 제공업체가 서버, 운영 체제 및 네트워킹을 관리합니다. 여러분은 코드와 사용자 경험에만 집중하면 됩니다.

주요 PaaS 옵션은 다음과 같습니다:

• AWS App Runner: 컨테이너화된 웹 앱에 적합합니다. 배포와 스케일링을 처리합니다. • Azure App Service: GitHub Actions 또는 Azure DevOps와 같은 Microsoft 도구를 사용하는 경우에 완벽합니다. • Google Cloud Run: 서버리스 컨테이너에 탁월합니다. 사용자가 없을 때는 비용 절감을 위해 스케일을 0으로 줄일 수 있습니다.

클라우드 보안은 여러분의 책임입니다. 제공업체가 도구를 제공하지만, 이를 올바르게 사용하는 것은 여러분의 몫입니다.

다음 보안 규칙을 따르세요:

데이터 주권(data sovereignty)을 고려하세요. 데이터가 어디에 저장되는지, 어떤 법률이 적용되는지 알아야 합니다. 유럽 사용자가 있다면 GDPR 규정을 준수해야 합니다.

트래픽 급증에 대비하세요. 인플루언서가 여러분의 링크를 공유하면 서버가 다운될 수 있습니다. 스케일링을 통해 이를 방지할 수 있습니다:

• 수직적 스케일링(Vertical Scaling): CPU나 RAM을 늘려 머신의 성능을 높입니다. • 수평적 스케일링(Horizontal Scaling): 앱의 인스턴스를 더 많이 생성하고 로드 밸런서를 사용하여 트래픽을 분산합니다.

항상 사이트에서 HTTPS를 사용하도록 하세요. 이를 통해 통신이 암호화되고 안전하게 유지됩니다.

연습 방법:

  1. 간단한 웹 앱을 위한 저장소(repository)를 만듭니다.
  2. 코드에 민감한 데이터가 포함되지 않도록 합니다.
  3. Vercel 또는 Netlify를 사용하여 배포합니다.
  4. 사이트에서 HTTPS를 사용하는지 확인합니다.

Source: https://dev.to/xinlin25/arquitectura-y-seguridad-en-la-nube-el-proximo-nivel-del-desarrollador-1bnd