우리가 서비스를 ec2에 올려서 제공하거나, aws 개발자 도구를 이용하여 서비스를 개발한다면 그것은 우리가 단순히 aws의 고객이라는 뜻이다. 우리의 서비스가 aws와 상호작용하여 aws 서비스들과 연계가 된다면, 우리의 서비스가 진정한 클라우드 웹서비스로서 기능한다고 볼 수 있다. 우리의 서비스는 지하철 역에 대한 다양한 데이터를 제공한다. 사용자는 우리의 서비스를 통해 특정 지하철 역의 가장 혼잡한 시간대나, 현재 실시간 미세먼지 정보 등을 알 수 있다. 그렇다면 우리 서비스의 데이터들을 S3에 업로드하거나 AWS database에 업로드하고, 그 데이터들을 사용자가 직접 S3나 database에서 그 데이터들을 받아 갈 수 있다면 어떨까? 그렇게 한다면 사용자의 데이터 이용 편의성이 증진되고, 비로소 우리의 서비스와 AWS는 서로 상호작용한 것이 된다. 구체적으로는, 사용자가 우리의 서비스를 이용하면서 생기는 데이터들이 있다. 예를 들면, 사용자들이 검색하는 역들의 조회수를 저장하거나, 역을 즐겨 찾기 할 때마다 그 횟수를 데이터로 저장한다. 그럼 그 데이터들을 기반으로 정렬하여 가장 많이 검색한 역이나, 사용자들이 가장 많이 즐겨 찾는 역 등의 정보를 알 수 있게 된다. 우리 서비스에서의 조회수 데이터에 대한 예를 들면 ‘/map/건대입구역’ URI를 요청할 때마다 count변수를 증가시키는 방식으로 구현할 수 있다. 이 데이터들을 S3의 경우, count 변수를 이용해 JSON 데이터파일을 만들고, 그 데이터파일을 객체로서 S3에 업로드한다.

Untitled

                                                                <예제 코드>

AWS의 데이터베이스 서비스들 중 하나인 RDS의 경우, MySQL에 스키마를 생성하여 페이지 정보(조회수를 포함한)를 가지고 있는 테이블을 만들어 데이터를 넣어준다. 그리고 생성한 RDS 인스턴스와 node.js를 연동해준다. 이렇게 S3나 AWS database에 우리 서비스의 데이터를 업로드하고, 이 데이터를 사용자가 직접 S3나 AWS database에서 받아갈 수 있게 하면 우리의 서비스가 AWS와 상호작용하여 우리의 서비스는 클라우드 웹서비스의 일부가 될 수 있다.