Cloud2017. 6. 19. 10:57

DevOps


DevOps의 정의 (Wikipedia 참조): 소프트웨어 개발자와 인프라 운영 담당자간에 소프트웨어 배포 프로세스의 자동화및 인프라스트럭처의 원활한 변경을 위해 협업 및 의사소통을 반영한 개발 환경이나 문화를 의미한다. 소프트웨어의 개발, 테스팅 및 배포를 더 빠르고, 자주, 안정적으로 하기 위해 시작되었다.


전통적인 IT 조직은 개발, 운영, 테스팅 조직이 팀으로 나뉘어져 있다. 개발자는 운영에 대한 고민없이 개발이 끝나면 단위 테스팅을 거친 후 운영조직으로 넘기고, 물론 운영조직과 통합 테스팅 과정을 거치기는 하지만 본질적으로 운영은 운영 조직의 몫으로 여기는 경우가 많다. 이런 이유로 대부분의 조직은 개발과 운영 조직의 사이가 대단히 안 좋은 경우가 많다. 하지만, DevOps는 개발, 테스팅, 운영조직간의 의사소통 및 협업을 위한 프로세스와 방법론을 제시하는데 대부분의 경우 개발/운영/테스팅이 함께 어우러져 이루어질 수 있어 효율성이 높아진다. 


DevOps 툴체인

개발,운영,테스팅 조직간의 협업, 즉 기나긴 사이클로 이루어지기 때문에 DevOps가 가능하도록 해주는 하나의 도구는 존재하지 않는다. 여러개의 도구의 집합, 소프트웨어 개발에서 배포 프로세스까지 이어지는 DevOps 툴체인이 필요하다. 


1. Code: 코드 개발 및 리뷰, 버전 콘트롤 도구 등

2. Build: Continuous Integration 도구, Jenkins

3. Test: Continuous Testing 도구, 즉 비즈니스 위험도 등에 대한 피드백 제공

4. Package: Artifact repository, 애플리케이션의 사전 배포 단계

5. Release: 변경 관리, 배포 승인 및 배포 자동화

6. Configure: 인프라 설정 및 관리, Infrastructure as Code 도구, Puppet

7. Monitor: 애플리케이션 성능 모니터링, 즉 최종 사용자 경험 관리

* Docker (containerization) 등


DevOps의 목적은 소프트웨어 배포를 더 빠르고, 자주, 안정적으로 하기 위한 환경을 제공하는 것이다. 배포 매니저는 애플리케이션 배포 자동화 및 Continuous Integration 도구를 통해 진행하는데, Continuous delivery 접근 방식을 택한다. 



 

 



Posted by 조이트리
Cloud2017. 6. 16. 16:49

Cloud Friendly, Cloud Native 등 친숙하지 않은 개념들을 많이 듣게 됩니다.


Cloud Native Application은 Cloud 환경에 최적화된 애플리케이션이라고 할 수 있는데 이것만 가지고는 어떤 의미인지 이해하기가 어렵습니다.

기업들이 Cloud를 도입하는 이유가 뭘까요? 새로운 기술, 즉 트렌드라서? 분명한 이점이 있기 때문일텐데요, 

가장 대표적으로 IT자원에 대한 자산투자를 하지 않고, 데이터센터 및 서버/운영체제/스토리지/네트웍 등의 자원에 대한 운영인력을 줄이고 컴퓨팅 자원은 필요할 때 즉각적으로 사용하고, 사용량만큼 비용을 지불할 수 있기 때문일 겁니다. Cloud도입 초기에는 인프라(데이터센터, 서버/스토리지/네트웍 등)를 빌려쓰는 IaaS로도 효과를 충분히 볼 수 있었지만, IaaS를 사용해보면 알겠지만 운영체제의 운영, 데이터베이스 운영, 네트웍 및 미들웨어 (Tomcat, Jeus 등) 운영 등 실제 애플리케이션 개발을 위한 플랫폼 운영 관련한 인력이 유지되어야 하고, 플랫폼 소프트웨어 설치/운영/모니터링 등의 업무도 그대로 남게 됨을 알 수 있습니다. 소프트웨어 개발자와 시스템 운영자는 여전히 넘을 수 없는 벽을 사이에 두고 일하게 되고, 개발자가 짠 애플리케이션은 하나의 거대한 단일 애플리케이션 (Monolithic)으로 구성되어 있어, 그중의 일부를 바꾸기 위해서는 전체 애플리케이션을 빌드하고 배포해야 하므로 배포는 자주해서는 안되는 금기시되는, 고객에게 필요한 기능도 쉽게 적용할 수 없는 상황에 처하게 됩니다. 


