SDDC 를완성하는 시스코의소프트웨어솔루션 장혜천과장, 시스코코리아
INDEX. 데이터센터와소프트웨어의만남 2. Programmability란무엇인가요? 3. Programmability를활용한예제 4. 시스코코리아의오픈소스활동 5. 함께완성하는 SDDC
데이터센터와 소프트웨어의만남
SDDC 를표현하는키워드 SDDC 의핵심요소 The software-defined data center encompasses a variety of concepts and data-center infrastructure components, with each component potentially provisioned, operated, and managed through an application programming interface (API). 미래의데이터센터는 Software Defined By 2020, Gartner predicts the programmatic capabilities of an SDDC will be considered a requirement for 75 percent of Global 2000 enterprises that seek to implement a DevOps approach and a hybrid cloud model. 4
SDDC 로가는마지막퍼즐 기존시스템과의통합시스템자동화운영분석을위한가시성시스템문제분석 사용자의요구 Programmability 시스코의 API Analysis Programmable Infra Enterprise Cloud Suite IT Service Catalog Cloud Center Private Cloud Application Hybrid Cloud Application Public Cloud Application Private Cloud Infrastructure UCS Director Billing Assurance Resource Mgmt 5
Programmability 란 무엇인가요?
Programmability 의이점 시간과비용의절약 Saving 데이터센터대부분의운영작업은단순하며반복적이지만, 반복의횟수가많기때문에인적 / 물적자원에대한업무배치비율이높음이러한작업을 Programmability 를통해정형화및자동화할수있음 사용자요구사항맞춤및최적화 Customization 강력하고효율적인도구라도요구되는기능은매우한정적인경우가많음사용자요구를반영한운영요소를제공함으로써, 운영간편화및불필요한작업을제거할수있음 인적오류의감소 Reduce 사람이하는작업은사전오류및행동오류모두범할수있음 Programmability 는정해진작업을검증된시나리오내에서해결하므로정해진환경내에서오류를감소시킴 관습적업무에서혁신적업무로변화 Innovation 현재의 IT 는점점더추상적이며복잡한관계속에서서비스를구축해가고있으며, 폐쇄적인업무방식은점점도태되어갈것임서비스와인프라가긴밀한체계를이루므로새로운형태의비지니스환경을만들수있음 8
Programmability Programmability Programmability 를바라보는관점 엔지니어 개발자 소프트웨어 소프트웨어 커뮤니케이션 커뮤니케이션 자원의추상화 장치 A 장치 B 장치 C 장치 A 장치 B 장치 C 장치와상호작용하는논리적인소프트웨어 시스템설정및문제분석이주요관점 자원을추상화하여소프트웨어에서동일한명령을수행 다양한시스템간의연동및자동화가주요관점 장치를효율적이고안전하게사용하는것이최종관점 9
Programmability 의목적 단순한네트워크관점으로전환 복잡한네트워크의문제점 네트워크의혁신 자원의효율적사용 부하분배 복잡한구성의가시성제공 분류 도식화 문제점제거자동화 네트워크운영비용증가 문제가발생할가능성증가 분석 예방및치료 네트워크중단의가장높은원인 = 사람의실수 자동화구성및네트워크관점을단순화 시스템의다양성으로인한문제점을감소 네트워크관리를효율적으로만듬 네트워크자원을효율적으로사용할수있음 네트워크정책을효과적으로결정할수있음 새로운네트워크기능을사용자가구현할수있음 0
Programmability 가소통하는방법 { REST API } # SDK # HTTP Protocol을사용한방법 HTTP Protocol의상태정보로처리상태를표현 200 OK 40 Unauthorized 404 Not Found 500 Internal Server Error HTTP Protocol 의메소드를사용하여 API 의목적을표현 POST GET PUT DELETE 응용프로그램을만드는개발도구의집합 응용프로그램개발용 API 개발도구샘플코드지원문서 원격장치와소통하기위한방법 HTTP Protocol 의 URL 을사용하여 API 기능을표현 고유의프로토콜을사용하여연결 REST API 를사용하여프로그램함수로구현 성능중시, 높은의존성 확장성및범용성중시 PROTOCOL:// DOMAIN.TLD /PATHS/ HTTP Protocol 의 Payload 를사용하여데이터전달 #IDENTIFIER 데이터형식은프로그래밍언어가제공하는방법에따름 Key Value Dictionary 형태로정착되어가고있음 { JSON } < XML >
Programmability 가표현하는방법 Function API Object API 직접행동을지시 도달해야하는상태를지시 목표상태 목표상태 지시 결과 장치기능에따른 API 장치의상태정보에따른 API 중간상태 API API 사용이간편하며직관적 API 사용이추상적이고어려움 사전정의된처리과정 장치기능수정에따라 API 도변화함 장치의구조가바뀌지않는이상변화없음 API 상황에맞춘처리과정 기능이많을수록복잡도증가 관리하는장치정보가많을수록복잡도증가 기능이많지않을때효과적 응용프로그램개발을빠르게진행해야하는상황 기능과함께지속적인개발이이루어지고있는상황 복잡한시스템을효과적으로표현하고자할때 아키텍처의상호작용을고려한설계를할때 시스템이동작하는상황이고정적일때 2
Programmability 를 활용한예제
예제를위해고려해야하는것 Open Source 4
최적의 Programmability 장치, ACI MIT 구조 (Management Information Tree) 모든것이 Object 로표현 계층구조를형성 (Tree 형태 ) Object 사이에관계를형성가능 Object 는고유의이름으로식별가능 5
ACI SDK 종류 Cobra SDK ACIToolkit Acidipy 다운로드 APIC 에서다운로드 PyPI 또는 Github 에서다운로드 PyPI 또는 Github 에서다운로드 서포트 ACI 공식 SDK Cisco DevNet 서포트 SDK Cisco Korea 서포트 SDK 특징 ACI MIT 구조를그대로반영 ACI MIT 구조를쉽게반영 ACI MIT 구조를그대로반영 최적화가잘되어있음 SDK 사용법이쉬움 Object 구조를그대로사용 ACI 버전에의존성존재 Rest API 기반으로의존성없음 Rest API 기반으로의존성없음 사용법이직관적이지않음 가시성을위해 Object 를변경, 본래의데이터를보기어려움 ACI Object 의적절한이해가필요 ACI Object 에대한깊은이해필요 Object 위치검색을개선 데이터를가져오는것은쉽지만, 생성및삭제는어려움 Object 구조변경이없으므로, 생성및삭제도검색과동일한방법으로수행가능 6
Acidipy 의 Object 관계도 MultiDomain N Controller N Tenant fvtenant /tn- N Pod fabricpod /pod- Filter vzfilter /flt- N N N N N N Contract vzbrcp /brc- L3Out l3extout /out- Context fvcontext /ctx- BridgeDomain fvbd /BD- AppProfile fvap /ap- N N N Paths fabricpathepcont /paths- VPaths fabricprotpathepcont /protpaths- Node fabricnode /node- N N N N N N FilterEntry vzentry /e- Subject vzsubj /subj- L3Profile l3extinstp /instp- EPG fvaepg /epg- Path fabricpathep /pathep- System topsystem /sys Hierarchy Relation N Subnet fvsubnet /subnet- N Endpoint fvcep /cep- N PhysIf lphysif /phys- 7
Programmability 와현업의간격 Programmability 확산의병목지점 API 개발 SDK 개발 SDK 2 개발 샘플 샘플 2 샘플 3 현업에적용가능한샘플 적용 개선점반영 Programmability 확산을위한직접적인방법 Web Service 를통한가시성확보 8
Web Service 를만드는과정 다양한컴퓨터언어에대한이해가필요 다양한라이브러리에대한이해가필요 9
Archon SDK Archon SDK Python 단일언어체계 20
HTML/JS/CSS Archon Web Service 구성도 Archon SDK HTMLs ACI Application Acidipy Javascripts (JQuery,OpenLibs) CSSs (Bootstrap Based) Abstractions Views View View 2 View N View SDK Dynamic Render Logics URLs Models View Request View Response Python Django Framework MariaDB Gevent Event Processing 2
Archon Web Service 처리과정 Browser Archon Request Method : POST URL Path : /app/dropdown/sample?id=sample Data : { test : data } Req Request Method : POST Path : [app,dropdown,sample] Query : { id : sample } Data : { test : data } App s Manager Page Drawing Dynamic Render Logic View 처리요청자료검색화면구성 Menu Page Service request manager view View Function ( 개발지점 ) View Logic 22
CLICK
CLICK
CLICK
CLICK
시스코코리아의 오픈소스활동
32 Cloud UX (UCS Director Tenant 페이지 )
Service Download SDK & Platform # SDK # Platform Nexdipy Pygics MultiPod Pod Node N Hierarchy Relation N Context l3inst /inst- N N System topsystem /sys N Interface interfaceentity /intf Pygics Catalog OS Package Python Package Pygics App Repository Pygics Thirdparty Repository N PhysIf lphysif /phys- N AggrIf pcaggrif /aggr- Asadipy Pygics Server { REST API } / Function API SDK / Object API 33
함께완성하는 SDDC
Programmability 발전을위한환경 정책수립, 가치발굴 Partner 가치개발, 관리 Customer 가치적용, 피드백 35
시스코의오픈소스커뮤니티 Cisco Programmability Reference Cisco Global https://developer.cisco.com https://github.com/ciscodevnet https://github.com/datacenter Cisco Korea https://github.com/ciscokorea https://github.com/javaos74 hyungsok@cisco.com https://github.com/hyechurnjang hyjang@cisco.com 36
THANK YOU