오픈소스를 활용한䱋 스타트업 사내 인프라 구축기 · 2019-08-08 ·...

51
오픈소스를 활용한 스타트업 사내 인프라 구축기 히든트랙 서비스개발총괄 한만종 2017.10.25

Transcript of 오픈소스를 활용한䱋 스타트업 사내 인프라 구축기 · 2019-08-08 ·...

오픈소스를 활용한

스타트업 사내 인프라 구축기

히든트랙 서비스개발총괄 한만종

2017.10.25

Speaker

한만종 [email protected]

• 현) (주)히든트랙 린더 서비스개발총괄

• 전) 미래창조과학부 SW 마에스트로 과정

• 전) 전자부품연구원(KETI) 스마트미디어연구센터

• 전) (주)퀵켓 번개장터 서비스개발부

소규모 스타트업에서의 인프라 구축 접근 방법

사내망 네트워크 구축 사례

인프라 서비스 배포 사례

오픈소스 SW 사용 시 트러블슈팅 방법

구축 과정에서 겪었던 이슈

오늘 이야기할 주제

스타트업!?

스타트업 개발팀이 하는 일?

의자에 앉을 수는 없을까?

맨바닥에서 개발

어떻게 하면 인프라 구축을 쉽게 할 수 있을까?

어떻게 하면 의자를 쉽게 만들까?

배포를 위해 흔히 하는 일

배포를 위해 흔히 하는 일

https://blog.profitbricks.com/cloudconnect-webinar-cloud-flexibility/

인프라 구축 필요성 절감

• 단순히 제품(internet-facing)만 배포하는 것이 아님 – 배포 서버, 메일 서버 구축 시에 절감

• 종량제 요금에 대한 비용 처리 – 스타트업의 특성 상 비용 처리에 대한 이슈

• 특정 벤더에 lock-in 될 수 있는 문제 – 데이터 마이그레이션, 제품 유지보수 등의 비용

구축의 어려움, 운영에 대한 두려움

On-premise 리소스..?

기존 퍼블릭 클라우드 환경 + 소규모 On-premise 리소스

Hybrid Cloud..!

오픈소스를 활용한 사내 인프라 구축경제적 비용 절감 + 능동적인 리소스 관리

오픈소스를 활용한 사내 인프라 구축

사내 인프라 구축을 위해 해야하는 일

• 배포 서버 / 메일 서버 구축

사내 인프라 구축을 위해 해야하는 일

• 인프라 서비스 배포 관리

• 배포 서버 / 메일 서버 구축

사내 인프라 구축을 위해 해야하는 일

• 인프라 서비스 배포 관리

• 배포 서버 / 메일 서버 구축

• CRM 등 사내 어플리케이션 배포

사내 인프라 구축을 위해 해야하는 일

• 서버 어플리케이션 배포 관리

• 배포 서버 / 메일 서버 구축

• CRM 등 사내 어플리케이션 배포

사내 인프라 구축을 위해 해야하는 일

• VPN으로 사내망 접속 관리

• 서버 어플리케이션 배포 관리

• 배포 서버 / 메일 서버 구축

• CRM 등 사내 어플리케이션 배포

• 제품 테스트 서버 구축

사내 인프라 구축을 위해 해야하는 일

• VPN으로 사내망 접속 관리

• 서버 어플리케이션 배포 관리

• DNS 서버 / 배포 서버 / 메일 서버 구축

• CRM 등 사내 어플리케이션 배포

• 제품 테스트 서버 구축

사내 인프라 구축은

• 사내 네트워크망 구축 – 방화벽 설정, 퍼블릭 클라우드 연결, VPN 설정

• 서버 어플리케이션 오케스트레이션 – 여러 앱 배포 환경 설정, 인프라/사내/제품 앱 배포

사내 네트워크망 구축 사례

사내 네트워크망 구축 사례

vs vs

사내 네트워크망 구축 사례

• Documentation https://doc.pfsense.org

• Forum https://forum.pfsense.org