Cloud에 최적화된 애플리케이션은 바로 위에서 벌어지는 다양한 불합리함을 극복할 수 있게 해주는데, 가장 중요한 factor는 자동화라고 볼 수 있을 것 같습니다. 여기서, DevOps, Continuous Delivery, Micro-service, 그리고 Container 개념이 등장하게 됩니다. 


DevOps는 소프트웨어 개발자와 IT운영자간의 협업을 의미하는데, 소프트웨어 배포(Delivery)나 인프라의 변경 프로세스를 자동화하는 목적으로 합니다. 소프트웨어의 개발, 테스트와 배포를 보다 더 빠르고, 자주, 안정적으로 할 수 있는 하나의 문화라고 볼 수 있을 것 같습니다. 


Continuous Delivery는 단위 애플리케이션이 변경되어 배포되어야 할 때 시스템 정비시간을 기다릴 필요없이 배포할 수 있는 특징을 의미합니다. 배포작업은 모든 개발자 및 시스템 운영자가 부담스러워 하는 작업인데, 위험부담을 줄이고 고객의 피드백을 빠르게 적용하여 경쟁자를 압도할 수 있게 됩니다. 넷플릭스나 Amazon.com이 하루에도 수십/수백번의 배포를 할 수 있는 것도 바로 Continuous Delivery 정책을 사용하기 때문입니다. 


Microservice는 작은 서비스의 결합으로 하나의 애플리케이션을 구성하는 아키텍처 디자인 접근방식입니다. 각 서비스는 HTTP API를 통해 통신하고, 서비스별로 배포, 업그레이드, 스케일 out 및 구동될 수 있고 타 서비스와의 연결고리가 약하게 되어 있기 때문에 사용자에게 영향을 최소화 또는 없게 업데이트할 수 있습니다. 


Container는 하나의 운영체제 (물리적서버 or VM에 무관)에 서로 독립적인 파일시스템과 리소스를 갖고 있는 container로 나뉘어 동작합니다. Container의 생성 및 폐기가 가상머신에 비해 엄청 빠르게 이루어지고, 자원도 거의 사용하지 않아 고집적으로 사용할 수 있습니다. 


바로 이러한 DevOps, CD, MSA, Container 방식으로 개발된 Cloud Native Application의 구동을 가능하게 하려면 PaaS (Platform as a Service)가 필요하게 되는데, 가장 많이 사용하는 플랫폼이 바로 Cloud Foundry 입니다. 

Posted by 조이트리
Cloud2017. 5. 26. 13:52

모든 기술은 진화한다.


물리적인 서버, 가상화, 그리고 Infra Cloud (IaaS), 그리고 PaaS (Platform as a Service)로 진화하더니 이제는 Container로 ... 


오늘은 Container에 대한 이야기를 좀 해보려고 한다. 

가장 대표적인 회사가 Docker라고 생각할 것이고, Docker는 CaaS (Container as a Service)를 제공하는 회사이다. 


Container는 VM (Virtual Machine)과 달리, 운영체제를 전부 포함하고 있지 않고 소프트웨어가 동작하는데 꼭 필요한 코드, 런타임, 시스템도구, 시스템 라이브러리와 설정값을 갖고 있다. 리눅스와 윈도우 기반 앱으로 동작하고, 어떤 환경에 배포되더라도 항상 동일한 동작을 한다. Container는 주변 환경과 소프트웨어를 격리시켜주므로 개발, 스테이징 환경 등의 차이에 무관하게 동작한다. VM 대비로 훨씬 적은 자원/공간을 점유하고, 일반적으로 수십 메가바이트 규모이며 대부분 즉시 (초단위로) 구동된다. 


