'agile'에 해당되는 글 2건

  1. 2016.01.22 Continuous Integration 개요
  2. 2015.11.27 Bimodal IT
DevOps2016.01.22 10:52
Today key : Continuous, Integration, CI, 지속적, 통합, DevOps, Agile, 애자일, XP, eXtream, Programming, 방법론, Practice



Continuous Integration (지속적 통합)

소프트웨어 개발에서 Build/Test 프로세스를 지속적으로 수행하는 . (Daily Build 라고도 했었음)

지속적으로 개발된 Unit 코드에 대한 Integration 작업을 수행하여, 항상 최신의 상태를 유지

Agile 개발 방법론/프로세스 중의 하나인 XP(eXtream Programming) Practice 중의 하나

 




 

Continuous Integration의 특징 장점

항상 최신의 상태를 유지하기 위해 공통의 프로젝트 버전 관리 시스템을 이용하여 코드베이스의 복사본을 이용하여 개발 작업을

  거치고, 이를 다시 검증 후에 다시 업데이트.

개발 시점과 Integration 시점이 멀어질 경우에, Integration 후의 발생하는 다양한 문제를 해결하는 많은 시간이 소요되는 반해,

  이러한 통합 과정을 초기부터 지속적으로 수행하여 보다 빠르고 쉽게 문제점을 해결하여, 소프트웨어 품질과 생산성을 향상.

시작 단계부터 지속적인 통합을 통해서 'integration Hell'이라고 불리는 개발 종료 후의 통합 시에 발생한 문제를 예방하여,

   재작업에 필요한 비용 감소 시간 단축

지속적인 버전관리를 통해서 발생하는 버그, 에러 등에 대해서 빠르게 확인 수정 가능

 

Continuous Integration에 필요한

CI 도구(CI Server)

    - 전체 Build 프로세스를 관리

    - Ex) Jenkins

버전 관리 시스템(SCM)

    - 항상 동일한 최신의 베이스라인 코드를 가지고 작업 필요.

    - Ex) Git, SVN

빌드 도구(Build Tool)

    - 개발된 코드를 컴파일 과정을 거쳐서 서비스 가능한 형태로 만드는 빌드 과정을 수행 도구

    - Ex) Maven, Ant

테스트 도구(Test Tool)

    - 단위테스트, 통합테스트, 사용자 테스트, 회귀 테스트 등을 자동으로 수행 있는 도구

    - Ex) Junit

 

 

 

 

Practices of Continuous Integration - [ Martinfowler CI 대한 포스팅 중의 CI 수행하기 위한 방법 ]

Maintain a Single Source Repository.

Automate the Build

Make Your Build Self-Testing

Everyone Commits To the Mainline Every Day

Every Commit Should Build the Mainline on an Integration Machine

Fix Broken Builds Immediately

Keep the Build Fast

Test in a Clone of the Production Environment

Make it Easy for Anyone to Get the Latest Executable

Everyone can see what's happening

Automate Deployment

 

Martinfowle

    영국 출신의 객체지향 프로그래밍 전문가이자, 컨설턴트이며, 리팩토링의 리더 중의 .


Posted by 네떡지기
분류없음2015.11.27 11:44

이번 포스팅은 'Bimodal IT'라는 2014년에 가트너에서 소개된 내용을 간단하게 정리해보았습니다.

모든 것이 마찬가지겠지만, 항상 100%의 정답인 단 하나의 솔루션보다는

주어진 각 상황에 최적화 된 솔루션이 보다 정답에 가깝지 않을까 싶습니다.

 


 

 

bimodal 사전적 의미 (네이버 사전)
1. 모드(mode)를 둘 가진   2. 가지 시스템이 있는

 

Bimodal IT

   2014 가트너에서 소개한 새로운 '기업 IT 조직 모델'

   '안정성과 효율성' 초점을 두고 있는 '전통적인 IT 모델' '유연성과 신속성' 초점을 두고 있는 '혁신적인 IT모델',

       가지의 서로 다른 모드의 시스템을 병행 운영

   전통적인 IT 모델은 'Mode 1'이라 하고, 혁신적인 IT 모델을 'Mode 2'라고 .

   “Bimodal IT refers to having two modes of IT, each designed to develop and deliver information- and technology-

      intensive services in its own way. Mode 1 is traditional, emphasizing scalability, efficiency, safety and accuracy.

      Mode 2 is nonsequential, emphasizing agility and speed.”1

 

 

 

가트너 전망

   CIO 가운데 45% 운영에 있어서 'Mode 2-(fast mode of operation)' 혁신적인 IT 모델의 필요로 .

   2017년까지 IT 기업 가운데, 75% 다양한 방식으로 Bimodal IT 수행 것으로 전망

 

 

Mode 1 - Traditional IT,  legacy IT

   Focus : 'Doing IT right"

   Traditional and sequential, emphasizing safety, accuracy.

     Oracle, SAP, Microsoft Exchange 등과 같이 기존 Legacy 벤더에 의해 의존적이면서, 안정성, 기능성에 초점.

   주로 Back-end 시스템

     자주 변화가 필요로 하지 않으며, 기존 프로세스 방식에 최적화

     IT 중심 기반으로 돌아가며, 생명주기가 비교적 길다

   Dedicated IT 인프라에 기반을 둔다.

 

 

Mode 2 - Rapid IT, Agile IT

   Focus : 'Doing IT fast"

   exploratory and nonlinear, emphasizing agility and speed

   새로운 비즈니스 요구 사항에 빠르게 대응하기 위해 신속성, 민첩성이 요구(Time to Market, Go to Market))

   비즈니스, 서비스 중심 기반으로 돌아가며, 생명주기가 비교적 짧다

   신속성, 민첩성 잦은 변경이 필요로 하기 때문에 가변적이고 탄력적인 IT 인프라에 기반을 둔다.

 

 

 

 

 

 

Bimodal IT 위한 고려사항

   새로운 Application 적합한 Mode 선정

      - 모든 Application Hyper-scale이나 Hyper-agile 필요로 하지는 않기 때문에,

          기업 내에서는 어떤 Mode 적합한지 판단을 하고, 그에 필요한 인프라를 선택해야 .

     어떤 Application 재개발할지 선정

         - 기존의 Application Mode 1 적합한지, Mode 2 적합한지에 따라서 재설계를 검토 필요 

Posted by 네떡지기

티스토리 툴바