83
24/07/2010 Satoshi Hirata Copyright © Fusic Co., Ltd. All rights reserved. Beccoame Ver0.1 tag: Tatsumaki, Sys::Virt

Beccoame Ver0.1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Beccoame Ver0.1

24/07/2010Satoshi Hirata

Copyright © Fusic Co., Ltd. All rights reserved.

Beccoame Ver0.1tag: Tatsumaki, Sys::Virt

Page 2: Beccoame Ver0.1

0. About me

2Copyright © Fusic Co., Ltd. All rights reserved.

Page 3: Beccoame Ver0.1

Satoshi Hirata

0. About me

3Copyright © Fusic Co., Ltd. All rights reserved.

Page 4: Beccoame Ver0.1

Satoshi Hirata

Company: Fusic Co., Ltd.

0. About me

4Copyright © Fusic Co., Ltd. All rights reserved.

Page 5: Beccoame Ver0.1

Satoshi Hirata

Company: Fusic Co., Ltd.Skill: Program/Server/Network,

0. About me

5Copyright © Fusic Co., Ltd. All rights reserved.

Page 6: Beccoame Ver0.1

Satoshi Hirata

Company: Fusic Co., Ltd.Skill: Program/Server/Network,

and “Nomikai”

0. About me

6Copyright © Fusic Co., Ltd. All rights reserved.

Page 7: Beccoame Ver0.1

Satoshi Hirata

Company: Fusic Co., Ltd.Skill: Program/Server/Network,

and “Nomikai”Twitter: http://twitter.com/debility

0. About me

7Copyright © Fusic Co., Ltd. All rights reserved.

Page 8: Beccoame Ver0.1

Satoshi Hirata

Company: Fusic Co., Ltd.Skill: Program/Server/Network,

and “Nomikai”Twitter: http://twitter.com/debility

Icon:

0. About me

8Copyright © Fusic Co., Ltd. All rights reserved.

© Mutsuking

Page 9: Beccoame Ver0.1

1. What is “Beccoame”?

9Copyright © Fusic Co., Ltd. All rights reserved.

Page 10: Beccoame Ver0.1

Beccoame

1. What is “Beccoame”?

10Copyright © Fusic Co., Ltd. All rights reserved.

Page 11: Beccoame Ver0.1

Beccoame

≠ BEKKOAME INTERNET

1. What is “Beccoame”?

11Copyright © Fusic Co., Ltd. All rights reserved.

Page 12: Beccoame Ver0.1

Beccoame

= Bogus elastic computing,like Amazon EC2 or Eucalyptus

1. What is “Beccoame”?

12Copyright © Fusic Co., Ltd. All rights reserved.

Page 13: Beccoame Ver0.1

Beccoame

= Bogus elastic computing,like Amazon EC2 or Eucalyptus

1. What is “Beccoame”?

13Copyright © Fusic Co., Ltd. All rights reserved.

Page 14: Beccoame Ver0.1

Beccoame

= Bogus elastic computing,like Amazon EC2 or Eucalyptus

1. What is “Beccoame”?

14Copyright © Fusic Co., Ltd. All rights reserved.

important!

Page 15: Beccoame Ver0.1

2. Outline

15Copyright © Fusic Co., Ltd. All rights reserved.

Page 16: Beccoame Ver0.1

Amazon EC2

2. Outline

16Copyright © Fusic Co., Ltd. All rights reserved.

Page 17: Beccoame Ver0.1

Amazon EC2

----- quote from official site -----

2. Outline

17Copyright © Fusic Co., Ltd. All rights reserved.

Page 18: Beccoame Ver0.1

Amazon EC2

----- quote from official site -----Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.----- unquote -----

2. Outline

18Copyright © Fusic Co., Ltd. All rights reserved.

Page 19: Beccoame Ver0.1

Eucalyptus

2. Outline

19Copyright © Fusic Co., Ltd. All rights reserved.

Page 20: Beccoame Ver0.1

Eucalyptus[Elastic Utility Computing Archtecture for Linking Your Programs To Useful Systems]

2. Outline

20Copyright © Fusic Co., Ltd. All rights reserved.

Page 21: Beccoame Ver0.1

Eucalyptus[Elastic Utility Computing Archtecture for Linking Your Programs To Useful Systems]

Open source elastic computing platform.

2. Outline

21Copyright © Fusic Co., Ltd. All rights reserved.

Page 22: Beccoame Ver0.1

Eucalyptus[Elastic Utility Computing Archtecture for Linking Your Programs To Useful Systems]

