Cloud Foundry

fallsnowpeasInternet and Web Development

Nov 12, 2013 (3 years and 8 months ago)

144 views

Open
PaaS

& Cloud Foundry

강명철

mc.kang08@gmail.com

Contents


PaaS


Cloud Foundry






PAAS

2

Type

Vendor

SaaS

PaaS

IaaS

Cloud Computing System

Cloud Computing Service Model

PaaS



PaaS


서비스

제공자가

주문형으로
(On
-
Demand)

HW


OS
제공

뿐만

아니라

Application Platform


Solution Stack


서비스

형태로

제공하는

것을

의미함
.



이를

통해

App. Deploy,
리소스

할당
,
로드

밸런싱
, DBMS Access


기존

IT
관리

영역의

많은

부분에

대한

자동화를

통하여

좀더

직관적이고

효과적인

클라우드

환경을

제공함



Platform as a Service

Upload

App to
PaaS



What does
PaaS

do or help us in
?

Proprietary
PaaS

• Force.com

• GAE

• Azure

• AWS Elastic Beanstalk


DotCloud

• MOGOK

• etc.

6

Open
PaaS

• Cloud Foundry



https://github.com/cloudfoundry


OpenShift



https://github.com/openshift


Cloudify



https://github.com/CloudifySource


Nodester



https://github.com/nodester

7

Cloud Foundry based
PaaS


Stackato

(
ActiveState
)



http://www.activestate.com/stackato

• Iron Foundry (Tier 3)



http://www.ironfoundry.org


AppFog



http://www.appfog.com

• PaaS.io



http://paas.io

8

CLOUD FOUNDRY

9

What’s Cloud Foundry?

An open platform
-
as
-
a
-
service (
PaaS
). The system supports
multiple

frameworks,
multiple

application infrastructure
services and deployment to
multiple

clouds.

Languages/Frameworks/Service



Multi
-
Language

Ruby, Java,
Scala
, Node.js,
Erlang
, Python, PHP..



Multi
-
Framework

Rails, Sinatra, Spring, Grails, Express, Lift



Multi
-
Services

MySQL
,
Postgres
,
MongoDB
,
Redis
,
RabbitMQ



Multi
-
Cloud, Multi
-
IaaS

Public Cloud,
MicroCloud
, Private Cloud

Logic View

R
outer

I
nfrastructure

H
ealth
M
anager

DEA: execution environment

S
ervices: core, ecosystem, etc.

user apps

C
loud
C
ontroller

user apps

vmc client

STS plugin

browser

(user app access)

Architecture

H
e
a
l
t
h

Ma
n
a
g
e
r
Se
rvi
ce

"A"
Pro
vi
si
o
n
i
n
g

Ag
e
n
t
D
ro
p
l
e
t

Exe
cu
t
i
o
n

Ag
e
n
t

(D
EA)
C
l
o
u
d

C
o
n
t
ro
l
l
e
r
C
l
o
u
d

C
o
n
t
ro
l
l
e
r
Router
Router
Se
rvi
ce

"A"
Cloud
C
o
n
t
ro
l
l
e
r
D
a
t
a
b
a
se
R
o
u
t
e
s
d
ro
p
l
e
t

re
q
u
e
st
s
R
o
u
t
e
s
R
EST

API

re
q
u
e
st
s
Pe
rsi
st
s
d
ro
p
l
e
t
s

a
n
d

p
ro
vi
si
o
n
e
d

se
rvi
ce
s
Pe
ri
o
d
i
ca
l
l
y
sca
n
s
f
o
r
co
n
si
st
e
n
cy
D
ro
p
l
e
t

ch
a
n
g
e

notifi
ca
t
i
o
n
s
D
ro
p
l
e
t

st
a
rt
/
st
o
p

re
q
u
e
st
s
O
rch
e
st
ra
t
e
s
(St
a
rt
,

St
o
p
,

F
i
n
d
)
R
e
g
i
st
e
rs
a
n
d

u
n
re
g
i
st
e
rs
R
e
g
i
st
e
rs
a
n
d

u
n
re
g
i
st
e
rs
Se
n
d
s
d
ro
p
l
e
t

h
e
a
rt

b
e
a
t
s
a
n
d
e
xi
t

me
ssa
g
e
s
Pro
vi
si
o
n

a
n
d

u
n
p
ro
vi
si
o
n
Ad
ve
rt
i
se
Se
rvi
ce
Pro
vi
si
o
n
and
u
n
p
ro
vi
si
o
n
G
u
e
st

a
p
p
l
i
ca
t
i
o
n
s
co
n
su
me
Architecture

Cloud Foundry open
PaaS

15

Cloud Foundry : Making multi
-
cloud a reality

16

CloudFoundry.COM


Multi
-
tenant
PaaS

operated by VMware

17

Micro Cloud Foundry


Downloadable
PaaS

18

CloudFoundry.ORG

19

Cloud Foundry

20

[Traditional Style]

[Cloud Foundry Style]

How Apps are accessed o Cloud Foundry

21

How Apps are Scaled on Cloud Foundry

22

How Apps are Updated on Cloud Foundry

23

실습

24

Prepare


Register


Install Ruby and
RubyGems


Install VMC (VMware Cloud
Client)


Install STS (with Cloud
Foundry
Plugin
)

Install

Ruby & VMC


Windows


Windows : http://www.rubyinstaller.org/


Centos


yum install
-
y ruby


yum install
-
y ruby
-
devel

ruby
-
docs ruby
-
ri

ruby
-
rdoc


yum install
-
y
rubygems


gem update

system


g
em install
vmc


g
em

install
sinatra

//for demo

VMC
설정


Target
설정


vmc

target https://api.cloudfoundry.com


Passwd

변경


vmc

login


vmc

passwd

Demo Program
작성


Directory(
프로젝트
)

생성
/
이동


m
kdir

test


c
d test


프로그램

생성
(
hello.rb
)

require '
sinatra
'

get '/' do


"Hello from Cloud Foundry and VMware"

end

Demo Program
배포

Deploy App


vmc

login


vmc

target


vmc

push


vmc

update


vmc

create
-
service


vmc

bind
-
service


Via STS

Via VMC

STS =
Springsource
-
Tool
-
Suite

Access Service


TCP

over

HTTP

tunnel


Local

client


Remote

server



gem install
caldecott


vmc

tunnel your
-
service


Mongodb
/
mysql

command

Caldecott

Micro Cloud Foundry(BETA)

A cloud packaged as a VMware Virtual Machine

Use

as

a

developer

sandbox



Use

the

services

from

Junit

integration

tests



Deploy

your

application

for

functional

testing



Remote

debugging

from

STS


my.cloudfoundry.com

Getting started:
http://start.cloudfoundry.com/getting
-
started.html

VMWare

Player

After one time setup procedure which is not shown here

Same password as in
item #3 in the previous
slide

Error message!

Make sure that your application is the
only file in the folder otherwise a huge
file will be deployed. Solution: next slide

Test the application

v
mc

info