KT Cloud 기반 애플리케이션 개발전략



        OKJSP 허광남
Agenda

•   1. KT ucloud에 대한 간단한 소개
•   2. IaaS 기반 Java Platform 환경 구축 실습
•   3. node.js 채팅 서비스 구축
•   4. 정리




                     2
1. KT ucloud에 대한 간단한 소개 (5분)




     https://ucloudbiz.olleh.com/portal/ktcloudportal.epc.ucintro.roadmap.info.html
                                3
KT ucloud 서비스 소개




https://ucloudbiz.olleh.com/portal/ktcloudportal.epc.ucintro.roadmap.info.html
                           4
2. IaaS 기반 Java Platform 환경 구축 실습
                (45분)

•   CentOS Linux
•   기본적인 command line 사용법
•   jdk 설치와 톰캣 설치
•   Application Deployment
•   이클립스 리모트 시스템 탐색기 활용




                 5
CentOS Linux

• RedHat family
• http://www.centos.org/
• Community ENTerprise OS




                    6
Which Linux

• [sys]Ubuntu, CentOS, Debian 구분
• cat /etc/issue

  예)
  [root@i-3066-17238-VM ~]# cat /etc/issue
  CentOS release 5.4 (Final)




                         7
Which Linux

• 커널 버전
• uname -a

  예)
  [root@i-3066-17238-VM ~]# uname -a
  Linux i-3066-17238-VM 2.6.18-164.el5xen #1 SMP Thu
     Sep 3 04:47:32 EDT 2009 i686 i686 i386 GNU/Linux




                         8
기본적인 command line 사용법

• passwd
   ⁻ 비밀번호 변경
• wget 복사한_링크
   ⁻ 서버에 파일 다운로드
• ls
   ⁻ 폴더 목록
• mv
   ⁻ 파일명 변경
• rpm 파일 설치
   ⁻ rpm -ivh jdk<탭>
• df –h
  • 서버 용량
                       9
JDK 설치
http://java.sun.com/




        10
rpm 파일 설치
rpm -ivh jdk<탭>




     11
adduser hb
passwd hb




   12
su - hb
whoami




 13
pwd
현재 위치




 14
http://tomcat.apache.org/
   tar.gz 링크 주소 복사




          15
wget http://apache.tt.co.kr/....tar.gz




                 16
mkdir local
/home/hb/local




     17
tar xvfz apa...tar.gz




        18
톰캣 설치




 19
bin/
./start.sh




   20
8080 포트 접속
http://14.63.216.55:8080/




          21
cd ../logs
access log




   22
tail -f access로그파일
 & : 백그라운드 작업




       23
jsp/numguess.jsp




      24
Application Deployment

•   WAR
•   TAR
•   FTP
•   SFTP
•   Build with SVN, Git




                          25
이클립스 리모트 시스템 탐색기 활용




        26
3. node.js 채팅 서비스 구축 (45분)

•   server side javascript 개요
•   Development Server 구성
•   node.js 설치
•   채팅 서비스 Deploy




                        27
server side JavaScript 개요


• In the beginning
• Netscape JavaScript




                    http://docs.oracle.com/cd/E19957-01/816-6411-10/getstart.htm


                        28
Server side javascript 개요

•   구글의 V8 오픈소스 엔진 위에
•   node.js 플랫폼 탄생
•   callback
•   legacy logic
    var r = db.query("select …");
    // r 처리
• Event loop algorithm
    db.query("select …", function(r) {
      // r 처리
    });




                              29
Development Server 구성

•   su -
•   yum install openssl-devel
•   yum groupinstall "Development Tools"
•   ./configure && make && make install




                        30
node.js 설치

• wget http://nodejs.org/dist/v0.6.5/node-v0.6.5.tar.g
  z
• tar xvfz node-v0.6.5.tar.gz
• cd node-v0.6.5
• cat README.md
• node
• which node




                        31
채팅 서비스 Deploy

• chat.js
  ----
  net = require('net');
  var sockets = [];
   var s = net.Server(function(socket) {
   sockets.push(socket);
   socket.on('data', function(d) {
     for (var i = 0; i < sockets.length; i++) {
       sockets[i].write(d);
     }
   });
   socket.on('end', function() {
     var i = sockets.indexOf(socket);
     sockets.splice(i, 1);
     });
   });
   s.listen(7000);
                                32
웹 채팅 서비스 Deploy

• http://chat.nodejs.org/




                            33
4. 정리 (5분)

• 레거시 호스팅과의 비교
• 클라우드와 기회비용




            34
가상화와 Virtual Machine




        35
가상화와 Virtual Machine




        36
레거시 호스팅과의 비교

      root




     37
레거시 호스팅과의 비교

   Hourly not monthly




          38
클라우드와 기회비용

•   재고 서버 없음
•   서비스 시작 문턱 낮춤
•   서비스 종료 쉬움
•   방치는 금물
    ⁻ 폭탄요금
• 지속적인 모니터링 필요




                 39
부록

• 클라우드 서비스 가입 절차




             40
클라우드 서비스 가입 절차

1. 서비스 회원 가입
2. 상품 청약
     1. 결제 방식 선택 (ucloud 첫 달 무료)
3. 청약 승인 안내 메일
4. 서버 인스턴스 생성
5. 공인 IP 생성 (기본 1개)
     1. 포트 포워딩 인스턴스 연결
6.   서버 인스턴스 접속
7.   서비스 애플리케이션 설치
8.   로드 밸런싱
9.   부하 테스트

                       41
서비스 가입




  42
서비스 가입




  43
서비스 가입




  44
가입 후 로그인




   45
상품 청약




 46
상품 청약




 47
상품 청약




 48
상품 청약




 49
상품 청약




 50
상품 청약




 51
가입 완료 안내메일




    52
상품 신청




 53
상품 신청




 54
상품 청약 진행중




   55
청약 완료 안내메일




    56
클라우드 서버 신청




    57
클라우드 서버 신청




    58
클라우드 서버 신청




    59
클라우드 서버 신청




    60
클라우드 서버




  61
클라우드 스토리지




   62
클라우드 네트워크




   63
클라우드 서버 생성




    64
클라우드 네트워크




   65
클라우드 네트워크




   66
로드 밸런서




  67
클라우드 네트워크




   68
서비스 현황




  69
사용자 매뉴얼




  70
71

kt-cloud