VM (Virtual Machine)은 물리적 하드웨어를 추상화한것으로 봐야하는데, 하이퍼바이저를 통해 하나의 하드웨어에 여러개의 VM을 구동하는 방식이다. 각 VM은 운영체제를 다 설치해야하고 여러개의 애플리케이션과 라이브러리 등을 설치해야 하기 때문에 수십 기가바이트 규모로, 부팅에 오랜 시간이 소요된다. 


일단 container를 사용하고자 마음 먹으면, container를 스케쥴링하고 관리하는 솔루션이 필요하게 된다. 바로 이 역할을 하는 것이 Orchestration 도구인데, 가장 일반적으로 많이 알려진 것이 Kubernetes와 Docker Swarm이다. 그 중에서 완성도가 높고 확장성이 있는 솔루션이 바로 Kubernetes이고, 오픈소스라는 것이 특징이다. (구글이 만들었다.)


개중에는 Docker와 Kubernetes를 비교하는 경우가 있는데, Docker는 orchestration만 제공하는 것이 아닌 훨씬 많은 것을 제공하므로 Docker Swarm과 대응하는 솔루션임을 꼭 기억하자. Docker Swarm은 아직은 좀 더 성숙할 시간이 필요하다고 생각한다. 


Kubernetes에 대해서는 조금씩 자세히 알아보도록 하겠다.





Posted by 조이트리
마케팅2017. 4. 5. 18:06

http://www.ajunews.com/view/20170404083729463

 

참고하시기 바랍니다.

 

Posted by 조이트리
IT Pro2017. 4. 3. 13:44

SK주식회사 CloudZ에서는 PaaS 서비스를 제공하고 있습니다.

 

PaaS (Platform as a Service)란 Cloud 애플리케이션을 쉽고 빠르게 개발하기 위한 SW 개발환경을 서비스로 제공하는 것을 의미합니다.

 

IaaS가 서버, 네트웍, 스토리지를 서비스로 제공한다고 하면

PaaS는 운영체제, 데이터베이스, 애플리케이션 서버 (WAS), JDK(Jave Development Kit) or .NET 등을 서비스로 제공하는 것을 의미합니다.

 

고객이 IaaS만을 사용하는 경우에는 고객이 운영체제, 데이터베이스, WAS, JDK / 개발 Framework을 직접 설치하고 운영해야 합니다. 이를 위해 별도의 운영 인력을 보유하거나, MSP (Managed Service Provider)를 통해 서비스를 제공받아야 합니다.

 

시스템 구축/운영, 미들웨어 구축/운영, 데이터베이스 구축/운영 등 여전히 운영을 위한 인력이 많이 필요하게 되고, 실제 애플리케이션 자체의 운영인력까지 필요하므로 클라우드 도입으로 인한 비용효과를 보기 어렵습니다.

 

PaaS 서비스는 오픈소스 Cloud Foundry, IBM Bluemix, Pivotal CF 등 3개사가 대표적인데

CloudZ에서는 오픈소스 Cloud Foundry를 통해 미래부가 개발한 PaaS-TA, IBM Bluemix를 PaaS로 사용하고 있습니다. Cloud Foundry는 자동차 엔진에 해당되는 역할을 하는데, 자동차를 이루기 위해서는 기어, 핸들, 속도계 등의 다양한 부가 서비스가 필요합니다. Microservice Architecture로 개발하여 운영되기 위해서는 Database as a Service, API Gateway, Circuit Breaker, Discover 서비스 등이 필요하게 되는데, 이런 다양한 서비스들을 오픈소스 기반으로 개발하여 제공하고 있습니다.

 

PaaS 도입으로 인한 효과

첫째, 실행환경 설정 자동화를 통한 서버 구성시간 단축 (Provisioning), 즉 개발환경 구축보다 서비스 개발에 집중

둘째, 빌드/테스트/배포 자동화를 통해 개발 시간 단축, 신속한 배포

셋째, 모듈별 부하량 증감에 따라 자동화된 Auto-scaling 가능, 예) 급여명세 조회 microservice의 부하 증가시 해당 microservice만 늘어나도록 하는 방식

넷째, 기존 서비스 중단 없이 신규 서비스의 무중단 배포 가능, 접속 경로 변경을 통한 신규서비스의 무중단 배포

