미래 지향적인 웹 앱 구축: The Codest의 전문가 팀이 제공하는 인사이트
The Codest가 최첨단 기술로 확장 가능한 대화형 웹 애플리케이션을 제작하고 모든 플랫폼에서 원활한 사용자 경험을 제공하는 데 탁월한 성능을 발휘하는 방법을 알아보세요. Adobe의 전문성이 어떻게 디지털 혁신과 비즈니스를 촉진하는지 알아보세요...
새 프로젝트를 시작하려고 하거나 새로운 기능을 개발하려고 하나요? 작업을 시작하기 전에 유용할 수 있는 다양한 외부 도구에 대해 가능한 한 많이 알아두는 것이 좋습니다.
가장 기본적이고 가장 인기 있는 두 가지 AWS 서비스는 EC2와 S3입니다. 간단히 설명하자면, EC2를 사용하면 프로젝트 를 생성하여 세상에 보여주는 반면, S3는 모든 종류의 데이터를 저장하는 데 사용됩니다. 하지만 이 글에서는 코데스트에서 일반적으로 사용하는 다소 인기 있는 다른 AWS 도구에 대해 살펴보고자 합니다.
이 도구는 많은 사용자에게 매우 빠르게 리소스를 제공하기 위해 특별히 만들어진 도구입니다. 여기서 많은 사용자란 수백, 수천 명이 아니라 단일 리소스에 대한 수백만 건의 요청을 의미합니다. 예를 들어 그래픽, CSS, HTML 또는 자바스크립트 파일을 추가할 수 있습니다. 또한 리소스가 제공하는 콘텐츠에 완전한 영향을 미치고 싶고, 무언가를 변경해야 하며, 파일의 모든 페이지에서 이러한 변경이 이루어지기를 원합니다. 여기에 모든 기능을 갖춘 AWS 클라우프론트가 제공되므로 최종 사용자가 가능한 한 빨리 리소스를 받을 수 있습니다.
클라우드프론트는 다양한 통계도 제공합니다. 예를 들어 가장 많이 요청된 페이지, 리소스 요청이 이루어진 기기, 리소스 요청이 이루어진 장치, http 상태 등이 있습니다.
물론 이 도구는 상당히 비싸지만 클라우드프론트에 대한 요청이 많을수록 서비스 비용이 줄어듭니다. 따라서 트래픽이 매우 많거나 많은 웹사이트에 리소스를 배치하려는 경우 이 솔루션을 고려해야 합니다.
간단히 말해, AWS에서 직접 많은 수의 작업을 실행할 수 있는 서비스입니다. 사용자는 실행 스크립트와 도커 이미지만 준비하면 나머지는 AWS Batch가 알아서 처리합니다. Batch는 EC2에서 인스턴스를 동적으로 생성하고, 작업에 적합한 위치를 할당하고, 동시에 실행합니다. EC2 인스턴스의 공간이나 메모리 부족을 걱정하거나 작업을 언제 어떻게 시작할 수 있을지 계속 고민할 필요가 없습니다. 도커 이미지의 스크립트와 서비스 간의 통신을 위해 API를 생성하기만 하면 됩니다. Batch를 사용하려면 Amazon Elastic 컨테이너 레지스트리(ECR) 서비스에서 도커 리포지토리도 준비해야 합니다.
도커 컨테이너의 이점을 활용하는 또 다른 서비스도 언급할 가치가 있습니다. Elastic Container Service(ECS)라고 합니다. Batch와 비교했을 때 가장 큰 차이점은 사용자가 직접 EC2 인스턴스를 설정하고 확장해야 하는 반면, Batch는 모든 작업을 대신 해준다는 점입니다. 배치 비용은 사용할 수 있는 EC2 인스턴스에 따라 달라지는데, 이 경우 실행 중인 인스턴스에 대해서만 비용을 지불합니다.
AWS Batch는 도커 이미지를 실행하여 작업을 수행하며, 다음 서비스인 AWS Lambda를 사용하면 스크립트를 직접 실행할 수 있습니다. 서버를 설정할 필요가 없습니다. 코드 는 가상으로 실행되며, 더 좋은 점은 원하는 방식으로 일부 가치를 반환할 수도 있다는 것입니다.
언제 사용할 수 있나요? 브라우저의 매개변수를 기반으로 웹사이트에서 몇 가지 계산을 하고 싶고, 이러한 계산을 위해 웹의 다른 위치에 대한 추가 쿼리가 필요할 수도 있다고 가정해 봅시다. 이 경우 Lambda에서 엔드포인트를 생성하고 스크립트를 추가한 다음 웹사이트에서 이 엔드포인트를 사용하기만 하면 됩니다. 정말 간단합니다.
람다 비용은 스크립트가 실행 중일 때만 계산되며, 엔드포인트를 사용하지 않을 때는 비용을 지불하지 않습니다.
단순 알림 서비스는 이름에서 알 수 있듯이 알림을 보내기 위해 특별히 개발된 도구입니다. 다양한 AWS 서비스 간의 커뮤니케이션에 쉽게 사용할 수 있습니다. 예를 들어, 마이크로 서비스 그룹이 있고 그 중 하나가 다른 서비스를 시작하거나 일부 작업을 실행하는 등 다른 서비스를 이끌기를 원한다고 가정해 보세요. 이 특별한 경우에는 기본 서비스에서 알림을 보내고 원하는 다른 마이크로 서비스에서 메시지 수신을 처리할 수 있습니다. 그건 그렇고, SNS와 함께 매우 흥미로운 연결을 만들 수있는 Amazon SQS (Simple Queue Service)도 언급 할 가치가 있습니다.
SNS(및 SQS)의 경우, SNS로 메시지 보내기, SNS에서 다른 서비스로 메시지 보내기, 기타 SNS API 풀의 추가 요청 등 실행된 요청에 대해서만 지급이 이루어집니다.
Amazon 관계형 데이터베이스 서비스는 외부 데이터베이스일 뿐입니다. 이 서비스를 통해 AWS는 관계형 데이터베이스를 쉽게 설정, 사용 및 확장할 수 있습니다. 예를 들어 데이터베이스의 크기가 상당히 크고 매일 점점 더 커질 것으로 예상되며, 데이터 처리 및 다른 데이터베이스로 복사하는 등 데이터베이스를 사용하여 다소 복잡한 작업을 정기적으로 수행할 계획이라면 이 솔루션을 고려해 볼 가치가 있습니다. 사용 가능한 데이터베이스 엔진에는 PostgreSQL, MySQL 및 MariaDB가 있습니다.
RDS 비용은 데이터베이스 크기 및 사용량과 관련이 있으므로 비용이 많이 들지 않을 것이라고 추측하기는 어렵지 않습니다.
AWS는 기존 서비스를 개선하든 새로운 것을 만들든 끊임없이 변화하고 있습니다. 기술 혁신에 대한 최신 정보를 파악하는 것뿐만 아니라 이미 존재하는 것들에 대해서도 알아두는 것이 좋습니다.