Open source elastic computing platform.Eucalyptus is interface-compatible with the

Amazon Web Services (AWS).

2. Outline

22Copyright © Fusic Co., Ltd. All rights reserved.

Page 23: Beccoame Ver0.1

Beccoame

2. Outline

23Copyright © Fusic Co., Ltd. All rights reserved.

Page 24: Beccoame Ver0.1

Beccoame

“Ore-ore” elastic computing software.

2. Outline

24Copyright © Fusic Co., Ltd. All rights reserved.

Page 25: Beccoame Ver0.1

Beccoame

“Ore-ore” elastic computing software.Beccoame is a little bit compatible with Amazon EC2 or Eucalyptus.

2. Outline

25Copyright © Fusic Co., Ltd. All rights reserved.

Page 26: Beccoame Ver0.1

Beccoame

“Ore-ore” elastic computing software.Beccoame is a little bit compatible with Amazon EC2 or Eucalyptus.

2. Outline

26Copyright © Fusic Co., Ltd. All rights reserved.

Page 27: Beccoame Ver0.1

Beccoame

“Ore-ore” elastic computing software.Beccoame is a little bit compatible with Amazon EC2 or Eucalyptus.

2. Outline

27Copyright © Fusic Co., Ltd. All rights reserved.

unofficial.only for my study.

Page 28: Beccoame Ver0.1

Beccoame

“Ore-ore” elastic computing software.Beccoame is a little bit compatible with Amazon EC2 or Eucalyptus.

2. Outline

28Copyright © Fusic Co., Ltd. All rights reserved.

Page 29: Beccoame Ver0.1

Beccoame

“Ore-ore” elastic computing software.Beccoame is a little bit compatible with Amazon EC2 or Eucalyptus.

2. Outline

29Copyright © Fusic Co., Ltd. All rights reserved.

only 3 actions

= run, terminate, describe

Page 30: Beccoame Ver0.1

3. tag: Tatsumaki

30Copyright © Fusic Co., Ltd. All rights reserved.

Page 31: Beccoame Ver0.1

Tatsumaki

3. tag: Tatsumaki

31Copyright © Fusic Co., Ltd. All rights reserved.

Page 32: Beccoame Ver0.1

Tatsumaki

3. tag: Tatsumaki

32Copyright © Fusic Co., Ltd. All rights reserved.

Before that,

Page 33: Beccoame Ver0.1

PSGI/Plack

3. tag: Tatsumaki

33Copyright © Fusic Co., Ltd. All rights reserved.

Page 34: Beccoame Ver0.1

PSGI/Plack

PSGI is an interface between Perl web applications and web servers, and Plack is a Perl module and toolkit that contains PSGI middleware, helpers and adapters to web servers.

3. tag: Tatsumaki

34Copyright © Fusic Co., Ltd. All rights reserved.

Page 35: Beccoame Ver0.1

PSGI/Plack

PSGI is an interface between Perl web applications and web servers, and Plack is a Perl module and toolkit that contains PSGI middleware, helpers and adapters to web servers.

PSGI and Plack are inspired by Python's WSGI and Ruby's Rack.

3. tag: Tatsumaki

35Copyright © Fusic Co., Ltd. All rights reserved.

Page 36: Beccoame Ver0.1

Learn PSGI/Plack

reading:WEB+DB Press vol.55

3. tag: Tatsumaki

36Copyright © Fusic Co., Ltd. All rights reserved.

Page 37: Beccoame Ver0.1

Tatsumaki

3. tag: Tatsumaki

37Copyright © Fusic Co., Ltd. All rights reserved.

Page 38: Beccoame Ver0.1

Tatsumaki

----- quote from README -----

3. tag: Tatsumaki

38Copyright © Fusic Co., Ltd. All rights reserved.

Page 39: Beccoame Ver0.1

Tatsumaki

----- quote from README -----Tatsumaki is a toy port of Tornado for Perl using Plack (with non-blocking extensions) and AnyEvent.----- unquote -----

3. tag: Tatsumaki

39Copyright © Fusic Co., Ltd. All rights reserved.

Page 40: Beccoame Ver0.1

Tatsumaki

----- quote from README -----Tatsumaki is a toy port of Tornado for Perl using Plack (with non-blocking extensions) and AnyEvent.----- unquote -----

Author: Tatsuhiko Miyagawa

3. tag: Tatsumaki

40Copyright © Fusic Co., Ltd. All rights reserved.

Page 41: Beccoame Ver0.1

Tatsumaki

----- quote from README -----Tatsumaki is a toy port of Tornado for Perl using Plack (with non-blocking extensions) and AnyEvent.----- unquote -----

