devops란무엇인가 · 2017-10-16 · 4 a culture and environmentwhere building, testing, and...
TRANSCRIPT
DevOps란무엇인가?
• 모우소프트기술총괄정재용이사
What is DevOps?
3
4
A culture and environment where building, testing, and
releasing software, can happen rapidly, frequently, and more
reliably.
- Atlassian
높은품질을유지하면서시스템에대한변경사항의
적용과그변경사항을일반적인생산환경에적용되는
동안의필요한시간을줄이기위한일련의실천
방법(Practices)이다.
- DevOps
What is DevOps?
What is different?
전통적인개발방법론
Project Management
TestingDevelopment Operations
Agile 개발방법론
Head of
Development
DevOps is base on Agile!!
Up to 100 releases per day
Netflix has more than 30 million streaming members.
50 million deployments per year
Amazon has thousands of teams and millions of users.
63% of Atlassian customers have adopted DevOps practices
DevOps 필요요소?
• Plan & Measure
✓ Lean 또는 Agile 기반으로지속적으로상태를파악하고관리하며, 이를기반으로계획수립및수정
• Development & Test
✓소프트웨어제품및서비스에관련된이해당사자들간협업이가능하도록플랫폼을제공하고지속적인통합수행
✓자동화된테스팅및운영시스템과유사한가상화시스템기반테스팅
• Release & Deploy
✓새로운릴리즈를가능한빨리고객에게제공하기위한자동화된배포
• Monitor & Optimize
✓지속적인운영시스템모니터링과고객피드백을통한최적화
DevOps 핵심프렉티스?
• Process in DevOps
✓DevOps는린과애자일방법론에기반으로하고, 관련프로세스도이런방법론에서주로발생됨. DevOps 프로세스핵심프랙티스중심으로살펴보면
✓핵심프랙티스1. Release planning
지속적인계획및평가에의한릴리즈계획2. Continuous integration
개발초기부터지속적인자동빌드를통한잠재적인통합리스크사전제거
3. Continuous testing자동테스트를통한지속적테스트로품질향상
4. Continuous delivery자동배포를통한신속한릴리즈수행
5. Continuous monitoring and feedbacks지속적인모니터링과고객피드백을통한최적화수행
Atlassian solution & DevOps
Release Planning
Release Planning
Continuous Delivery & Build for S/W DEV Team
Continuous Delivery & Build for S/W DEV Team
Continuous Delivery & Build for S/W DEV Team
Continuous Delivery & Build for S/W DEV Team
Flexible pipeline
Build vs Release vs Deploy
Continues monitoring & feedback
Continues monitoring & feedback
Continues monitoring & feedback
Last importent point is Continues Testing
Testing?
DevTestOps
• Test Case 및환경을관리해주는 Test Management
• Plug In 을활용하여환경구성
• 자동으로 Test에필요한환경을구성 ( Infra & Virtual Test
Environment )
• Bamboo를활용한 CI/CD 환경구성
• GUI 또는기능을자동으로 Test해주는 test Automation
• 기능 Test 수행전에 Code에대한품질을측정할수있는
Code Inspection 솔루션
Test 가변화하고있다.
전통적 CI/CD Workflow
DevOps 기반의 Workflow
Continues Test
Continues Test
Use Case of DevTestOps
1. 기존업무에새로운새로운 feature 적용필요
2. Bitbucket에서새로운 Branch 생성
3. 생성된브랜치에서변경작업수행
4. 변경후 code review 수행
Use Case of DevTestOps
5. Test Build 요청
6. Bamboo로빌드수행
Use Case of DevTestOps
7. 개발자 Test 수행
8. 정상이면 master Branch로 Merge
Pass
Fail
Use Case of DevTestOps
9. Staging 또는 Production 환경에배포요청
10. 배포수행
Use Case of DevTestOps
감사합니다.
www.mousoft.co.kr [email protected] 02-508-2733