일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- serverless
- 메세지큐
- finops
- ddd
- AWSKRUG
- 회고
- Leetcode
- amqp
- Kafka
- 2020년
- 알고리즘
- 도메인 주도 설계
- 맥주
- AWS
- React
- Zappa
- billing
- 백준
- 머신러닝
- 하이트진로
- API Gateway
- LAMBDA
- 아키텍처
- HEXO
- zookeeper
- S3
- CloudWatch
- 노션
- github pages
- Notion
- Today
- Total
목록아키텍쳐 (15)
인생은 고통의 연속
https://gnidoc.tistory.com/entry/%EC%88%98%EC%A0%9C-FinOps-NAT%ED%8E%B8 수제 FinOps - NAT편 2023.07.14 - [개발스터디&모임/커뮤니티] - 수제 FinOps - Lambda편 수제 FinOps - Lambda편 https://www.meetup.com/ko-KR/awskrug/events/294199401/ Login to Meetup | Meetup Not a Meetup member yet? Log in and find groups that host online or in gnidoc.tistory.com 위 글에서 이어집니다 Trusted Advisor란? AWS 모범 사례를 따르는 데 도움이 되는 권장 사항을 제공해주는 서..
지난 1년 동안 아래와 같은 구조의 서버리스(serverless) 아키텍처의 웹서비스를 구축, 개발, 운영했습니다 일단 본 프로젝트는 아래와 같이 크게 3가지로 구성됩니다 frontend : UI, React 프로젝트 backend : API서버, Django 프로젝트 CI/CD : Code Series, CloudFormation 일반적으로 웹서비스를 만들때 많이 구성하는 방식이죠 사용자들은 frontend로 UI를 보고 UI에서 어떤 데이터를 봐야된다면 backend API에 요청해서 DB에 있는 값을 사용합니다 물론 저는 앱 없이 웹서비스만 제공하기 때문에 cloudfront로 충분했었습니다 그리고 위 그림은 큰 그림이고 세부적인 내용은 따로 다른 글에서 다루도록 하겠습니다 아무튼 본 글에서는 서..
S3란? S3란 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스입니다 쉽게 말하자면 Goole One, iCloud와 같은 파일 저장 서비스인데 아래처럼 bucket(버킷)이라는 폴더에 Object(객체)인 파일을 저장할 수 있습니다 추가적으로 위의 예시에서 하위 폴더 역할을 하는 sample은 prefix라고 합니다 실제로 폴더 역할을 하는게 아니고 단순히 하나의 경로 역할만 하고 하나의 객체는 복수개의 prefix로 구성될 수 있어서 S3에서 객체의 경로는 아래와 같이 표현됩니다 s3://{버킷명}/{prefix}/{객체명} ex) s3://bucket1/file1.jpg s3://bucket2/prefix1/file1.jpg s3://bucket2/prefix1/prefix2..
기존에 운영 중인 환경에서 proxy 서버를 구축했던 경험을 서술했다 도입배경 일단 원래 인프라 구조는 이러했다 온프레미스쪽 서버에 MSTR이란 제품으로 간단한 데이터 분석을 제공하고 있었는데 (mstr : www.microstrategy.com/ko) 비즈니스 분석 및 모바일 솔루션 MicroStrategy의 비즈니스 분석 및 모바일 플랫폼은 기업이 분석 및 모바일 앱을 구축 및 배포하여 비즈니스를 혁신할 수 있도록 지원합니다. www.microstrategy.com 여러가지 이유로 이 MSTR에서 사용할 DB로 redshift를 사용했다 당연히, 그냥 Public 망으로 IP뚫어서 쓰면 트래픽에 대한 어마어마한 비용을 내야하므로 전용선을 써야했고 다행히 다른팀에서 관리 중인 Direct Connect..
이 글은 맥북에서 테스트하고 작성된 글입니다 윈도우는 다를 수도 있습니다 AWS STS란? AWS Security Token Service의 준말이다. 쉽게 말하자면 임시 보안 자격 증명으로 AWS 리소스에 대한 액세스를 제어하는 것이고 코드레벨로 말하자면 Access/Secret Key을 그대로 쓰는것이 아니라 MFA와 함께 사용하여 임시 Access/Secret key으로 AWSCLI를 사용하는 것이다 즉, 임시토큰이라고 보면 된다 STS / MFA는 왜쓰는가? 보통 회사계정은 iam user 에 대해서 MFA를 강제로라도 사용하게끔 한다 (설정하는법 : docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-..
아키텍처 설계시 필요한 영역 표현(UI) 영역 : 사용자의 요청을 받아 응용 영역에 전달하거나 응용 영역의 처리 결과를 사용자에게 보여줌. 대표적으로 스프링 MVC 프레임워크가 해당함. 응용 영역 : 도메인 모델을 이용해서 사용자에게 제공할 기능을 구현. 실제 도메인 로직 구현은 도메인 모델에 위임한다. 도메인 영역 : 도메인 모델을 구현. 도메인 모델은 도메인의 핵심 로직을 구현. 인프라스트럭처 영역 : 논리적인 개념을 표현하기보다는 실제 구현 기술에 대한 것을 다룬다. ※ 표현/도메인/응용 영역은 구현 기술을 사용한 코드를 직접 만들지 않는다. 대신 인프라 스트럭처 영역에서 제공하는 기능을 사용해서 필요한 기능을 개발한다. (응용 영역에서 DB의 쿼리를 직접 사용하거나 도메인 영역에서 메일을 보내기 ..
기존의 설계 방식 컨트롤러-서비스-DAO-DTO (전형적인 Spring API 구조) 도메인 도메인 : 문제 해결하고자 하는 문제 영역. 도메인은 여러 하위 도메인으로 구성한다. SW는 도메인의 모든 기능을 제공하지 않는다.(예를 들어 결제는 외부 시스템(PG)을 사용하는 것처럼) 도메인 모델 도메인 모델 : 특정 도메인을 개념적으로 표현. 도메인 자체를 이해하기 위한 개념 모델. 기능과 데이터를 함께 보여주는 객체 모델은 도메인을 모델링하기 적합함. 하지만 도메인 모델은 객체로만 모델링하지 않는다. 즉, 클래스/상태 다이어그램과 같은 UML(Unified Modeling Language) 표기법만 사용해야 하는건 아님. 관계가 중요한 도메인이라면 그래프를 이용해서 도메인을 모델링. 계산 규칙이 중요하다..
이전 글 : 2019/03/09 - [프로그래밍/아키텍쳐] - 주키퍼(ZooKeeper) 카프카 공홈의 퀵스타트를 따라함 테스트환경은 라즈베리파이3(라파이/rbp), 라즈비안OS(64비트) 굳이 데탑(윈도우)에서 안하고 따로 서버 세팅하느라 좀 오래걸렸는데 AWS 프리티어가 아직 남아서 t2.small에서 해볼려다가 카프카 성능 테스트겸 라파이에 했다. 원래 라즈비안이 32비트환경이었는데 이왕하는거 64비트로 바꿔서 하려고 새로 포맷하고 다시 세팅했다. 집 분전함에 전화+인터넷이 같이 있는데 거기에 라파이를 보관 중이라 이렇게 매번 뜯을때마다 고통이다.(식탁 밀어내고 뚜껑따서 꾸역꾸역 선정리..) 그리고 메모리가 기본 1G이기 때문에 별도로 swap 4G를 할당했다. 주로 메모리를 사용하는게 아니고 디스..
다음 글에서 이어지는 내용2019/03/09 - [프로그래밍/아키텍쳐] - kafka 이해(번역) 와우 드디어 카프카를 이해했어!하고 튜토리얼(quick start)를 해보려는데 첫줄부터 이런게 나왔다. This tutorial assumes you are starting fresh and have no existing Kafka or ZooKeeper data. (이 튜토리얼은 당신이 새롭게 시작학고 기존의 카프카 또는 주키퍼 데이터가 없다고 가정합니다.) 음? 주키퍼?! 뭐지? 카프카는 주키퍼 없이 사용은 가능하다. 하지만 주키퍼는 없으면 안되는 존재이다. (이게 무슨 개소리야) 그래서 주키퍼도 공홈에서 간단히 설명을 읽고 왔다. 주키퍼 설명만 여기에 남겨둔다. 주키퍼(ZooKeeper) 아파치 주키..
다음 글에서 이어지는 내용 2019/02/13 - [프로그래밍/아키텍쳐] - 메세지큐와 AMQP 아래의 내용은 kafka 공식홈의 intro를 번역/요약함 ※ 주의 주관적인 해석과 순서가 뒤에서부터 해석하는 번역체같은 느낌이 나올 수 있으니 참고하시길 바랍니다. kafka kafka는 Linked In에서 2011년에 오픈소스로 개발된 분산 메시징 시스템이다. 대용량 실시간 로그처리에 특화되어있고 많은 회사들이 사용하는 제품이기도 하다. 요즘처럼 하루에 최소 GByte에서 많게는 T~PByte까지 데이터가 발생하는 세상에서는 필수적이라고 할 수 있다. 개념 kafka(이하 카프카)는 분산 스트리밍 플랫폼(Distributed Streaming Platform)이다. 스트리밍 플랫폼의 3가지 능력(특징) ..