개요
- CNCF sandbox project인 k3s cluster 로 컨테이너 관리
- CNCF graduate project인 argoCD 를 사용해 프로젝트 배포 및 간단한 모니터링
- AWS Pipeline 을 사용해 ci/cd 를 구현
- 노션을 사용해 프로젝트 문서를 관리하며 여러 프로젝트 문서를 작성함으로써 프로젝트 완성도를 높힘
0.1 패치노트
23.10.03 - deploy ethauto:v.1.1 [현재 포스팅]
설계
노션을 사용해 문서를 관리하여 pdf 로 추출해 블로그에 첨부함
아키텍처 설계
자료흐름도
1.2.1. CI/CD Pipeline
1.2.1.1 Cluster Pipeline
1.2.1.2 Lambda Pipeline
1.2.2. Trading
1.2.2.1 Trading - General
1.2.2.2 Trading - main function
1.2.2.3 Trading - Lambda
1.2.3. Monitoring, Alert
개발환경 설계
- cluster
- lambda
1.4 모니터링 설계
(첨부 문서 확인)
- Slack Channel Bot 을 사용해 python 동작 및 람다 함수 결과 수신
- Slack + AWS ChatBot + AWS SNS 를 통해 요금 알람 설정
설계 문서 PDF 첨부
구축
- 일부 아키텍처 Cloudformation 사용해 구축
- Cloudformation 제외 개발환경 등 AWS 콘솔을 통해 수동 구축
https://github.com/cyaninn-entj/github-pyupbit-autotrade-with-aws-v2
관리/유지/보수
- 관리대상 개요
- 특이사항 기록
- 로컬 리포지토리 관리
- 프로젝트 버전 관리
후기
프로젝트 후기
꽤 오랫동안 진행했던 개인 프로젝트였다. 23년 4월에 처음 취직해서 DevOps 업무를 공부할때 새로 배웠던 CNCF 프로젝트들을 활용해볼 수 있으면 좋을것 같다는 생각에 설계했던 프로젝트였는데 5월부터 시작해서 10월까지 6개월정도 걸린 것 같다.
k8s 를 공부해보고자 경량 배포판인 k3s 를 써보고싶었고 여기에 다른 오픈소스 프로젝트들을 넣어보려고했는데 결국 경량이기 때문에 프로메테우스나 하버등을 적용하지 못해서 아쉬웠다. 나중에 내 개인 서버를 사면 구축해보면 재밌을것 같다.
이 프로젝트를 돌리면서 시간상 타협한게 많았다. 로컬 노트북을 빌드 서버로 사용하려다가 실패해서 cicd pipeline 을 aws 서비스를 사용하는것으로 바꿨고, 트레이드할 코인을 변경하기 위한 콘솔을 띄우는 pod 와 api gateway 를 구축해보려고도 했는데 그러면 이 프로젝트를 올해 안에 못끝낼것 같아서 v.1 으로 우선 배포했다.
개인적으로 자동화 수익에 대한 욕심이 있고 또 오픈소스 공부도할 겸 시작한 프로젝트인데 light 하게 진행해보려고 한 프로젝트에 꽤나 애를 먹었어서 실력이 많이 부족하다고 느꼈었던 6개월이였다.
v.2 를 언젠가 낼텐데, 구현해보고싶은 기능들은
1. 현재 이더리움만 추적하고있는 코드를 재사용해 10개의 다른 코인을 동시에 추적하도록 하기
2. 프로메테우스+그라파나 모니터링 구축하기
3. 현재 변동성 돌파 전략 외 다른 트레이딩 전략 구현하기
4. python 코드 정리하기
5. 현재 3개인 aws pipeline 하나로 합치고 buildspec.yaml 연구하기
정도가 있겠다. 제일 하고싶은게 코드 정리인데 지금 너무 어질어질하게 main 함수에 쭉 늘여놔서 부분부분을 모듈화 시키는 작업을 진행해볼까 한다.
다음 프로젝트는 chatGPT 와 WordPress 를 사용한 블로그 포스팅 자동화를 진행해보려고 한다. 역시 자동화 수익을 실현하기 위해서 컨텐츠를 자동으로 생산해주는 프롬프트를 연구하고 chatGPT API 와 연결해서 도메인을 구매한 WordPress 블로그에 포스팅시키는 프로젝트를 구상중이다.
트레이딩 결과
구분 | 1일 업비트 원화 보유 | 말일 업비트 원화 보유 | 손익(원) | 손익(%) |
23년 10월 | 500,000 | 517,711 | +17,711 | +3.5% |
23년 11월 | 550,000 | 616,221 | +66,221 | +12.0% |
23년 12월 | 1,100,000 | 1,084,010 | -15,990 | -1.45% |
24년 1월 | 1,750,000 |
'1인개발 메이킹로그 > [Infra+k8s+App] 가상화폐 자동매매' 카테고리의 다른 글
[Portfolio] Project - AutoTrade:v.1.2 (0) | 2024.08.30 |
---|---|
[Error] .sh 스크립트 crontab 실행 안됨 (0) | 2023.10.01 |
[Error] 'NoneType' object is not subscriptable (0) | 2023.09.24 |
[Test] Code 에서 AWS Credential 분리/제거 (1) | 2023.07.12 |
[Project Report] 가상화폐 자동매매 + AWS lambda (0) | 2023.06.29 |