kt-cloud

Preview:

DESCRIPTION

JCO 제12회 한국자바개발자 컨퍼런스 Track7 Kt cloud 기반 애플리케이션 개발 전략

Citation preview

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

OKJSP 허광남

2

Agenda

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

3

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

https://ucloudbiz.olleh.com/portal/ktcloudportal.epc.ucintro.roadmap.info.html

4

KT ucloud 서비스 소개

https://ucloudbiz.olleh.com/portal/ktcloudportal.epc.ucintro.roadmap.info.html

5

2. IaaS 기반 Java Platform 환경 구축 실습 (45 분 )

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

6

CentOS Linux

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

7

Which Linux

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

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

8

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

9

기본적인 command line 사용법

• passwd

⁻ 비밀번호 변경• wget 복사한 _ 링크

⁻ 서버에 파일 다운로드• ls

⁻ 폴더 목록• mv

⁻ 파일명 변경• rpm 파일 설치

⁻ rpm -ivh jdk< 탭 >• df –h• 서버 용량

10

JDK 설치http://java.sun.com/

11

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

12

adduser hbpasswd hb

13

su - hbwhoami

14

pwd현재 위치

15

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

16

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

17

mkdir local/home/hb/local

18

tar xvfz apa...tar.gz

19

톰캣 설치

20

bin/./start.sh

21

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

22

cd ../logsaccess log

23

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

24

jsp/numguess.jsp

25

Application Deployment

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

26

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

27

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

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

28

server side JavaScript 개요

• In the beginning• Netscape JavaScript

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

29

Server side javascript 개요

• 구글의 V8 오픈소스 엔진 위에• node.js 플랫폼 탄생• callback• legacy logic

var r = db.query("select …");// r 처리

• Event loop algorithmdb.query("select …", function(r) { // r 처리 });

30

Development Server 구성

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

31

node.js 설치

• wget http://nodejs.org/dist/v0.6.5/node-v0.6.5.tar.gz 

• tar xvfz node-v0.6.5.tar.gz • cd node-v0.6.5 • cat README.md • node • which node 

32

채팅 서비스 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); 

33

웹 채팅 서비스 Deploy

• http://chat.nodejs.org/

34

4. 정리 (5 분 )

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

35

가상화와 Virtual Machine

36

가상화와 Virtual Machine

37

레거시 호스팅과의 비교

root

38

레거시 호스팅과의 비교

Hourly not monthly

39

클라우드와 기회비용

• 재고 서버 없음• 서비스 시작 문턱 낮춤• 서비스 종료 쉬움• 방치는 금물

⁻ 폭탄요금• 지속적인 모니터링 필요

40

부록

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

41

클라우드 서비스 가입 절차

1. 서비스 회원 가입2. 상품 청약

1. 결제 방식 선택 (ucloud 첫 달 무료 )

3. 청약 승인 안내 메일4. 서버 인스턴스 생성5. 공인 IP 생성 ( 기본 1 개 )

1. 포트 포워딩 인스턴스 연결6. 서버 인스턴스 접속7. 서비스 애플리케이션 설치8. 로드 밸런싱9. 부하 테스트

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

Recommended