Author: Tatsuhiko Miyagawa

3. tag: Tatsumaki

41Copyright © Fusic Co., Ltd. All rights reserved.

# I’m very sorrry for Unauthorized borrowing.

Page 42: Beccoame Ver0.1

Tatsumaki

----- quote from README: TATSUMAKI? -----

3. tag: Tatsumaki

42Copyright © Fusic Co., Ltd. All rights reserved.

Page 43: Beccoame Ver0.1

Tatsumaki

----- quote from README: TATSUMAKI? -----Tatsumaki is a Japanese for Tornado. Also, it might sound familiar from "Tatsumaki Senpuukyaku" of Ryu from Street Fighter II if you loved the Capcomvideogame back in the day :)----- unquote -----

3. tag: Tatsumaki

43Copyright © Fusic Co., Ltd. All rights reserved.

Page 44: Beccoame Ver0.1

Tatsumaki

----- quote from README: TATSUMAKI? -----Tatsumaki is a Japanese for Tornado. Also, it might sound familiar from "Tatsumaki Senpuukyaku" of Ryu from Street Fighter II if you loved the Capcomvideogame back in the day :)----- unquote -----

3. tag: Tatsumaki

44Copyright © Fusic Co., Ltd. All rights reserved.

Page 45: Beccoame Ver0.1

3. tag: Tatsumaki

45Copyright © Fusic Co., Ltd. All rights reserved.

use strict;use warnings;

use Tatsumaki::Error;use Tatsumaki::Application;

package MainHandler;use parent qw(Tatsumaki::Handler);sub get {

my $self = shift;$self->write("Hello World.¥n”);

}

Tatsumaki usage

Page 46: Beccoame Ver0.1

3. tag: Tatsumaki

46Copyright © Fusic Co., Ltd. All rights reserved.

package main;my $app = Tatsumaki::Application->new([

'/' => 'MainHandler',]);

return $app;

Tatsumaki usage

Page 47: Beccoame Ver0.1

3. tag: Tatsumaki

47Copyright © Fusic Co., Ltd. All rights reserved.

package main;my $app = Tatsumaki::Application->new([

'/' => 'MainHandler',]);

return $app;

----- :wq -----

$

Tatsumaki usage

Page 48: Beccoame Ver0.1

3. tag: Tatsumaki

48Copyright © Fusic Co., Ltd. All rights reserved.

package main;my $app = Tatsumaki::Application->new([

'/' => 'MainHandler',]);

return $app;

----- :wq -----

$ plackup &Twiggy: Accepting connections at http://0.0.0.0:5000/

Tatsumaki usage

Page 49: Beccoame Ver0.1

3. tag: Tatsumaki

49Copyright © Fusic Co., Ltd. All rights reserved.

$ curl http://localhost:5000/Hello, World.

Tatsumaki usage

Page 50: Beccoame Ver0.1

3. tag: Tatsumaki

50Copyright © Fusic Co., Ltd. All rights reserved.

$ curl http://localhost:5000/Hello, World.

$ :-)

Tatsumaki usage

Page 51: Beccoame Ver0.1

3. tag: Tatsumaki

51Copyright © Fusic Co., Ltd. All rights reserved.

learn Tatsumaki

WEB+DB press vol.55http://github.com/miyagawa/Tatsumakihttp://d.hatena.ne.jp/punitan/20100325/1269483016http://www.omakase.org/perl/tatsumaki_niconico.html

etcetc ...(google with “Tatsumaki” and “Perl”)

Page 52: Beccoame Ver0.1

4. tag: Sys::Virt

52Copyright © Fusic Co., Ltd. All rights reserved.

Page 53: Beccoame Ver0.1

Sys::Virt

53Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 54: Beccoame Ver0.1

Sys::Virt

54Copyright © Fusic Co., Ltd. All rights reserved.

Before that,

4. tag: Sys::Virt

Page 55: Beccoame Ver0.1

KVM

55Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 56: Beccoame Ver0.1

KVM

Kernel-based Virtualization Machine.

56Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 57: Beccoame Ver0.1

KVM

Kernel-based Virtualization Machine.Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

57Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 58: Beccoame Ver0.1

libvirt

58Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 59: Beccoame Ver0.1

libvirt

A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes).

59Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 60: Beccoame Ver0.1

libvirt

A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes).

# Not only for KVM, it is for other virtualization software (Xen, ESXi, ...) .

60Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 61: Beccoame Ver0.1

Sys::Virt

61Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 62: Beccoame Ver0.1