• BugTracker https://redmine.pfsense.org

사내 네트워크망 구축 사례

• Private Subnet / Public Subnet

• VPC VPN 연결 설정

사내 네트워크망 구축 사례

• 최대한 경제적 비용 절감

• 오픈소스 솔루션 활용

사내 네트워크망 구축 사례

서브넷별 사용 IP 주소 대역, 네트워크 대역폭, 디바이스 스펙, …

모니터링 (장애 발생 및 인지 간 term 최소화, 여건이 된다면 HA 구성)

지속적으로 확장 및 유지에 대한 관심

사내 네트워크망 구축 사례

사내 네트워크망 구축 사례

AWS VPC와 사내 On-premise 영역과 Site-to-Site VPN 연결

사내 네트워크망 구축 사례

AWS VPC와 사내 On-premise 영역과 Site-to-Site VPN 연결

• pfSense의 IPsec VPN 사용

• AWS VPC VPN (CGW, VGW)

• On-premise 망 공인 IP 고정

사내 네트워크망 구축 사례

외부에서 사내망에 접속하기 위한 VPN 환경 설정

사내 네트워크망 구축 사례

외부에서 사내망에 접속하기 위한 VPN 환경 설정

• OpenVPN 연결 성능 이슈

인프라 서비스 배포

• 이미 제품에 사용

• 서버 어플리케이션 오케스트레이션에 사용 – Docker Swarm

– Kubernetes

• 공개된 Dockerfile 기반으로 수정

• 내부 Registry 서버 사용

• SaaS 모니터링 서비스 사용

인프라 서비스 배포

인프라 서비스 배포

Jenkins를 이용한 Docker 기반의 어플리케이션 배포

인프라 서비스 배포

Jenkins를 이용한 Docker 기반의 어플리케이션 배포

인프라 서비스 배포

Jenkins를 이용한 Docker 기반의 어플리케이션 배포

인프라 서비스 배포

Jenkins를 이용한 Docker 기반의 어플리케이션 배포

인프라 서비스 배포

Jenkins를 이용한 Docker 기반의 어플리케이션 배포

인프라 서비스 배포

Docker 컨테이너 기반의 OpenStack 배포

인프라 서비스 배포

Docker 컨테이너 기반의 OpenStack 배포

OpenStack Ansible

vs

Kolla Ansible

인프라 서비스 배포

Docker 컨테이너 기반의 OpenStack 배포

OpenStack Ansible

vs

Kolla Ansible

LXC container

Docker container

인프라 서비스 배포

OpenStack을 사용한다는건…

인프라 서비스 배포

오픈소스 On-premise 리소스 관리 도구

인프라 서비스 배포

OpenStack 새 버전 출시 주기

인프라 서비스 배포

OpenStack 운영 + 기여를 위해 참고해야할 사이트

• Documentation https://docs.openstack.org

• Ask OpenStack https://ask.openstack.org

• OpenStack Wiki https://wiki.openstack.org/wiki

• Launchpad https://launchpad.net/openstack

• Gerrit https://review.openstack.org

사내 On-premise 리소스 관리

호스트 컴퓨터 구입 시 고려사항

• 가격이 저렴할 경우 구입 후 반드시 테스트

• 메인보드 수명, IPMI 지원 보드 확인, ECC RAM

• CPU/RAM/SSD 성능은 충분하게

• 시간적, 인적 비용 vs 경제적 비용

사내 On-premise 리소스 관리

인프라 리소스 모니터링은 어떻게?

• 제품에 사용하고 있던 SaaS 모니터링 서비스 사용

• Cockpit으로 간단하게 실시간 모니터링

• IPMI, MaaS, …

고민중인 확장성

• On-premise 리소스 관리, 오케스트레이션

• Ansible을 이용한 인프라 재구축, HA 구성

• LDAP 구축 (Google G suite, AWS AD)

• 사내 네트워크망 대역폭 10G

• AS 네트워크 구축 (BGP 라우터)

감사합니다