EOSeoul Hybrid Infrastructure for EOS Platform

in #eos2 years ago (edited)

안녕하세요, EOS 블록 프로듀서 후보 EOSeoul입니다.

지난 번 포스팅에서는 EOS Mainnet 운영을 위해서 성능과 안정성 그리고 보안을 제대로 반영한 EOSeoul Hybrid Infrastructure Architecture를 공유하였습니다.

EOSeoul Infrastructure Architecture on EOS Mainnet Launch

기사 링크

이번 포스팅에서는 왜 우리가 Hybrid Infrastructure 형태로 Architecture를 결정하였는지 기술적인 배경을 설명 드리겠습니다.

Hybrid Infrastructure를 구축하고 운영하기 위해서는 IT 비용투자, 구축 가능한 기술력 그리고 대규모 라이브 서비스에 대한 운영 경험이 뒷받침 되어야 합니다. 우리는 그 경험을 기반으로 EOS Mainnet 을 위한 아키텍처를 설계하였습니다.

Cloud 또는 Baremetal Infrastructure 환경의 리스크는 Hybrid Infrastructure 환경으로 극복이 가능합니다.

  • Cloud 환경은 안전한가요?
    어느 부분까지는 그렇다고 말할 수 있고, 어느 부분부터는 그렇지 않을 수도 있습니다.
    고성능과 고신뢰성이 필요하여 자체적으로 철저한 검증과 컨트롤이 필요한 환경에서는 선호하지 않을 수 있습니다.

  • 그렇다면 Cloud 환경을 사용하지 말아야 할까요?
    현재 전 세계 주요 메이저 서비스는 이미 클라우드를 사용하고 있습니다.
    EOSeoul은 관계사인 Neowiz를 통해서 이미 전 세계 사용자를 대상으로 하는 라이브 게임 서비스에 클라우드를 사용하고 있습니다.
    전 세계적으로 빠른 배포와 빠른 확장성이 필요한 환경에서는 클라우드 서비스의 강점이 매우 높습니다.

  • EOS 플랫폼 구조를 기술적으로 분석하고 판단 했을 때,
    프론트엔드 역할을 하는 Full Node는 일반 사용자의 요청을 빈번히 처리하고 급격한 요청 증가에 빠른 확장성을 제공하기 위하여 Cloud 환경에 서버를 두기로 하였습니다.
    그리고, 보안과 안정성을 높이기 위하여 Cloud 서비스 업체가 제공하는 보안 솔루션을 적용하고 노드를 이중화 하였습니다.
    백엔드에서 일반 사용자에게 노출되지 않는 BP Node는 블록을 생산하는 매우 중요한 역할을 수행합니다. 아무래도 보안 위협이 증가할 가능성이 높습니다. 그리고, 어떠한 경우에도 블록 생산을 멈추지 말아야 합니다. 그래서, 자체적으로 철저한 검증과 컨트롤이 가능한 IDC에 Baremetal 형태로 서버를 구축하였습니다. 이 IDC는 우리가 직접 관리/통제할 수 있습니다.

위 구성도에서 보듯이,
EOSeoul은 Hybrid Infrastructure 환경을 구축해서 Cloud와 Baremetal 환경의 잠재적인 리스크를 대응 가능하도록 만들었습니다.
또한, 서버가 위치한 물리적인 장소는 지역적으로 모두 이중화 되어 있어 예기치 못한 장애에도 안정적인 서비스가 가능하도록 구축하였습니다. (일부는 예정)

추가로, EOSeoul과 유사한 Hybrid Infrastructure 환경을 구축하는 BPC 들의 자료를 참고로 두었습니다.

HKEOS는 Full Node는 클라우드 환경에 구축하고, BP Node는 Baremetal 서버를 사용할 예정이며, 추가적인 EOS Node들은 부탄에 있는 DataChu를 활용해서 확장할 계획이라고 합니다.

참고자료) HKEOS — Bhutan EOS Supernode Partnership Announcement

Secure Infrastructure Proposal for BPs

Proposal by HKEOS, EOS Rio, Sw/eden, eosDAC, EOS_Tribe

이 정보에 도움을 주신 HKEOS에 감사를 드립니다.
추가되어야 할 BPC가 있다면 저희에게 알려주세요.
다음 포스팅에는 Hybrid Infrastructure 환경에서 우리는 어떻게 보안 환경을 구축하였는지 설명드리겠습니다.

감사합니다.

EOSeoul팀

Telegram (General Talk, 한국어) : https://t.me/eoseoul
Telegram (Developer Talk, 한국어) : https://t.me/eoseoul_testnet
Telegram (English) : http://t.me/eoseoul_en
Telegram (简体中文) : http://t.me/eoseoul_cn
Telegram (日本語) : http://t.me/eoseoul_jp
Steemit : https://steemit.com/@eoseoul
Github : https://github.com/eoseoul
Twitter : https://twitter.com/eoseoul_kor
Facebook : https://www.facebook.com/EOSeoul.kr
EOSeoul Documentations : https://github.com/eoseoul/docs