SlideShare a Scribd company logo
1 of 10
CI/CD 툴에 대한 오해
wnaldj1589@gmail.com
무슨 오해?
● CI/CD 툴들은 EC2 인스턴스 같은 배포 타겟에 "알아서" 접속해서 build, test, run
을 해줄 거라고 생각함
무슨 오해?
● CI/CD 툴들은 EC2 인스턴스 같은 배포 타겟에 "알아서" 접속해서 build, test, run
을 해줄 거라고 생각함
무슨 오해?
● CI/CD 툴들은 EC2 인스턴스 같은 배포 타겟에 "알아서" 접속해서 build, test, run
을 해줄 거라고 생각함
아주 크나큰 오해!
원격제어와 비교해보자!
● telnet, ssh, teamviewer 등 모든 원격제어는 서버, 클라이언트의 구조를 요구함!
원격제어와 비교해보자!
● telnet, ssh, teamviewer 등 모든 원격제어는 서버, 클라이언트의 구조를 요구함!
● 즉, CI/CD 툴이 "알아서" 소프트웨어를 업데이트 하기 위해서는
최소한 배포 타겟에도 CI/CD 툴이 설치되어 있어야 하는 것
○ 매니저, 워커와 같은 구조
원격제어와 비교해보자!
● telnet, ssh, teamviewer 등 모든 원격제어는 서버, 클라이언트의 구조를 요구함!
● 즉, CI/CD 툴이 "알아서" 소프트웨어를 업데이트 하기 위해서는
최소한 배포 타겟에도 CI/CD 툴이 설치되어 있어야 하는 것
○ 매니저, 워커와 같은 구조
● 그런데 CI/CD 툴들이 이러한 구조를 가지고 있지 않음!
"알아서" 업데이트는 어떻게?
● ssh 통신을 프로그래밍 언어로 build, test, run 을 구현
○ python의 paramiko, fabric 등 이미 구현된 라이브러리가 있음
● 직접 구현하는 대신 또다른 툴을 이용
○ ansible, saltstack 등의 툴들이 있음
어떤 방법이 더 좋을까?
프로그래밍
● 비교적 낮은 러닝 커브
○ 그냥 system 함수 사용하면 되니깐...
● 유지 보수 어려움
○ 모든 것을 구현해야 하기 때문에
○ 결국 "코드"를 작성하는 것이기 때문에 일
관성 있게 구현하기 어려울 수 있음
툴 사용
● 러닝 커브 있음
○ 어느 정도인지는 아직 모름
● 유지 보수가 비교적 간단해보임
이번에는 툴 사용해보기!

More Related Content

Similar to 0. CI_CD 툴에 대한 오해

Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Amazon Web Services Korea
 
2010 Microsoft @ Cloud Day 안준석 발표자료
2010 Microsoft @ Cloud Day 안준석 발표자료2010 Microsoft @ Cloud Day 안준석 발표자료
2010 Microsoft @ Cloud Day 안준석 발표자료TedAhn
 
클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기iFunFactory Inc.
 
Sources와 Sinks를 Confluent Cloud에 원활하게 연결
Sources와 Sinks를 Confluent Cloud에 원활하게 연결Sources와 Sinks를 Confluent Cloud에 원활하게 연결
Sources와 Sinks를 Confluent Cloud에 원활하게 연결confluent
 
Static Website Hosting with AWS :: Front-end Meetup
Static Website Hosting with AWS :: Front-end MeetupStatic Website Hosting with AWS :: Front-end Meetup
Static Website Hosting with AWS :: Front-end MeetupChanMin Park
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍NDOORS
 
AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar
AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar
AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar Amazon Web Services Korea
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트Amazon Web Services Korea
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debuggingJongwon Han
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdfSeung kyoo Park
 
무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례Taehyun Kim
 
Getting started with Azure Services Platform
Getting started with Azure Services PlatformGetting started with Azure Services Platform
Getting started with Azure Services PlatformTedAhn
 
Kgc2009 Online Game Service with Cloud Computing
Kgc2009 Online Game Service with Cloud ComputingKgc2009 Online Game Service with Cloud Computing
Kgc2009 Online Game Service with Cloud ComputingTedAhn
 
Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정Kyuhyun Byun
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발Jinuk Kim
 

