Cloud Native Computing 실제운영 Prepared by 오세준
Cloud Native Computing 1. Cloud Native Computing 무엇을준비하고어떻게적용하였나? 1-1. 어떻게추진하였나? 1-2. 적용시이슈사항은무엇이있으며어떻게해결하였나? 2. Cloud Native Computing 운영상의이슈는무엇인가? 2-1. ITSM 적용상에문제는? 2-2. CMMI 인증을위한준비사항은? 3. 이후과제는무엇인가? Lessons Learned
Cloud Native Computing 준비및적용 1-1. 어떻게추진하였나? 1-2. 적용시이슈사항은무엇이있으며어떻게해결하였나? Public Cloud 활용방안수립적용 Partnership SAP on 라이선스문제 가상환경에서라이선스 Application 전환준비실행 Docker / Container 적용 Orchestration Solution Container Orchestration Solution 적용
Public Cloud 활용방안수립적용 - Cloud 관리솔루션판매사업과관련하여아마존과 Standard Consulting Partner 체결하였습니다. ( 클라우드 Solution Architect 자격증취득 : 3명 ) - Cloud기반빅데이터플랫폼구축을위해아마존 Cloud 환경에서자체역량으로구축진행중에있습니다. - 국내최초로아마존 Public Cloud 환경에서 SAP ERP S4 HANA 구축시범사업을완료 (8월 11일 ) 함에따라향후대외사업추진을위한역량을확보하였습니다. - S4 HANA 대외사업을위하여파트너사와영업활동을진행중이며, 제안참여를위한사전영업활동을파트너사와공동진행중에있습니다.
Application 전환준비실행 Container 전환 Process Container 전환수행과정 Container 전환대상선정 Application 분석 (Micro Service 분리기준 ) Container 전환계획 Container 전환 미들웨어 (Tomcat 전환가능 ) 개발언어 (JAVA, JSP) OS 환경 (Linux 전환가능 ) 애플리케이션성능측정 : 성능별애플리케이션분리 아키텍쳐 : 내부 / 외부망위치에따라분리 환경변수 / 파일볼륨 : 개발 / 테스트 / 운영기에따라분리 Interface 타입 : (ex. Json, xml, API 방식 ) Base Image(OS, WAS, Install File ) Source(Interface, Properties) 수정및재설계 변경관리 Container 전환수행 Base Image + Dockerfile + Build APP APP Image + env volume push pull OS 이미지 (Linux) Base Image 에 Install 하는 Script ( 예 Ubuntu+Apache+MySQL 인스톨스크립트 ) 운영 / 개발 /QA 환경분기된 APP 소스 Repository Container 환경변수입력 생성된 APP Image 를 Docker Repository 에밀어넣거나가져오기 Container Container 생성과동시에서비스시작
라이선스문제 NO 대상시스템 1 채용 이슈사항 1. HCG Hunel 라이선스는 IP or MAC 주소를체크 2. 노드에부하가발생해 Scale out 을해노드를여러개생성또는노드에문제가발생해새노드를생성하는경우 3. Container 내부적으로 IP 와 Mac 주소를생성 4. Container 가생성할때마다 IP 와 MAC 주소가신규생성되기때문에라이선스문제발생 해결방안 1. 라이센스형태변경가능협의업체회신결과 - 불가능 2. 업체방문 / 라이선스회의재진행업체회신결과 불가능 운영전환가능여부 불가능 2 E-Campus G-SPoC < 요구사항 > 1. 가상화환경에서의라이선스정책적용 2. LS채용시스템라이선스예외처리 1. DRM 라이선스는 IP or MAC, Host Name을복합적으로체크 2. 노드에부하가발생해 Scale out을해노드를여러개생성또는노드에문제가발생해새노드를생성하는경우 3. Container 내부적으로 IP와 Mac주소를생성 4. Container가생성할때마다 IP와 MAC주소가신규생성되기때문에라이선스문제발생 사유 : 1. 로직변경발생 / 기술인력투입불가 2. 사측추구하는라이선스방향과다름 1. 라이센스형태변경가능문의업체회신결과 호스트 ID 변경만안되면사용가능 LSG 확인결과, 컨테이너환경에서 HostiD 를고정적으로사용이불가능 불가능 < 요구사항 > 1. 가상화환경에서의라이선스정책적용 2. DRM모듈이설치되어있는시스템에라이선스예외처리 2. HostID 를가변적으로사용이가능한지재문의 - 테스트일정 (~ 1/10)
Orchestration Solution 컨테이너를관리하는방법, Container Orchestration 컨테이너를어느서버에배치할것인가? 컨테이너끼리는어떻게연결할것인가? 외부네트워크와의연결은어떻게할것인가? 외부저장공간은어떻게연결할것인가? 외부서비스와는어떻게연결할것인가? 컨테이너의상태는어떻게모니터링할것인가? 비정상컨테이너는어떻게복구할것인가? 컨테이너의자원이용을어떻게모니터링할것인가? 컨테이너단위의로드밸런싱은어떻게할것인가? 컨테이너단위의스케일링은어떻게할것인가? 컨테이너의업데이트는어떻게할것인가? 컨 테이너의보안은어떻게할것인가?
Orchestration Solution Openshift - Opensource 도구구성및모니터링은별도 Add-on 구축형태로개발자가꼭필요함 - 계정연동방식 ( HTTPassword, Keystone, LDAP등 ) 사용용이및 POD별 Quota, Limit Project 단위로가능하여, 관리하기용이 - 로그확인창이비동기식으로실시간확인용이 / 이미지만드는방식이다양함 ( Docker, S2I ) - 모니터링기능은별도 Add-on 구축형태로개발공수필요 - Deployment 기능다양한배포방법구현가능 ( Blue green, Canary ) IBM ICP 컨테이너를관리하는방법, Container Orchestration - ICP 는기존 IBM이름에걸맞는엔터프라이즈이미지를탈바꿈했다고할정도로많은기능에제약을두지않고, 오픈소스사용자에게눈높이를맞춤 - 기존솔루션외 Cloud Foundary 오픈소스및 GPU리소스지원및자원할당가능 - Openshift 와다르게일부코어서비스를기본제공 ( 보안스캐닝, 미터링서비스 ) - 기업 LDAP 디렉토리를연계하여인증및역할에따른멀티테넌시환경구성 / POD 간네트웍접근을제어및격리조치및레지스트리이미지에대한보안스캐닝을통한보안준수 - CAM을통해멀티클라우드환경과연계및일관된템플릿기반으로인프라및어플리케이션프로비져닝자동화및인스턴스관리가능 ) CAM : Cloud Automation Manager ( IBM, AWS, MS, Vmware 지원 )
Orchestration Solution 컨테이너를관리하는방법, Container Orchestration 항목 Cocktail Cloud(2.2) OpenShift Origin(3.6) IBM ICP(2.1.0.2) 제품목표및서비스관리단위 Docker /support OS version 어플리케이션개발 / 운영관리 / 서비스맵단위로관리 1.12/ Centos 7.3, ubuntu 16 어플리케이션개발 / 관리 (PaaS)/ Project 단위로관리 1.13/ Fedora 21, CentOS 7.3, RHEL 7.3/7.4, RHEL Atomichost 7.4.5 어플리케이션개발 / 운영관리 / 네임스페이스 / 프로젝트단위관리 DOCKER 17.06 K8S 1.91, ICP 2.1.0.2 Redhat, Ubuntu, SUSE Interface GUI GUI, CLI GUI, CLI Build Maven( 공식지원 ), Ant 가능 Maven( 공식지원 ) Maven, Ant 가능 Deploy CI / CD 기능지원 Multi Cloud Support Docker 방식 X O Bare metal,vm, AWS, Azure, Google GCP/GKE Docker / S2I 방식 S2I 사용은편하나, 추가 Action 불가 O Jenkins 지원 (Add-on) O Baremetal,VM, AWS, Azure, GCE Docker 방식 O Microclimate 을이용한 Jenkins 지원 O Baremetal,VM, AWS, Azure Teraform 으로설치스크립트구현 Build/Deploy 기능 Built-in CI/CD Pipeline Jenkins 를이용한 CI/CD 수동설치및설정 Built-in CI/CD Pipeline 카탈로그이미지제공 15 종추가중 44 종 ( 무, 유료포함 ) 메이저업체다수등록, 설정최적화 약 100 여종이상 (IBM 툴포함 ) 오픈소스를사용이전 IBM 호환성검토설정최적화 카탈로그생성방식 - GUI 등록방식 - yml 파일등록방식 - GUI, CLI 가능 Multi Cloud 간 Application 이동지원 O O ( 클라우드폼즈사용추가 ) O ( Federation 기능 )
Cocktail Cloud Demo 를 DevOps, 부하분산, 멀티클라우드 3 가지로준비하였으며, 각 Demo 별 Cocktail Cloud 사용장점을설명함 구분 Cocktail Cloud 미사용 Cocktail Cloud 사용장점 (1)DevOps 구축시고려해야할사항이많음 ( 프로세스 / 빌드 / 소스관리 / 자동화배포등 ) (1)DevOps 환경프로세스구축간편화 1 DevOps (2) 개발 / 운영환경을병행사용으로배포시작업실수및장애발생 (2) 개발, 테스트, 운영환경분리 (3) 운영환경에배포시서비스순단발생 (3) 실시간무중단배포 (Rolling Update) 2 부하분산 (Auto- Scaling) (1) 자동화, 오토스케일링환경설정및수행을많은명령어입력으로처리 (2) 리소스설정및할당개별관리 (3) 서비스확인모니터링시스템별도구축필요 (1) Private 클라우드환경을최적화활용 / 운영 (2) 손쉽고빠른 Resource 의할당 / 회수 (3) 서비스별어플리케이션관리및모니터링기능 (1) 쿠버네티스클러스터개별구성 / 별도관리 (1) 다수의쿠버네티스를통합관리 / 운영가능 3 멀티클라우드 (2) Private 과 Public 클라우드운영시별도관리 (2) Private 과 Public(Azure,AWS) 통합관리가능한 Hybrid Cloud 구현가능
Cloud Native Computing 운영 2-1. ITSM 적용상에문제는? 2-2. CMMI 인증을위한준비사항은? 운영 Process 적용 기존 Process 와차이 고려사항 CMMI 관점에서고려사항 Tailoring, 기타남은과제
3 IMS ITSM G-IMS SMS(G-EMS) IMS 장애 / 문의 /CSR 장애이벤트 장애 / 프라 CSR 운영현황정보 마스터정보 LS 사용자 1 g-spoc RR C 요구사항 - 테스트연동 RQM CSR 문의 장애 Smarter ADM 요구사항 CSR 연동 RTC 테스트, 결함정보 AMS 장애 / 문의 /CSR DB BuildForge 현황정보 단순문의 / 장애 CSR 현황정보 마스타정보 빌드요청빌드결과 RRDI 2 AMS ITSM 현황정보
(1) G-SPoC 시스템은국내 13 개계열사와자회사, 해외법인포함 46 개 site 의 450 개 Application 과인프라 85 개서비스를약 15,000 명이사용하고있는시스템 (2) System 개선 / 변경 /Error/ 단순문의를 1 년에약 25,000 건을처리하고있는중요시스템 소스배포 롤백 PUSH PULL 개발툴 소스저장서버 PULL ( 이전버전이미지 ) 이미지저장소 PULL PUSH 무중단소스배포 ( 롤링업데이트 ) 무중단소스배포 ( 롤링업데이트 ) Cocktail 은 DevOps 환경프로세스구축간편화 : 소스관리 / 빌드 / 배포기능을 Cocktail 솔루션을통해자동화가능하도록구현 Cocktail 은개발 / 테스트 / 운영환경구성을분리 : 기존개발 / 운영환경을구분없이관리되는불편함을 Cocktail 에서운영관리편함 Cocktail 은실시간무중단배포 (Rolling Update) / 신속한 Rollback 처리 : 많은명령어입력으로처리되는부분을 GUI 형식으로쉽게동작이가능
- 주요계열사인 LS 전선, LS 엠트론, LS 산전 3 개사가사용하는시스템으로상 / 하반기공채채용시기약 30,000 명정도입사지원하는시스템 Auto-Scaling Node 2 개 Node 3 개 Cocktail 은 Private 클라우드환경에서최적화활용 / 운영가능 : Orchestration 동작을 GUI 형식으로쉽게구성하여사용이가능 Cocktail 은손쉽고빠른 Resource 할당 / 회수기능 : 메뉴에서설정편집을통해할당및회수를쉽게설정할수있도록구현 Cocktail 은서비스별어플리케이션관리및모니터링가능 : 기존모니터링외오픈소스 Tool 을추가활용하여상세모니터링기능사용가능
On- Premise Move Public Cloud 이전 MS Azure Move 할인정책, 파격할인 Amazon AWS Cocktail 은복수의쿠버네티스를통합관리 / 운영가능 : AWS, Azure 에각각쿠버네티스를설치 / 통합운영 : BareMetal, Private, Public cloud 내복수쿠버네티스설치 / 운영가능 Cocktail 은 Hybrid Cloud 구현가능 : Private Cloud 와 Multi Public Cloud 를한개의 Manager 로어플리케이션 / 리소스통합관리가가능
X 인자계획수치입력 평균처리시간 PPM 시뮬레이션 평균처리시간달성가능성확률분포계산 [ 분석예 ] x 읶자의과거평균치를참고하여계획값을입력한결과목표수준달성가능성이 56 % 임. x 읶자값을조정 ( 현재수준보다상향조정 ) 하여달성가능성 95% 싞뢰수준으로맞춤. 1 달후실적값과비교분석후, ( 실제줄여진항목들확읶, 줄여지지않은항목들은원읶이무엇읶지등 ) 개선사항식별및관리후익월에반영여부확읶.
PoC 를통해얻은시사점은무엇읶가? 기존생각 축적된데이터가많음 계측기들이정상적으로운영 단일데이터로이슈추적이가능 시작前빅데이터분석에대한의심 알아낸점 분석에필요한양질의데이터는적음 계측기에서데이터누락 데이터항목간연결성을가질때有의미 PoC 결과로 New Finding 다수도출 Cloud Native Computing 을위해서는 많은 PoC 추진 이필요함 PoC 를통해얻은성과는무엇읶가? Container 관리 Solution 활용중요함 Docker/Container 확대용이