Sys::Virt

libvirt binding for Perl

62Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 63: Beccoame Ver0.1

Sys::Virt

libvirt binding for Perl# There are other language bindings.# see: http://libvirt.org/bindings.html

63Copyright © Fusic Co., Ltd. All rights reserved.

4. tag: Sys::Virt

Page 64: Beccoame Ver0.1

64Copyright © Fusic Co., Ltd. All rights reserved.

use strict;use warnings;

use Sys::Virt;

my $addr = ‘qemu:///system’;my $vmm = Sys::Virt->new(address => $addr);

my @domains = $vmm->list_domains();

foreach my $dom (@domains) {print "Domain ", $dom->get_id, " ", $dom->get_name, "¥n";

}

Sys::Virt usage

4. tag: Sys::Virt

Page 65: Beccoame Ver0.1

65Copyright © Fusic Co., Ltd. All rights reserved.

----- :wq -----

$

Sys::Virt usage

4. tag: Sys::Virt

Page 66: Beccoame Ver0.1

66Copyright © Fusic Co., Ltd. All rights reserved.

----- :wq -----

$ perl sys_virt.plDomain 0 ubuntu-lucidDomain 1 centosDomain 2 ubuntu-carmic

Sys::Virt usage

4. tag: Sys::Virt

Page 67: Beccoame Ver0.1

67Copyright © Fusic Co., Ltd. All rights reserved.

----- :wq -----

$ perl sys_virt.plDomain 0 ubuntu-lucidDomain 1 centosDomain 2 ubuntu-carmic

$ :-)

Sys::Virt usage

4. tag: Sys::Virt

Page 68: Beccoame Ver0.1

5. demo: Beccoame

68Copyright © Fusic Co., Ltd. All rights reserved.

Page 69: Beccoame Ver0.1

Beccoame working image

69Copyright © Fusic Co., Ltd. All rights reserved.

5. demo: Beccoame

Page 70: Beccoame Ver0.1

Demo 3 actions.

1. Run Instances

70Copyright © Fusic Co., Ltd. All rights reserved.

5. demo: Beccoame

Page 71: Beccoame Ver0.1

Demo 3 actions.

1. Run Instances2. Describe Instances

71Copyright © Fusic Co., Ltd. All rights reserved.

5. demo: Beccoame

Page 72: Beccoame Ver0.1

Demo 3 actions.

1. Run Instances2. Describe Instances3. Terminate Instance

72Copyright © Fusic Co., Ltd. All rights reserved.

5. demo: Beccoame

Page 73: Beccoame Ver0.1

6. next: Beccoame

73Copyright © Fusic Co., Ltd. All rights reserved.

Page 74: Beccoame Ver0.1

・ asynchronous processing

74Copyright © Fusic Co., Ltd. All rights reserved.

6. next: Beccoame

Page 75: Beccoame Ver0.1

・ asynchronous processing・ more actions

75Copyright © Fusic Co., Ltd. All rights reserved.

6. next: Beccoame

Page 76: Beccoame Ver0.1

・ asynchronous processing・ more actions・ more compatible

76Copyright © Fusic Co., Ltd. All rights reserved.

6. next: Beccoame

Page 77: Beccoame Ver0.1

・ asynchronous processing・ more actions・ more compatible・ error handling

77Copyright © Fusic Co., Ltd. All rights reserved.

6. next: Beccoame

Page 78: Beccoame Ver0.1

7. CM

78Copyright © Fusic Co., Ltd. All rights reserved.

Page 79: Beccoame Ver0.1

Today’s presentation is on .

79Copyright © Fusic Co., Ltd. All rights reserved.

7. CM

Page 80: Beccoame Ver0.1

Today’s presentation is on .

ZENPRE(Beta):Web-based presentation applicationhttp://zenpre.net/

80Copyright © Fusic Co., Ltd. All rights reserved.

7. CM

Page 81: Beccoame Ver0.1

Today’s presentation is on .

ZENPRE(Beta):Web-based presentation applicationhttp://zenpre.net/08/02/2010 Official Release

81Copyright © Fusic Co., Ltd. All rights reserved.

7. CM

Page 82: Beccoame Ver0.1

Today’s presentation is on .

ZENPRE(Beta):Web-based presentation applicationhttp://zenpre.net/08/02/2010 Official Release

And today I use iPhone App for ZENPRE.

82Copyright © Fusic Co., Ltd. All rights reserved.

7. CM

Page 83: Beccoame Ver0.1

Enjoy!

83Copyright © Fusic Co., Ltd. All rights reserved.