1. IPFS (Inter-Planetary File System
행성간 파일 시스템을 의미합니다.
전지구적으로 파일을 공유할 수 있는 p2p 서비스입니다.
기존에도 여러가지 있었지만, 기존 시스템과는 달리 중앙에 특별한 서버나 조직이 전혀 없습니다.
Kademlia 알고리즘 & DHT(Distributed Hash Table)
블록체인과 잘 어울리는 이유
- 탈 중앙화 스토리지 기술.
- 암호 기술을 사용
ex) Content Addressing: 파일 내용 Hash 값을 파일 주소(식별자)로 사용. 파일 내용이 바뀌면 파일 주소가 바뀌기 때문에 파일 위변조가 불가능하다. - IPFS 서버 운영 비용 @AWS: 월 $8
t4g.micro (2 CPU, 1G MEM), 50G HDD
IPFS NODE들로 구성된 p2p 파일 스토리지.
IPFS Gateway(https://ipfs.io)가%EA%B0%80) Web과 IPFS를 연결. ipfs://protocol scheme 자체 처리 진행중 (w/ Mozilla, Brave, Opera, ...)
IPFS 요약
- 활용서비스: CDN
- 적용사례: 넷플릭스, 자사 서버(글로벌 네트워크)에 설치되는 도커 컨테이너 이미지를 IPFS로 배포(2020.02), DockerHub 대비 20% 성능 향상
- Content Addressing! 컨텐츠 무결성 보장. 파일 해시를 파일 주소로 이용하기 때문에 파일 내용이 1bit라도 바뀌면 주소도 바뀐다. 특정 해시값(CID)로 파일을 요청하면 반드시 그 파일이 전달됨을 보장하는 것을 의미한다.
2-1. BlockChain Service?
Blockchain = Decentralized Global Scale Platform
- Bitcoin: Global Bank
- Ethereum: Global Smart Contract Platform
- NFT: Global Digital Assets Proof of Ownership
- DID / VC(Verifiable Credential): Global Identification
- IPFS: Global Storage
왜 글로벌 스케일 플랫폼인가?
간단하게 전세계 참여중인 Node 규모를 확인해볼 수 있다. 전세계 10000대 이상의 Node 참여중인 단일 플랫폼.
- 이더리움 : https://ethernodes.org/countries
- 비트코인: https://bitnodes.io/
SKT Blockchain service
- initial Console Platform
- DID/ VC 발급, 검증, 보관
- Mobile Wallet Platrom
- Digital Asset Wallet WebApp
2-2. Public Cloud 에서 MSA와 DevOps
블록체인 서비스는 각 Layder에 저장할 데이터를 아래와 같이 규정
Layer | 데이터 |
---|---|
사용자 공간(mobile, cloud storage..) | 개인키, 민감 개인정보 |
Business Logic Server | 개인정보(망분리 등 보안 처리 |
BlockChain Node | 민감하지 않은 Data(공개키, Hash), 익명기반 정보 |
DevOps
Github Repository
Github Actions 활용한 Build 및 Deploy
Source Code | Action Workflow | Trigger (Push) | Build with Secret |
---|---|---|---|
Github | build.yml - Build 및 Docker image upload mirror.yml - SKT Bitbucket으로 Code backup pull_request.yml - PR시 lint + unit test 실행 | Build Trigger 조건 - 모든 push 에 대해서 build - developer branch만 사용 | Action Secret - Build에 필요한 Secret은 Key Store에 안전하게 관리 |
Build & Config Update
Build 완료 후 AWS ECR로 이미지 업로드하고 Tag 등록 -> Kustomiz config update -> kustomization.yml에 ECR tag 기록
Config & Deploy
ArgoCD Application에서 ECR image의 tag를 참조하여 각 개발 환경별로 이미지 배포
- Config의 overlays 세팅에 따라 동일한 image를 환경별로 배포 (이미지 태그 확인 -> 환결 설정 세팅 -> 배포)
Production Deploy
개발, QA, 상용 환경 세가지로 운영을 하고 있습니다. 개발 환경 외에는 각 단계에서 관리자가 직접 확인하고 Sync 진행
Git Config Tree Structure - Istio Proxy
autoscale 설정
설정값에 대한 키값
Monitoring
Datadog 활용
- DEVOCEAN link
'🔖 Story > 💻 개발 언저리 공부' 카테고리의 다른 글
[개발서적리뷰] 이것이 C#이다 (0) | 2021.02.14 |
---|---|
[개발서적리뷰] 파이썬으로 배우는 게임 개발 (실전편) (0) | 2021.02.03 |
[개발서적리뷰] 파이썬 알고리즘 인터뷰 / 득템!!! (1) | 2020.08.18 |