를 가능하도록 합니다.

 

Microservice 아키텍처의 개념은, 클라우드 애플리케이션을 기능별로 독립된 모듈화 구조로 설계하는 것을 의미합니다. MSA의 장점은, 전통적인 크고 복잡한 구조를 가진 하나의 서비스 (monolithic architecture)가 아닌, 기능별로 분리하여 여러개의 독립적인 모듈로 구성하여 개발 속도면에서 빠르게 개발 가능하고, 신속하고 빈번한 업데이트와 배포가 가능하다는 장점이 있습니다. (Rapid, frequent, reliable deployment)

또한, 보안성을 높일 수 있다는 장점이 있는데, 보안 취약점에 대한 빠른 대응이 가능하기 때문입니다.

 

Amazon과 Netflix가 DevOps 기반의 MSA 구조로 되어 있는 대표적인 사례 입니다.

 

하지만, 모든 애플리케이션이 MSA에 적합한 것은 아닙니다.

1) On-premise/IaaS 상의 애플리케이션

   - 안정적인 백오피스 업무

   - 기록/통계/보고서 중심 업무

   - ERP, 지급관리, 세무관리, 재고관리, 마스터데이터 관리, 회계 시스템 등

 

2) Cloud Friendly (Container 기반 서비스)

   - 확장 가능한 백오피스 업무
   - 대부분의 기존 Application
     . 빠른 환경 구성 및 표준화

     . 자원부족에 따른 장애 최소화
     . 서비스변경 영향도 최소화

   - Seasonal Effect 존재
   - MIS, CRM, SCM, 웹/커머스, 마케팅, 조달, 분석시스템, 워크포스 관리


3) Cloud Native (MSA)

   - 고객 접점 업무
   - B2C 애플리케이션 (빈번한 배포 필요)

   - 시장반응 분석 및 빠른 수정/배포 (A/B 테스팅 등)
   - 모바일 앱, 소셜커머스, 인터넷 서비스, 위치기반서비스, IoT, 빅데이터, 머신러닝/분석 기반

Posted by 조이트리
마케팅2017. 1. 20. 18:19

신현석 SK㈜ C&C 클라우드Z사업본부장

"맞춤형 클라우드 서비스로 해외업체와 경쟁"

 

http://www.fnnews.com/news/201701191656484571

 

 

 

Posted by 조이트리
마케팅2017. 1. 16. 14:47

2017년 CES 2017 행사를 보고 느낀 점을 적어보려고 합니다.

 

CES 2017의 키워드를 요약하면

첫째, 자율 주행차 (전기 자동차)

둘째, 아마존 Alexa

셋째, Connectivity (연결성)

넷째, 로봇 & Drone을 꼽아볼 수 있을 것 같습니다.

 

IoT, Big Data, AI, Cloud 등의 Digital Transformation을 이끄는 기술들은 이미 전기와 같이 하나의 기반 기술이 되어버렸기 때문에 더이상 강조되지 않았지만, CES 2017을 이끄는 테마는 DT 기술들이 존재하기 때문에 현실화한 것으로 보면 될 것 같습니다.

 

올해 제 주목을 끈것은 IoT 기술을 사용자 경험에 완벽하게 적용한 Carnival (대형 크루즈 운행사) CEO, Arnold Donald의 키노트 였습니다. 여행업계 중에서 CES 키노트는 사상 첫번째 였습니다.

목걸이나 팔찌, 지갑에 끼워서 사용할 수 있는 메달로 구현한, OCEAN (One Cruise Experience Access Network) 이니셔티브였는데 고객의 크루즈 경험을 지금까지와는 다른 차원으로 업그레이드한 획기적인 사례입니다.

 

예약할 때 사용자 정보를 입력 후 주민증을 업로드 합니다. 크루즈 탑승전에 메달을 발송합니다.

크루즈 승선 시 정상 예약자인지 여부만 확인되고 나면 사전 예약 정보 (캐빈 종류), 동반 여행자 정보, 음식 취향 등의 정보를 이미 승무원들이 알고 있습니다. 음료, 저녁, 카지노, 공연 등의 모든 결제부터 기념품 구매까지 모두 메달로 가능하고, 영수증 발급이 필요없습니다. 룸에 들어갈 때, 손잡이를 당기면 바로 인지, 문이 열리게 됩니다.

 