Similar to 0. CI_CD 툴에 대한 오해 (20)

Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
 
2010 Microsoft @ Cloud Day 안준석 발표자료
2010 Microsoft @ Cloud Day 안준석 발표자료2010 Microsoft @ Cloud Day 안준석 발표자료
2010 Microsoft @ Cloud Day 안준석 발표자료
 
클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기
 
Sources와 Sinks를 Confluent Cloud에 원활하게 연결
Sources와 Sinks를 Confluent Cloud에 원활하게 연결Sources와 Sinks를 Confluent Cloud에 원활하게 연결
Sources와 Sinks를 Confluent Cloud에 원활하게 연결
 
Static Website Hosting with AWS :: Front-end Meetup
Static Website Hosting with AWS :: Front-end MeetupStatic Website Hosting with AWS :: Front-end Meetup
Static Website Hosting with AWS :: Front-end Meetup
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
 
AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar
AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar
AWS 활용하여 핀테크 신사업 시작하기 - 피플펀드 고객 사례 :: 지성국 :: AWS Finance Seminar
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례
 
Getting started with Azure Services Platform
Getting started with Azure Services PlatformGetting started with Azure Services Platform
Getting started with Azure Services Platform
 
Kgc2009 Online Game Service with Cloud Computing
Kgc2009 Online Game Service with Cloud ComputingKgc2009 Online Game Service with Cloud Computing
Kgc2009 Online Game Service with Cloud Computing
 
Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
 
iFun Deploy 소개
iFun Deploy 소개iFun Deploy 소개
iFun Deploy 소개
 

More from DEVELOPER.NET

EDA 맛보기 (Event Driven Architecture)
EDA 맛보기 (Event Driven Architecture)EDA 맛보기 (Event Driven Architecture)
EDA 맛보기 (Event Driven Architecture)DEVELOPER.NET
 
