레이블이 서비스인 게시물을 표시합니다. 모든 게시물 표시
레이블이 서비스인 게시물을 표시합니다. 모든 게시물 표시

2019년 1월 20일 일요일

DEVOPS, CI/CD란 무엇일까요?

 뉴딜코리아 홈페이지 

DEVOPS
CI/CD란 무엇일까요?

CI (continuous integration) : 지속적인 통합, 지속적 통합, 연속적 통합
CD (continuous delivery) : 지속적인 딜리버리, 지속적 배포, 연속적 배포



CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다.

CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다.

CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "통합 지옥(integration hell)")를 해결하기 위한 솔루션입니다.

특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다.

이러한 구축 사례는 “CI/CD 파이프라인”이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원됩니다.



■ CI와 CD(및 또 다른 CD)의 차이점은 무엇일까요?

약자 CI/CD는 몇 가지의 다른 의미를 가지고 있습니다.

CI/CD의 “CI”는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다.

CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 병합되므로 여러명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다.

CI/CD의 “CD”는 지속적인 서비스 제공 (Continuous Delivery) 및/또는 지속적인 배포 (Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다.

두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 합니다.

지속적인 제공은 개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리(예: GitHub 또는 컨테이너 레지스트리)에 자동으로 업로드되는 것을 뜻하며, 운영팀이 이 리포지토리에서 애플리케이션을 실시간 프로덕션 환경으로 배포할 수 있습니다.

이는 개발팀과 비즈니스팀 간의 가시성과 커뮤니케이션 부족 문제를 해결해 줍니다.

지속적인 제공은 최소한의 노력으로 새로운 코드를 배포하는 것을 목표로 합니다.

지속적인 배포(또 다른 의미의 “CD”: Continuous Deployment)는 개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스하는 것을 의미합니다.

이는 애플리케이션 제공 속도를 저해하는 수동 프로세스로 인한 운영팀의 프로세스 과부하 문제를 해결합니다.

지속적인 배포는 파이프라인의 다음 단계를 자동화함으로써 지속적인 제공이 가진 장점을 활용합니다.

CI/CD가 지속적 통합 및 지속적 제공의 구축 사례만을 지칭하는 것일 수도 있고, 지속적 통합, 지속적 제공, 지속적 배포라는 3 가지 구축 사례 모두를 의미하는 것일 수도 있습니다.

좀 더 복잡하게 설명하면 "지속적 제공"은 때로 지속적 배포의 과정까지 포함하는 방식으로 사용되기도 합니다.

결과적으로 CI/CD는 파이프라인으로 표현되는 실제 프로세스를 의미하고, 애플리케이션 개발에 지속적인 자동화 및 지속적인 모니터링을 추가하는 것을 의미합니다.

이 용어는 사례별로 CI/CD 파이프라인에 구현된 자동화 수준 정도에 따라 그 의미가 달라집니다.

대부분의 기업들은 CI를 먼저 추가한 다음 클라우드 네이티브 애플리케이션의 일부로서 배포 및 개발 자동화를 구현해 나갑니다.


지속적 통합

현대적인 애플리케이션 개발에서는 여러 개발자들이 동일한 애플리케이션의 각기 다른 기능을 동시에 작업할 수 있도록 하는 것을 목표로 합니다.


그러나 조직에서 특정한 날("병합의 날(merge day)")을 정해 모든 분기 소스 코드를 병합하는 경우, 결과적으로 반복적인 수작업에 많은 시간을 소모하게 됩니다.

이렇게 반복적인 수작업을 하는 이유는 독립적으로 작업하는 개발자가 애플리케이션에 변경 사항을 적용할 때 다른 개발자가 동시에 적용하는 변경 사항과 충돌할 가능성이 있기 때문입니다.

CI(지속적 통합)를 통해 개발자들은 코드 변경 사항을 공유 브랜치 또는 "트렁크"로 다시 병합하는 작업을 더욱 수월하게 자주 수행할 수 있습니다.

개발자가 애플리케이션에 적용한 변경 사항이 병합되면 이러한 변경 사항이 애플리케이션을 손상시키지 않도록 자동으로 애플리케이션을 구축하고 각기 다른 레벨의 자동화 테스트 (일반적으로 단위 테스트 및 통합 테스트) 실행을 통해 변경 사항이 애플리케이션에 제대로 적용되었는지를 확인합니다.

다시 말해, 클래스와 기능에서부터 전체 애플리케이션을 구성하는 서로 다른 모듈에 이르기까지 모든 것에 대한 테스트를 수행합니다.

자동화된 테스트에서 기존 코드와 신규 코드 간의 충돌이 발견되면 CI를 통해 이러한 버그를 더욱 빠르게 자주 수정할 수 있습니다.

▶ 기술적인 내용에 대해 자세히 알아보기


지속적 제공

CI의 빌드 자동화, 유닛 및 통합 테스트 수행 후, 이어지는 지속적 제공 프로세스에서는 유효한 코드를 리포지토리에 자동으로 릴리스합니다.

따라서 효과적인 지속적 제공 프로세스를 실현하기 위해서는 개발 파이프라인에 CI가 먼저 구축되어 있어야 합니다.

지속적 제공의 목표는 프로덕션 환경으로 배포할 준비가 되어 있는 코드베이스를 확보하는 것입니다.

지속적 제공의 경우, 코드 변경 사항 병합부터 프로덕션에 적합한 빌드 제공에 이르는 모든 단계에는 테스트 자동화와 코드 릴리스 자동화가 포함됩니다.

이 프로세스를 완료하면 운영팀이 보다 빠르고 손쉽게 애플리케이션을 프로덕션으로 배포할 수 있게 됩니다


지속적 배포


CI/CD 파이프라인의 마지막 단계는 지속적 배포입니다. 프로덕션 준비가 완료된 빌드를 코드 리포지토리에 자동으로 릴리스하는 지속적 제공의 확장된 형태인 지속적 배포는 애플리케이션을 프로덕션으로 릴리스하는 작업을 자동화합니다.

프로덕션 이전의 파이프라인 단계에는 수동 작업 과정이 없기 때문에 지속적 배포는 잘 설계된 테스트 자동화에 크게 의존합니다.

실제 사례에서 지속적 배포는 개발자가 애플리케이션에 변경 사항을 작성한 후 몇 분 이내에 애플리케이션을 자동으로 실행할 수 있는 것을 의미합니다.

 (자동화된 테스트를 통과한 것으로 간주) 이를 통해 사용자 피드백을 지속적으로 수신하고 통합하는 일이 훨씬 수월해집니다.

이러한 모든 CI/CD 적용 사례는 애플리케이션 배포의 위험성을 줄여주므로 애플리케이션 변경 사항을 한 번에 모두 릴리스하지 않고 작은 조각으로 세분화하여 더욱 손쉽게 릴리스할 수 있습니다.

그러나 자동화된 테스트는 CI/CD 파이프라인의 여러 테스트 및 릴리스 단계를 수행할 수 있어야 하기 때문에 많은 선행 투자가 필요합니다.

실제 CI/CD 구현 과정에 대해 알아보기

출처 : Red Hat


컨설팅 : ISMS, ISO27001  GDPR,PCI-DSS 
취약점 진단 및 모의 침투
개인정보 비식별화 솔루션
보안솔루션 공급
070-7867-3721, ismsbok@gmail.com
 


2017년 3월 19일 일요일

결제대행사 고객의 개인정보에 관한 조치 위반 (안전한 인증 수단 미흡 등 ) 과태료 처분

출처 : 뉴딜코리아 홈페이지

결제대행 사업자 개인정보에 관한 조치위반 (접근통제 미흡 등 ) 과태료


[No. 1] 결제대행 사업 A사, B사 등을 포함한 총 8개사가 고객의 개인정보에 관한 조치를
제대로 이행하지 않아 각 1000만원 과태료 처분을 받았다.

결제대행사란 온라인 쇼핑몰이나 통신사 등에서 사용자가 돈을 낼 때 결제를 중계하는 정보통신 사업자를 뜻한다.

15일(2017.03) 방송통신위원회는 전체회의를 열고 이같은 내용의 국내 8개 결제대행사에 대해 각각 1천만원의 과태료를 부과하는 시정조치(개인정보 보호 법규 위반 사업자에 대한 시정조치 안건)를 의결했다.

이에 따라  A사, B사등 8개 사업자는 과태료1000만원을 각각 내야한다.
(사업자의 법인 대표와 개인정보보호 책임자, 개인정보취급자 등은 정기적 교육을 진행해야 하며 교육결과와 재발방지책 등을 마련해 보고해야 한다.)

조사결과, 이번 과태료 1000만원 처분을 받은 8개사들은 자사들의 결제서비스를 이용하는 가맹점들이 접속할 때 아이디와 비밀번호만으로 접근이 가능하도록 허술한 관리를 했다.
(이 업체들은 외부 가맹점이 고객 개인정보가 저장된 자사 시스템에 접속할 때 '보안토큰' '휴대전화 인증' '일회용 비밀번호' 등 관련 법이 정한 보안 조처를 적용하지 않은 것으로 조사됐다.)

 가맹점 편의만 생각해 단순히 ID와 PW(비밀번호)만 치면 개인정보 시스템에 접속할 수 있게 해 해킹이나 개인정보 유출 등 위험을 키웠다는 것이다.

방통위 관계자는 "보안 조처를 강화하면 가맹점이 서비스가 불편하다며 다른 결제대행사로 옮겨갈 수 있어
보안이 부실해진 측면이 있었다"며 "모든 결제대행사가 같은 보안 조처를 이행할 수 있도록 모니터링하겠다"고 설명했다.

[관련법령]                                                국가법령정보센터(http://www.law.go.kr/main.html)

 개인정보의 기술적 관리적 보호조치 기준
    [시행 2015.5.19] [방송통신위원회고시 제2015-3호, 2015.5.19, 일부개정]

~생략~

 제4조(접근통제)
① 정보통신서비스 제공자등은 개인정보처리시스템에 대한 접근권한을 서비스 제공을 위하여 필요한 개인정보관리책임자 또는 개인정보취급자에게만 부여한다.
② 정보통신서비스 제공자등은 전보 또는 퇴직 등 인사이동이 발생하여 개인정보취급자가 변경되었을 경우 지체없이 개인정보처리시스템의 접근권한을 변경 또는 말소한다.
③ 정보통신서비스 제공자등은 제1항 및 제2항에 의한 권한 부여, 변경 또는 말소에 대한 내역을 기록하고, 그 기록을 최소 5년간 보관한다.
④ 정보통신서비스 제공자등은 개인정보취급자가 정보통신망을 통해 외부에서 개인정보처리시스템에 접속이 필요한 경우에는 안전한 인증 수단을 적용하여야 한다.

~ 생략 ~




[No. 2] 정보통신망법 위반사항이 적발된 C회계법인은 시정명령을 받았다.

C회계법인은 자격증 응시 등을 위한 홈페이지를 영리목적으로 운영하는 정보통신망법 사업자로서,
'마케팅 광고 활용' 에 이용자들이 동의하지 않으면 회원가입을 불가능하게 한 사실이 드러나 시정명령을 받게 됐다.

[관련법령]                                              국가법령정보센터(http://www.law.go.kr/main.html)
 개인정보 보호법[시행 2016.9.30.] [법률 제14107호, 2016.3.29., 일부개정]

제3장 개인정보의 처리
제1절 개인정보의 수집, 이용, 제공 등

제16조(개인정보의 수집 제한)
① 개인정보처리자는 제15조제1항 각 호의 어느 하나에 해당하여 개인정보를 수집하는경우에는 그 목적에 필요한 최소한의 개인정보를 수집하여야 한다. 이 경우 최소한의 개인정보 수집이라는 입증책임은 개인정보처리자가 부담한다.

② 개인정보처리자는 정보주체의 동의를 받아 개인정보를 수집하는 경우 필요한 최소한의 정보 외의 개인정보 수집에는 동의하지 아니할 수 있다는 사실을 구체적으로 알리고 개인정보를 수집하여야 한다.<신설 2013.8.6.>

③ 개인정보처리자는 정보주체가 필요한 최소한의 정보 외의 개인정보 수집에 동의하지 아니한다는 이유로 정보주체에게 재화 또는 서비스의 제공을 거부하여서는 아니 된다.<개정 2013.8.6.>


[ 개인정보_보호법_해설서(20160329)]

4. 재화 등 제공 거부 금지
필요 최소한의 정보 외의 개인정보 수집에 동의하지 아니한다는 이유로 정보주체에게 재화 또는 서비스 제공을 거부해서는 안 된다. 서비스 제공에는 회원 가입도 포함된다. 유료의 경우는 물론이고 무료의 경우도 마찬가지이다.

이는 개인정보 수집·이용에 대해 강요된 동의를 막기 위한것이다.

따라서 정보주체의 동의를 받으면서 선택정보에 대한 동의를 거부할 경우 재화 또는 서비스의 이용이 제한될 수 있다고 알리는 것은 가능하다.


5. 벌칙 규정

- 위반행위
필수정보 이외의 정보 수집에 동의하지 않는다는 이유로 재화 또는 서비스의 제공을 거부한 자 (제16조제3항 위반)

- 벌칙
3천만원 이하 과태료 (제75조제2항제2호)






     
개인정보보호/ISMS/PIMS/ISO27001 컨설팅


2016년 6월 6일 월요일

클라우드 간 서비스(inter-cloud)를 위한 유즈 케이스

카페 > 뉴딜코리아 홈페이지 | 뉴딜코리아
http://cafe.naver.com/rapid7/2486

 클라우드 간 서비스(inter-cloud)를 위한 유즈 케이스


 2 ITU-T Focus Group Cloud 회의에서는 통신 사업자 및 통신 장비 제조사들이 주로 참석하였으며,텔레콤 입장에서 클라우드 컴퓨팅으로의 진화를 목적으로 표준화를 진행하기로 하였다

표준화 진행을 위해 텔코가 가진 네트워크 및 통신 서비스 자원을 최대한 활용하여 IT 클라우드 서비스 제공자와의 협력 모델을 토대로네트워크자원과 IT자원을 모두 보유한 사업자 모델로 진화해 나가자는 것이 목표이다

우선 클라우드 컴퓨팅과 관련된 사실 표준을 만드는 SDO들의 현황으로부터다양한 유즈 케이스들을 논의하였는데그 중 일본의 GICTF(Global Inter-Cloud Technology Forum)에서 정의한 클라우드 간 서비스 사용 경우가 표준문서에 포함되었다

본 고에서는 여러 클라우드 사업자가 공존하는 환경에서 표준화 요구사항을 도출하기 위한 클라우드 간 서비스(inter-cloud computing) 유즈 케이스로서 종단간 품질보장서비스 협력을 통한 편리한 서비스서비스 연속성브로커를 통한 마켓 트랜잭션 경우를 정리하고자 한다.


◎ Inter-cloud 유즈 케이스


1. 종단간 품질/가용성 보장

• 갑작스러운 부하 증가 시 성능 보장서비스 제공자A로부터 제공되는 어떤 서비스가, 특정한 상황에 접속 트래픽이 갑자기 늘어나는 경우가 생긴다(예: 광고 이벤트 등으로).

이때 클라우드 시스템은 자율적으로(autonomously) 부하 증가에 따른 서비스의 성능 감소를 판단하고 서비스제공자B로부터 제공되는 community cloud를 통해 자원(예: 웹서버)을 빌린다.

고객ID정보 및 응용 데이터를 커뮤니티 클라우드로 전송하고, 서비스에 대한 접근만을 서비스 제공자B로 redirect 함으로써, 부하를 분산할 수 있다.

결국 고객은 동일한 ID를 가지고 동일한 수준의 성능으로 서비스를 제공받을 수 있다.
 

• 네트워크 지연을 고려한 성능 보장클라우드 서비스 이용 고객이 출장으로 인해 원격지로 옮겨간 경우, 서비스 제공 사이트로부터 물리적으로 먼 거리 때문에 네트워크 지연이 일어나 고객은 응답 지연 등 품질 저하를 겪게 된다.

클라우드 시스템은 이러한 성능 감소를 판단하고, 고객이 방문한 지역과 가까운 곳에 위치한 클라우드 시스템으로부터 자원을 빌린다.

고객의 ID, 응용, 데이터를 해당 클라우드 시스템으로 전달하여 고객으로 하여금 이전 서비스와 동일한 서비스를 이전과 동일한 성능 수준으로 접근할 수 있도록 한다.
 
• 천재지변과 같은 오류가 생기는 경우에도 가용성을 보장지자체 A시의 클라우드 시스템이 자연 재해로 손상되어 서비스를 지속할 수가 없게 된 경우, 클라우드 시스템은 자율적으로 상황을 판단하고, 미리 협약된 원격의 지자체 B시, C시, D시의 자원(응용, 미들웨어, 데이터베이스 서버 등)을 활용하여 서비스 복구를 수행한다.

A시에서 평상시 제공되던 서비스들이 현재 타 시로부터 임시적으로 제공되므로, 고객들은 서비스를 계속해서 사용할 수 있다.

만약 모든 서비스를 위해 품질 보장을 위해 요구되는 자원이 매우 큰 경우는, 우선순위가 높은 서비스에 대해 먼저 품질 보장 서비스를 제공한다.

또한 빠른 서비스 복구를 요구하는 서비스에 대해서는,  최고의 품질이 아니더라도 최대한 가장 좋은 품질로 빠른 서비스 복구를 제공한다.
 
2. 서비스간 협업을 통한 편리한 서비스 제공
A시에서 제공되는 e-응용 서비스는, 협력 ID정보 및 보안 정책에 따라 타 제공자의 서비스들과 상호작용하도록 미리 협약되었다(예: 지자체 클라우드 내 등기부 등본 서비스나 정부의 여권 관리 서비스 등).

A시의 시민이 관련 e-응용을 통해 여권을 신청하면, 관련된 ID정보를 입력하고 이를 타 클라우드 서비스로 전달하여 인증하고 이용자 ID정보를 공유하여 해당 서비스를 처리할 수 있다.

이를 통해 고객에게 원스톱 서비스를 제공하고 편의를 높여줄 수 있다.
 
3. 서비스 연속성
보통 제공자 A의 사업이 중단되면 고객은 타 제공자에 의해 제공되는 유사한 서비스에 재가입을 해야 한다.

이러한 상황을 막기 위해 제공자A로부터 제공되던 서비스에 대한 자원, 응용 및 고객ID데이터를 제공자 B와 C의 클라우드 시스템으로 미리 전달해 놓을 수 있다(사전 조건에 의해).

그렇다면 제공자 A로부터 사업이 중단되더라도 고객은 유사한 서비스를 제공자 B와 C로부터 제공받을 수 있을 것이다.

이러한 설정은 고객이 명시적으로 제공자 간에 서비스 이전을 요청한 경우에도 가능하다.
 
4. (클라우드) 브로커를 통한 최적의 서비스 사업자 선택
고객이 클라우드 시스템에 의해 제공되는 서비스를 사용하기 원할 때, 이를 제공하는 여러 서비스 제공자들이 있는 경우, 이들의 서비스에 대해 요구되는 SLA들을 비교해 봄으로써, 가장 적절한 서비스 제공자를 선택할 수 있다.

이를 위해서 고객은 서비스에 대해 자신이 원하는 품질 요구사항 정보를 (클라우드) 브로커 시스템에게 제공한다. 브로커는 자신에게 등록된 여러 제공자들의 정보를 통해, 제공자 B가 가장 적절한(best-fit) 품질 요구를 만족할 수 있다고 판단하고 제공자 B와 계약을 맺도록 한다.
 
결언
본 고에서는 최근 9월 FG-Cloud의 주요 이슈였던 inter-cloud가 유용하게 사용될 수 있는 분야에 대하여 일본 GICTF에서 제안하여 반영된 고객관점의 사용 사례를 정리하였다. 

inter-cloud 분야가 표준화 분야에서도 중요한 아이템이기 때문에, Cisco와 ZTE 등 벤더에서는 클라우드 서비스브로커를 제안하기도 하였다.

또한 컴퓨팅 분야의 주요 SDO인 DMTF에서도 ‘Interoperable Clouds-A White Paper from the Open Cloud Standards Incubator‘ 자료를 제안하기도 하였다.

일본은 신규 기술 분야에 대한 자국내 활동 결과를 영문화하여 국제 표준 기구나 글로벌 연구 기관에 어필하고 있다.


우리도 국내 클라우드 관련 포럼 활동 결과를 정리하여 국내 이익을 반영한 내용으로 국제표준에 제시할 수 있었으면 하는 바램이다.