자동화된 인프라구축 - 2009년 자료
TRANSCRIPT
자동화된 인프라스트럭쳐 구축
2009.11. sysadmin 미니 세미나발표 : 문태준http://groups.google.com/group/sysadminstudyhttp://tunelinux.pe.kr
자료소개• 이 자료는 Building an Automated
Infrastructure 자료 및 "Web Ops 2.0: Achieving Fully Automated Provisioning" 를 기반으로 일부 수정한 자료임
• 해당 자료는 마지막 부분 참고자료에서 확인
개요• 시스템운영 – 현재의 상황
• “ 자동화된 인프라스트럭쳐”란 ?
• 자동화 단계
• 질문과 답
• 수작업 (OS 설치 , OS 설정 , 애플리케이션 배포 및 설정 )
• 서버에 직접 접속하여 시스템 관리작업을 함• 시스템관리에 대한 프로세스 , 정책이 부족• 능숙한 SM 이 필요하며 하위 관리자에게
위임하기 어려움
시스템운영 - 현재의 상황
시스템운영 - 현재의 상황
• 지정한 명세서에 따라 bare-metal 에서 비즈니스 서비스를 바로 실행할 수 있도록 전체 환경을 자동으로 전개함
• 개별 서버에 직접 접속해서 작업하지 않음
• 언제라도 특정 시점으로 복귀할 수 있음
자동화된 인프라스트럭쳐 구축
• 문제된 것을 고치는 것보다 다시 전개하는 것이 쉬움
• 지식이 적은 사람이라도 환경을 전개하거나 업데이트하는 것이 가능함
• 정책 및 그룹 기반의 시스템 관리를 수행함
자동화된 인프라스트럭쳐 구축
자동화 단계
자동화 단계 – OS 설치 수작업
• 각 시스템 수동설치자동화
• 자동화된 설치 시스템 이용 (PXE)• kickstart, Jumpstart, Windows RIS/WDS(Linu
x 도 설치 가능함 ) 등• 표준화 , 인증된 하드웨어 사용 및 절차 필요
자동화 단계 - DNS
수작업• 각 시스템의
/etc/hosts 업데이트자동화
• DNS 서버 설치• 설정 관리
Adding a new Hostname
0
10
20
30
40
50
60
6 10 20 30 40 50
Number of Systems
MinutesDNS
Manual
자동화 단계 – 서버 인벤토리
수작업• 엑셀파일 , 위키
자동화• iClassify• LDAP• ControlTier• 직접 만들기
자동화 단계 - 계정관리수작업
• 각 계정 수동 추가자동화
• LDAP 또는 AD 이용• 설정 관리• LDAP 지원하는
애플리케이션 다양함
Adding a new User
0
10
20
30
40
50
60
6 10 20 30 40 50
Number of Systems
MinutesAutomated
Manual
자동화 단계 - 버전관리수작업
• 파일 복사 , FTP, http 이용자동화
• 버전관리 툴 이용• CVS, Subversion, 기타• 개발뿐만 아니라 운영에서도 버전관리 필수
자동화 단계 - 설정관리수작업
• 버전 관리 시스템• 위키• SSH 루프 이용
설정 파일을 복사한 후 체크
작업한 내용을 기록해야 함
자동화 단계 - 설정관리자동화
• Cfengine• Puppet• Bcfg2• Slack
코드로 인프라스트럭쳐를 관리하자 !!!
자동화 단계 - 설정관리자동화가 핵심
• 50+ 이상의 서로 다른 애플리케이션• ad, apache2, apt-proxy, beaver, build-essential, capistrano, yum, ap
t, djbdns, emacs, erubis, rubygems, iclassify, imagemagick, iptables, java, logrotate, man, maradns, memcached, mongrel-runit, munin, mysql, nagios, nscd, ntp, openldap, openssh, perl, perlbal, php, postfix, postgresql, puppet, rails, resolver, rsync, ruby, runit, sqlite, subversion, sudo, trac, zsh
• 왜 반복작업을 하냐 ?
자동화 단계 - 모니터링수작업
• 각 서버 수동 추가자동화
• 시스템 인벤토리 , 설정 관리 툴 이용
0
1
2
3
4
5
Files
Files to Edit in Nagios whenadding a new Server
Manual
Automated
자동화 단계 – 리소스 모니터링수작업
• 각 서버 수동 추가자동화
• 시스템 인벤토리 , 설정 관리 툴 이용
자동화 단계 - 이메일
• 모든 서버는 이메일 발송이 가능해야 한다 .
자동화 단계 – 애플리케이션 배포수작업
• 수작업으로 애플리케이션 설치
자동화• Capistrano• ControlTier• 시스템 인벤토리 툴에
통합
Odds of a non-code Mistakeduring a Deploy
0%
2%
4%
6%
8%
10%
12%
1 2 5 10
Number of Manual Steps
Mistakes
다시 확인• 자동화된 인프라스트럭쳐의 의미 :
– “ 사람의 개입 없이 대규모 사업을 운영하는데 필요한 기본 서비스를 갖추는 것”
– “ 고양이가 사용할 수 있는 시스템”• 자동화된 인프라스트럭쳐
– 시간 절약– 효율성 늘림– 확장성 가능함– 경제적인 충격을 줄임– 유연성 개선
다시 확인• 자동화된 인프라스트럭쳐의 의미 :
– “ 사람의 개입 없이 대규모 사업을 운영하는데 필요한 기본 서비스를 갖추는 것”
– “ 고양이가 사용할 수 있는 시스템”• 자동화된 인프라스트럭쳐
– 시간 절약– 효율성 늘림– 확장성 가능함– 경제적인 충격을 줄임– 유연성 개선
참고자료• Building an Automated Infrastructure (O’REILY Velocity 2008) :
http://en.oreilly.com/velocity2008/public/schedule/detail/2238• Achieving Fully Automated Provisioning :
http://www.dtosolutions.com/storage/downloads/FullyAutomatedProvisioning_Whitepaper.pdf
• Reliable, Repeatable, Reproducible Infrastructure http://sysadmin.miniconf.org/presentations08.html#02
• ControlTier http://wiki.controltier.org/wiki/ControlTier• Continuous integration http://en.wikipedia.org/wiki/Conti
nuous_integration• Automating Linux and Unix System Administration Second Edition• The Practice of System and Network Administration (2/E)• http://groups.google.com/group/sysadminstudy• http://tunelinux.pe.kr/
질문과 답