크루즈 곳곳에 설치된 센서와 메달이 상호 커뮤니케이션을 하므로, 각 승객의 정확한 위치를 알고 있습니다. 동반자가 풀에 있는지, 스파에 있는지, 식당에서 식사중인지를 모두 알 수 있습니다. 물론 모바일 앱과도 상호 동기화되고, 일정에 따라 가이드를 해줄 수도 있습니다.

 

25센트짜리 동전보다 약간 크고, 50그램 정도 무게이고 시계, 목걸이 등의 다양한 방식으로 착용 가능하다.

Carnival은 고객이 항상 착용하는 방식이기에, 모든 움직임을 추적할 수 있는데, 배에 약 7000개의 센서가 정보를 수집한다. 고객이 어떤 음료를 가장 선호하는지, 바에서 얼마나 오래 머무르는지, 어떤 바를 좋아하는지 등의 정보를 실시간으로 파악 가능하다. 즉, Analytics의 모든 것이 가능하다는 의미이고, 고객이 가장 좋아하는 것, 어떤 것을 개선하여 제공할 것인지에 대한 의미있는 통찰력을 실시간으로 확보 가능하다.

 

사실, 사물인터넷(IoT), 빅데이터는 실시간 데이터 거버넌스가 되어야 의미가 있는데, Carnival은 IoT, 빅데이터의 본질을 가장 잘 이해하고 실제 서비스에 접목한, 혁신적인 기업이라고 생각됩니다.

 

Source: http://www.cruiseind.com/2017/01/05/all-the-details-on-carnival-at-ces-2017/ 참조

 

Posted by 조이트리
마케팅2016. 12. 14. 17:46

아주 오랜만에 글을 올립니다. 이제 1주일에 하나씩은 다시 써보려고 합니다.


CloudZ는 SK(주) C&C의 클라우드 서비스 브랜드입니다. A부터 Z까지 고객의 어떤 니즈에도 부합하는 최적의 클라우드 사업자가 되겠다는 의미를 담고 있습니다. (www.cloudz.co.kr)


디지털 Transformation을 위한 핵심 서비스인 데이터 수집 (IoT), 데이터 저장 및 처리 (빅데이터), 분석 (빅데이터 + 데이터 시각화) 서비스를 적용하는 작업을 하고 있습니다. 고객 적용을 하고 있는 중인데, 준비되면 본 블로그를 통해서 가장 먼저 알리도록 하겠습니다.

Posted by 조이트리
마케팅2016. 6. 28. 16:21

http://blog.skcc.com/2862

 

SK(주) C&C의 블로그에서 CloudZ 오픈 기념 이벤트를 진행하고 있습니다.

오늘자로 6,000명을 돌파해서 6,600명을 넘어섰네요.

 

7월 5일까지 진행되는 이벤트에 많은 참여를 부탁 드립니다.

 

 

Posted by 조이트리
마케팅2016. 6. 23. 18:30

4차 산업혁명의 기반 클라우드 컴퓨팅, 어떻게 활용할 것인가?

 

4차 산업혁명은 인공지능에 의해 자동화와 연결성이 극대화되는 단계로서 오늘날 우리 곁에 모습을 드러내고 있습니다. 사람과 기계 사이에서 더 깊고, 빠른 커뮤니케이션을 가능하게 하여 시간과 거리의 차이를 없애는 극단적 연결성. 국제적이면서도 즉각적인 연결을 통하여 새로운 사업모델이 창출되고 있습니다.
(공유경제, 온디맨드 경제가 강조되고 있는 이유입니다.)

 

4차 산업혁명은 속도, 범위와 깊이, 시스템 충격이 너무도 커서 전체 생산, 유통 및 소비 시스템에 변혁을 가하고 있고, 인간의 본성까지 움직이는, 그것이 바로 4차 산업혁명입니다.

 

http://news.inews24.com/php/news_view.php?g_serial=964643&g_menu=020200&rrf=nv

 

(아이뉴스24 기사 참조)

 

Posted by 조이트리