[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud Code
[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud Code[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud Code
[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud CodeDEVELOPER.NET
 
1. github action을 활용한 CI
1. github action을 활용한 CI1. github action을 활용한 CI
1. github action을 활용한 CIDEVELOPER.NET
 
[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter Festival
[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter Festival[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter Festival
[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter FestivalDEVELOPER.NET
 
[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기
[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기
[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기DEVELOPER.NET
 
2. aws 네트워크 (2)
2. aws 네트워크 (2)2. aws 네트워크 (2)
2. aws 네트워크 (2)DEVELOPER.NET
 
2. aws 네트워크 (1)
2. aws 네트워크 (1)2. aws 네트워크 (1)
2. aws 네트워크 (1)DEVELOPER.NET
 
2. aws 네트워크 (0)
2. aws 네트워크 (0)2. aws 네트워크 (0)
2. aws 네트워크 (0)DEVELOPER.NET
 
1. Docker Network (1)
1. Docker Network (1)1. Docker Network (1)
1. Docker Network (1)DEVELOPER.NET
 
1. Docker Network (0)
1. Docker Network (0)1. Docker Network (0)
1. Docker Network (0)DEVELOPER.NET
 
0. 네트워크 공부의 필요성
0. 네트워크 공부의 필요성0. 네트워크 공부의 필요성
0. 네트워크 공부의 필요성DEVELOPER.NET
 

More from DEVELOPER.NET (11)

EDA 맛보기 (Event Driven Architecture)
EDA 맛보기 (Event Driven Architecture)EDA 맛보기 (Event Driven Architecture)
EDA 맛보기 (Event Driven Architecture)
 
[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud Code
[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud Code[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud Code
[GDG 대전 IO Extended 22] 생산성 향상을 위한 원포인트툴_ Cloud Code
 
1. github action을 활용한 CI
1. github action을 활용한 CI1. github action을 활용한 CI
1. github action을 활용한 CI
 
[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter Festival
[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter Festival[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter Festival
[GDG 대전] Flutter에 Firebase 한스푼 - GDG Flutter Festival
 
[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기
[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기
[GDG 대전] 자율주행로봇 서버는 어떻게 구성되어 있나 - 주니어들 개발자들의 우당탕탕 서버 개발기
 
2. aws 네트워크 (2)
2. aws 네트워크 (2)2. aws 네트워크 (2)
2. aws 네트워크 (2)
 
2. aws 네트워크 (1)
2. aws 네트워크 (1)2. aws 네트워크 (1)
2. aws 네트워크 (1)
 
2. aws 네트워크 (0)
2. aws 네트워크 (0)2. aws 네트워크 (0)
2. aws 네트워크 (0)
 
1. Docker Network (1)
1. Docker Network (1)1. Docker Network (1)
1. Docker Network (1)
 
1. Docker Network (0)
1. Docker Network (0)1. Docker Network (0)
1. Docker Network (0)
 
0. 네트워크 공부의 필요성
0. 네트워크 공부의 필요성0. 네트워크 공부의 필요성
0. 네트워크 공부의 필요성
 

0. CI_CD 툴에 대한 오해

  • 1. CI/CD 툴에 대한 오해 wnaldj1589@gmail.com
  • 2. 무슨 오해? ● CI/CD 툴들은 EC2 인스턴스 같은 배포 타겟에 "알아서" 접속해서 build, test, run 을 해줄 거라고 생각함
  • 3. 무슨 오해? ● CI/CD 툴들은 EC2 인스턴스 같은 배포 타겟에 "알아서" 접속해서 build, test, run 을 해줄 거라고 생각함
  • 4. 무슨 오해? ● CI/CD 툴들은 EC2 인스턴스 같은 배포 타겟에 "알아서" 접속해서 build, test, run 을 해줄 거라고 생각함 아주 크나큰 오해!
  • 5. 원격제어와 비교해보자! ● telnet, ssh, teamviewer 등 모든 원격제어는 서버, 클라이언트의 구조를 요구함!
  • 6. 원격제어와 비교해보자! ● telnet, ssh, teamviewer 등 모든 원격제어는 서버, 클라이언트의 구조를 요구함! ● 즉, CI/CD 툴이 "알아서" 소프트웨어를 업데이트 하기 위해서는 최소한 배포 타겟에도 CI/CD 툴이 설치되어 있어야 하는 것 ○ 매니저, 워커와 같은 구조
  • 7. 원격제어와 비교해보자! ● telnet, ssh, teamviewer 등 모든 원격제어는 서버, 클라이언트의 구조를 요구함! ● 즉, CI/CD 툴이 "알아서" 소프트웨어를 업데이트 하기 위해서는 최소한 배포 타겟에도 CI/CD 툴이 설치되어 있어야 하는 것 ○ 매니저, 워커와 같은 구조 ● 그런데 CI/CD 툴들이 이러한 구조를 가지고 있지 않음!
  • 8. "알아서" 업데이트는 어떻게? ● ssh 통신을 프로그래밍 언어로 build, test, run 을 구현 ○ python의 paramiko, fabric 등 이미 구현된 라이브러리가 있음 ● 직접 구현하는 대신 또다른 툴을 이용 ○ ansible, saltstack 등의 툴들이 있음
  • 9. 어떤 방법이 더 좋을까? 프로그래밍 ● 비교적 낮은 러닝 커브 ○ 그냥 system 함수 사용하면 되니깐... ● 유지 보수 어려움 ○ 모든 것을 구현해야 하기 때문에 ○ 결국 "코드"를 작성하는 것이기 때문에 일 관성 있게 구현하기 어려울 수 있음 툴 사용 ● 러닝 커브 있음 ○ 어느 정도인지는 아직 모름 ● 유지 보수가 비교적 간단해보임

Editor's Notes

  1. DevOps란 간단하게 설명하면 이와 같습니다. 여기서 일련의 노력이 뭘까요?
  2. DevOps란 간단하게 설명하면 이와 같습니다. 여기서 일련의 노력이 뭘까요?
  3. DevOps란 간단하게 설명하면 이와 같습니다. 여기서 일련의 노력이 뭘까요?
  4. DevOps란 간단하게 설명하면 이와 같습니다. 여기서 일련의 노력이 뭘까요?
  5. DevOps란 간단하게 설명하면 이와 같습니다. 여기서 일련의 노력이 뭘까요?
  6. DevOps란 간단하게 설명하면 이와 같습니다. 여기서 일련의 노력이 뭘까요?