AWS 6

[DynamoDB] AWS DynamoDB의 TTL(TimeToLive)기능을 사용해서 storage size관리를 자동화 해보자

개요 AWS에서 NoSQL형태의 DB인 DynamoDB service를 제공합니다. 이는 AWS의 다른 서비스들과의 연계도 쉽고 NoSQL의 특성상 data를 내 맘대로 저장하기에 좋은 형태이고, AWS 내에서 여러 사용사례가 있기 때문에 아마도 AWS를 사용하는 시스템이라면 한번쯤 사용을 고려해보거나 이미 사용하고 있을거라 생각됩니다. DynamoDB를 이용해서 데이터를 저장, 검색하는 기본적인 DB의 기능으로 이용하거나 데이터 분석/저장을위해서 S3, AWS Athena, Glue등 여러 서비스와 연계해서 이용하기도 합니다. 그리고, 이렇게 이용한 데이터를 DynamoDB에 계속 저장해둘 필요가 없는 경우가 있고, 만약 불필요하게 계속 저장해둘 경우 비용이 발생하기 때문에 이를 위해서 데이터 삭제하는..

개발/backend 2022.03.17

[AWS] AWS RDS - MySQL vs Aurora

개요 요즘은 Service를 구성 할 때에 DB의 선택은 필연적이 되고 있다. 최근 다양한 종류 혹은 스타일의 DB들이 있지만 전통적인 Relational Database를 아직까지도 많은 분야에 이용되고 있으며, 특히 Transaction 기능이 필요한 분야에서는 필수적으로 선택이 되고 있다. AWS에서 AWS RDS라는 DB Service를 제공하고 있다. Service형태로 DB를 제공하기 때문에 이를 사용하는 입장에서 관리적인 이점이 매우 크게 다가오기 때문에 많은 기업들과 스타트업이 service형태의 DB를 사용하고 미래의 서비스를 위해서 선택하고 있다. 이글은 AWS에서 제공하는 다양한 형태의 DB중 AWS RDS(Relational Database Service)중 MySQL과 Aurora..

개발/backend 2022.02.27

[Backend] 공유 스쿠터 서비스 - 플라워로드 시스템 아키텍처 : AWS Architecture

플라워로드 기술 블로그 : http://blog.flowerroad.ai Notion Link : https://flyingcorp.notion.site/Backend-AWS-Architecture-4b91609eaa7441cda0ccf06714d9948b 이 글은 2020년 1월 16일에 포스팅 되었습니다. 2022년 2월 현재는 다수의 AWS service(ex. SQS, MQ, openSearch, route53, GraphQL등등) 혹은 VPC 분리등이 적용 되어 기존 구조 혹은 서비스들의 단점이나 추가 기능들을 보완한 구조로 운영중입니다. Overview 이전 두 포스팅인 플라워로드 시스템 아키텍처 - 사용되는 기술들 과 플라워로드 시스템 아키텍처 - 데이터 Flow 에서 대략적인 플라워로드 시..

개발/backend 2022.02.24

[Backend] 공유 스쿠터 서비스 - 플라워로드 시스템 아키텍처 사용 기술들

플라워로드 기술 블로그 : http://blog.flowerroad.ai Notion Link : https://flyingcorp.notion.site/Backend-Feat-AWS-584a382a5bc04f509b44da7500eef0b3 이글은 2020.12.27 일 작성된 내용입니다. 현재 아래에 나열된 기술 이외에 더 많은 서비스, 기술들을 사용하고 있습니다. 배경 저희 플라워로드 서비스는 전동 킥보드 공유서비스 시스템입니다. 개발 초기에 backend 를 어떻게 구성할지 많은 고민을 하게 되었습니다. 제가 시스템을 설계할때만해도 국내에는 전동 킥보드 공유 서비스를 하는 업체가 전혀 없고, dockless 공유 서비스(kakao T Bike같은..) 조차도 없어서 참고 할만한 대상을 찾기 위해 ..

개발/backend 2022.02.23

[Backend] 공유 스쿠터 서비스 - 플라워로드 시스템 아키텍쳐 데이터 FloW

플라워로드 기술 블로그 : http://blog.flowerroad.ai Notion Link : https://flyingcorp.notion.site/Backend-Flow-4b657c65bef14b2496acf2b41ae9aab9 도입 이전장(플라워로드 시스템 아키텍처 - 도입편)에서 우리 플라워로드 Backend 시스템에서 사용되는 기술들에 대해서 간략하게 알아보았습니다. 여기서는 설명한 기술들을 이용해서 시스템이 어떻게 구성되어 있고, 어떤 플로우로 서비스를 제공하고 있는지 살펴볼 예정입니다. 플라워로드는 크게 사용자앱, 관리자앱, 스쿠터 세가지의 Frontend로 구분할 수 있습니다. Backend 시스템 내에서 각각의 Frontend에 따른 구분은 없고, 기본적으로 Backend의 compu..

개발/backend 2022.02.23

[Backend] AWS WebSocket 적용하기 (Feat. APIGateway, Lambda)

플라워로드 기술 블로그 : http://blog.flowerroad.ai 개요 이번 포스팅에서는 AWS의 API Gateway를 이용해서 WebSocket을 설정하고, Client의 처리를 해주는 Lambda의 사용법 및 Trigger설정을 살펴볼 예정입니다. 예제를 위해서 사용될 Client는 Android용 Application을 간단하게 만들어서 WebSocket동작을 살펴볼 예정입니다. WebSocket? WebSocket이란 OSI 7계층 중 4계층의 TCP 계층에 의존하고 HTTP 포트(80 or 443) 위에서 동작하도록 설계되었고, HTTP 프로토콜과 호환 되는 양방향 통신 방식 중 하나입니다. 기존의 일반적인 HTTP 1.x 통신방식은 client에 의해 요청을 받아서 처리하는 단방향 방..

개발/backend 2022.01.28