현대적 Cloud Computing에 관한 Computer System 내용 정리

본 내용은 수강한지 매우 오래된 내용이기 때문에 잘못된 점이 몇 군데 있을 수도 있습니다.


Computer Systems of Modern Cloud Computing

A Computer System? 컴퓨터 시스템은 하드웨어와 소프트웨어 유저 사이에 수반되는 절차와 일종의 소통을 가능케 하는 데이터들의 총합으로 정의되어 있습니다.
System이라는 뜻이 어떤 통합적인 전체를 형성하는 각각 상호작용하면서 상호의존적인 set이라는 것을 생각하면 쉽죠.

이러한 Computer System은 Cloud Computing과 같은 현대적 최신 기술이 더해지면서 일종의 초융합형 박스로 변하게 됩니다.

SmartX Box...: 초융합형 박스
Device들을 제어하기 위해서는 integrated resources( Compute, Storage, Networking)의 충분한 한당이 필요합니다. 바로 Cloud Computing 환경은 이러한 소요되는 integrated resource를 동적으로 제공하며 적당한 수준으로 유지될 수 있게 하죠.
이러한 초융합형 박스형 자원 합을 SmartX Box라고 호칭하고 있습니다.

이러한 Box들과 Function들을 연결하는 Inter-Connected Function에는 무엇이 있을까요?

바로 Provisioning, Orchestrate, Visibility가 있습니다.

Provisioning이란 이용자에게 계정, 계정 접근 권한, 계정 관련 권한, 계정 관리에 필요한 제반 자원을 제공하는 서비스 설정 과정으로써 바로 자신이 원하는 Box에 원하는 Software를 자동으로 설치 가능케 하는 기능들을 통칭하고 있죠,

Visibility는 각 박스와 박스 내에서 동작하는 응용 프로그램들의 상황에 대해 파악하는 역할을 담당하고 있습니다.

Orchestration은 Visibility를 통해 내용을 분석하여, Provisioning을 통해 Box의 재설치나 프로그램의 재실행등 각종 제어를 담당하고, 새로운 코드를 자동으로 빌드하여 배포해주는 역할을 하고 있습니다.

Cloud는 이러한 Inter-Connected Function을 통해 작동을 하는데요, 이러한 점들은 소비자들에게 일종의 서비스로써 제공되기도 합니다. 서비스의 형태, 역시 다양합니다.

SaaS (Software as a service) : 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 클라이언트를 통해 접속하는 형태의 소프트웨어 전달 모델
PaaS (Platform as a service) : 소비자의 개발 환경을 중앙에서 호스팅하여 사용자가 클라이언트를 통해 서비스의 형태로 개발하는 형태
IaaS (Infrastructure as a service) : Server Storage Network를 Virtualization하여 필요에 따라 Infrastructure resource를 사용할 수 있게 하는 형태
Undercloud: OverCloud Server를 업데이트관리테스트를 하기 위한 한 물리적 Server에서 돌아가는 Basic Single-node OpenStack installation이다.
Overcloud: Overcloud는 게스트가 가상 머신과 workload를 이용할 수 있게 하는 기능적 cloud

그 중 관련된 내용을 몇 개 설명하면 다음과 같습니다:

OpenStack: IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트다. Processing, Storage, Networking의 Resource를 제어하는 목적의 프로젝트로 이루어져있다.
Cloud Computing개인의 단말기에서는 주로 입/출력 작업만 이루어지고클라우드라는 제 3의 공간에서 실제적인 작업이 이루어지는 컴퓨팅 시스템 형태
Cluster같은 속성을 갖는 대상을 여러 개 모아 하나의 대상을 하는 것으로써, Data 관리에 있어 Record 관리의 단위

