Cloud2017.09.01 11:53

클라우드 제트 포탈이 새단장을 마쳤습니다.

www.cloudz.co.kr

 

클라우드 제트는 고객의 다양한 니즈에 부합하기 위해 만들어졌습니다.

인프라 사용 니즈부터, 웹/WAS 서버 환경까지 운영 및 관리를 서비스 방식으로 제공하는 플랫폼부터 최종 애플리케이션을 서비스 방식으로 사용하고자 하는 니즈까지 다 부합하는 서비스를 제공하고자 하는 목적에서 시작되었습니다.

 

기존 포탈이 인프라 (IaaS) 밖에 담지 못했다면 새로운 포탈은 고객들의 니즈가 폭증하고 있는

소프트웨어의 빠른 배포, 빈번한 배포, 안정적인 배포를 가능하게 하는 MSA(Microservice Architecture), DevOps, Container, 그리고 Continuous Delivery를 가능하게 하는 Cloud Foundry 서비스를 포함하고 있습니다.

또한 Container 서비스 (Docker, Kubernetes)에 대한 부분도 담고 있습니다.

 

구슬이 서말이라도 꿰어야 보배라고 했는데, 마이크로서비스에 맞게 애플리케이션을 어떻게 신규 개발할 것인지, 기존에 있는 애플리케이션을 어떻게 클라우드에 맞게 수정할 것인지, 많은 고객들이 궁금해하고 방법에 대해 찾고 계신것을 알고 있습니다.

클라우드 제트에서는 CloudZ Labs라는 고객이 직접 클라우드 전문가들과 2-3주의 기간 동안 Hands-on하면서 설계도 하고, 개발도 해보실 수 있는 서비스를 제공하고 있습니다.

 

클라우드로 이전 했을 때 많은 고객들이 갖는 의문이, IaaS 서비스를 선택했더니 운영체제, 미들웨어, 데이터베이스에 대한 운영은 매니지드 서비스 파트너를 쓰거나, 직접 운영해야 하므로 기존 On-premise 대비로 했을 때 큰 효과가 많지 않더라하는 이야기를 종종 합니다. 사람의 개입을 줄이기 위해서는 자동화, Auto-provisioning 등이 도입되어야 하고 운영 서비스가 아닌 서비스 자체가 managed service로 제공되어야 하는데 PaaS (Platform as a Service)를 선택하는 이유가 바로 이 때문 입니다. 클라우드 제트는 PaaS 서비스를 다양한 방식으로 제공합니다.

 

Bluemix, 그리고 Open PaaS (PaaS-TA)를 통해 고객의 상황에 맞게 제공해드리는데 PaaS만 있다고 서비스가 가능한 것은 아닙니다. Service Gateway, PaaS monitoring, Redis, ELK, MariaDB 들 역시 서비스 방식으로 제공되어야 하지요. CloudZ가 자체적으로 구축/운영 중인 서비스들을 통해 상황에 따라 상용, 비용을 고려한 오픈소스 기반의 서비스 등을 통해 고객에게 맞춤형 서비스 제공이 가능합니다.

 

어떻게 시작해야 할지 알고 싶다면, SK주식회사 C&C의 Cloud Z Labs를 찾아주세요.

저작자 표시
신고
Posted by 나이스가이
Cloud2017.06.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.05.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 나이스가이
IT Pro2017.04.03 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 나이스가이
아키텍트2008.10.31 23:20
"클라우드 컴퓨팅의 진화 및 이슈"라는 주제로 강의를 진행하였습니다. 

클라우드 컴퓨팅의 비즈니스 모델은 크게 4가지 정도가 있습니다.
1. Storage as a Service, 스토리지 서비스 사업자
2. Infrastructure as a Service, 컴퓨팅/스토리지 서비스 사업자
3. Platform as a Service (PaaS), 플랫폼 서비스 사업자
4. Software as a Service, 애플리케이션 사업자

PaaS를 통해 플랫폼을 장악하는 업체가 SaaS 영역의 주도권을 잡을 것이라고 보여지던 시기가 있었지만 지금 마이크로소프트의 Windows Azure 플랫폼, Azure Services 플랫폼이 발표되면서 클라우드 플랫폼을 통해 국내 애플리케이션 개발 업체가 얼마든지 글로벌 서비스를 개발할 수 있게 됨에 따라, PaaS가 아닌 클라우드 플랫폼 사업자가 훨씬 우위를 차지하는 시대가 도래했습니다. 앞으로 국내의 애플리케이션 개발자, 개발업체가 진행할 수 있는 다양한 비즈니스 모델에 대해 언급해 보도록 하겠습니다.

해외의 업체가 한글을 지원하면서 국내에 서비스를 하듯, 국내 업체가 영어를 지원하면서 해외에 서비스를 하는 것도 어렵지 않게 가능해지는 시대가 왔습니다.
신고
Posted by 나이스가이
아키텍트2008.05.07 12:57
Platform as a Service(PaaS)란 무엇일까요? 구글의 Google App Engine, Salesforce.com의 Force.com?
정의를 내리는 사람에 따라 조금 다를 수 있지만 비슷한 예가 될 것 같습니다.

마이크로소프트의 호스팅 환경 기반의 어플리케이션은 BizTalk Service, Exchange Services, Sharepoint Services가 발표되었고, 추가로 SQL Server Data Service가 또한 최근에 발표되었습니다. SQL DBMS를 로컬 서버에 설치하지 않고 구름 위에 놓여있는 서비스로 사용 가능한 것입니다. 마이크로소프트에서는 "마이크로소프트 온라인" 이라는 이름으로 부르고 있습니다.

사실은 진짜 PaaS 서비스, 즉 Force.com과 유사한 서비스를 마이크로소프트가 준비하고 있습니다. "Titan as a Service"가 바로 그것인데, Titan은 마이크로소프트의 CRM Live 서비스의 코드명이고 xRM이라고 부를 수 있을 것 같습니다.(가칭) 개발자들이 CRM 이외의 멀티태넌트, 워크플로 기반의 어플리케이션을 추가할 수 있는 플랫폼의 역할을 하기 때문입니다.
어느 정도의 커스토마이징, 설정에 대한 범위의 룰, 정책이 결정되면 마이크로소프트가 호스팅 하는 형태의 xRM 어플리케이션이 배포 모델로 추가될 것으로 보여집니다. On-Premise, Partner Hosted, Microsoft Hosted의 세가지 배포 유형에서 Microsoft Hosted의 상세한 옵션의 하나로 PaaS 모델이 추가될 수 있는 것이고 고객에게는 더욱 많은 선택의 기회가 주어질 것으로 보여집니다. 아직 공식적으로 발표된 내용은 아니고, 제 임의적인 생각을 표현한 것임을 밝혀둡니다.

감사합니다.
신고
Posted by 나이스가이