Cloud Computing과 같은 작업이 이루어지기 위해서는 컴퓨터의 환경을 가상화해야 합니다.:
p(physics, Baremetal) + V( virtual machine) + C(Container)
p(BareMetal) : 컴퓨터의 가상화를 구현하는 방법 중 하나로 컴퓨터 하드웨어와 물리적으로 직접 통신하여 가상화를 구성하는 운영체제를 설치하는 기술을 말함.
V(VM) : 컴퓨터 환경을 소프트웨어로 구현한 것
Container 기존의 가상화는 VM을 이용하여 OS level까지 구동시켜야 했지만컨테이너 기술을 Host의 OS를 그대로 사용하면서 Application과 Related Library의 Virtualization까지만 구현함
(가상화 : OS를 특정 시스템 구조나 하드웨어에 영향을 받지 않고 설치사용하도록 할 수 있는 기술)

HyperVisor컴퓨터 resource에 서로 다른 각종 운영 체계의 접근 방법을 통제하는 소프트웨어


그 외에 중요한 내용들은 다음과 같습니다:

Software-defined infrastructure (SDI) is the definition of technical computing infrastructure entirely under the control of software with no operator or human intervention. I
인간의 간섭이나 어떠한 명령 없이 소프트웨어의 전체적인 조절 하에서 이루어지는 technical computing infrastructure를 정의함
SDN은 Software Defined Netwroking으로써소프트웨어로 구성된 네트워크를 말하는데소프트웨어의 통제를 단일화하여 빠르면서도 안전한 네트워크 운용을 가능하게 함 -> 자연스럽게 네트워크 전체를 관리하는 중앙 집중형 시스템으로 구성되게 됨.
Open Data는 저작권에 대한 문제 없이 그들이 원하면 사용하거나 재가공할 수 있는 모두가 이용가능한 데이터를말한다.
이러한 데이터는 총 3가지의 입장에서 접근 가능하다
1. Cloud. 2. Big Data3.IIoT(Industrial Internet of Things 산업체 IoT)
이러한 접근을 하기 위해서는 SDN(Software Defined Network)/NFV(Network function virtualization) -> (Network 구성에 필요한 하드웨어를 소프트웨어화에서 구현하는 기술) integrated Mobile+Cloud가 필요함
Hyper-Convergent : a type of infrastructure system with a software-centric architecture that tightly integrates compute, storage, networking and virtualization resources.
ISV (Independent Software Vendor): 특정 컴퓨터 제조업체에 의존하지 않는 소프트웨어 개발 회사

Big Data:흩어진 엄청난 양의 정보로부터 의미있는 결과 도출
Open API를 통한 SmartX Service 제공 방법
1. Prepare Programmable & Virtualized Resources with Hyper-Converged SmartX Box
2. Build Open APIs with Inter-connected Functions
3. Create Smart Services with Smart Things, API tools, and open Data

IoT/Social (Hyper-Connetivity): 사물과 사람을 연결한 편리하고 재미있는 삶 창조
API(Application programming interface) : OS와 Application program 사이의 통신에 사용되는 규격
ARM(API remodeling)
DevOps = Development and Operations 소프트웨어 개발자와 정보기술 전문가 간의 소통협엽을 강조하는 개발 환경이나 문화를 말함
federated cloud : the deployment and management of multiple external and internal cloud computing services to match business needs.

OVS(Open vSwitch) : open-source implementation of a distributed virtual multilayer switch
Docker : open-source project that automates the deployment of applications inside software containers.
Apache Hadoop: open-source JAVa software framework that support distributed object-oriented platform which works in Big computer cluster. ( Big Data를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프레임워크)
KVM (Kernel-based virtual machine) : virtualization infrastructure for the linux kernel that tuens it into a hypervisor
Net-SNMP : a suite of software for using and deploying the SNMP protocol (SNMP란 간이 망 관리 프로토콜로 네트워크 장비를 관리 및 감시하기 위한 목적으로 정의된 프로토콜 이다)
Kafka : a software for sending data to other cluster
Apache Spark : an open source cluster computing framework. Spark는 data 병렬과 결함 오차와 함께 프로그래밍 전체cluster의 interface를 제공한다.
Apache Flume : distributed, reliable and available service for collecting, aggregating, and moving large amounts of log datas
Aparche Mesos : Open-source Cluster Management Software

댓글

가장 많이 본 글