wakametech #3

84
株式会社あくしゅ 1 2010/11/1 Copyright (C) axsh co., LTD.

Upload: axsh-co-ltd

Post on 10-Jun-2015

1.207 views

Category:

Technology


0 download

DESCRIPTION

Wakame Project provides open source software for building a cloud and using a cloud. If you have an interest, please join us! Twitter: @sparklegate

TRANSCRIPT

Page 1: WakameTech #3

株式会社あくしゅ

12010/11/1 Copyright (C) axsh co., LTD.

Page 2: WakameTech #3

• Wakame Projectの概況

• Wakame-osとは何か

• Wakame-osの開発状況について

– デモンストレーション

• Wakame-fuel2はどうなるか

– そしてどうすべきか

• Wakame-vdc2の開発状況について

– デモンストレーション

22010/11/1 Copyright (C) axsh co., LTD.

Page 3: WakameTech #3

Executive Summary

2010/11/1 Copyright (C) axsh co., LTD. 3

Page 4: WakameTech #3

• ソフトウェゕを供給することでクラウドに携わる全ての人のお役に立ちたい!と言うプロジェクト

– クラウドの概念はいくつもの層によって成立している

– 各層ごとに必要とされるソフトウェゕが異なる

– クラウドを実現するエッセンスになりたい

2010/11/1 Copyright (C) axsh co., LTD. 4

Page 5: WakameTech #3

Wakame

Wakame-

fuel

Wakame-

vdc

Wakameとしてリリースされているもの

Wakame

Wakame-

fuel2

Wakame-os

Wakame-

vdc2

Version up

Version up

New!

Page 6: WakameTech #3

世界中のデータセンターを1つのコンピュータにする

62010/11/1 Copyright (C) axsh co., LTD.

Page 7: WakameTech #3

Cloud

2010/11/1 Copyright (C) axsh co., LTD. 7

Infrastructure

Platform

Application

Hardware

Operating System

Application

Single PC

Page 8: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 8

Infrastructure

Platform

Application

Cloud

Wakame-fuel

Wakame-os

Wakame-vdc

Wakame Project

Page 9: WakameTech #3

• Eucalyptus/OpenStackなどと異なるのは、IaaSのみに限定せず、上位層(PaaS)で使われるプロダクトもリリースをしていく点

– すでにIaaS層をお持ちの企業様にもご利用いただけるプロダクト構成を目指す

– PaaSの視点からIaaSに手を加える

2010/11/1 Copyright (C) axsh co., LTD. 9

Page 10: WakameTech #3

実は進化しつづけていた

2010/11/1 Copyright (C) axsh co., LTD. 10

Page 11: WakameTech #3

• vdcはシンプルさを全面に出していた

• 標準機能

– ンスタンスの起動~終了

• データセンタ内物理サーバの割り当て

• ユーザごとのレンタル時間の計測

– Web API搭載

• ActiveResourceとしてゕクセス可能

2010/11/1 Copyright (C) axsh co., LTD. 11

Page 12: WakameTech #3

• Xenの他、KVMに対応– Xenよりも最新のH/W対応が早い利点があります。– どちらと言わず混ぜても良いでしょう。

• iSCSI対応のブロックストレージを組み込み可能に– 標準でZFSに対応しています。– ブロックストレージからブートできます。– お客様の専有ストレージもセットゕップ可能です。

• セキュリテゖグループの実装– vdcではNICをGlobal/Localで分ける提案をしましたが、

vdc2の本機能によりNICを分ける必要はほぼなくなります。

• GUIを標準装備– とてもAmazonチック– デザン協力: The Designium (TheDesignium.com)

Page 13: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 13

どんな仕掛けを実装したかは懇親会で!

Page 14: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 14

1. GUIのご紹介

2. ンスタンスが起動!

– ZFSによるブロックデバスからのブート

– KVMによるンスタンス化

3. ブロックデバスを作ったり消したり!

4. セキュリテゖグループを設定!

– 論理的に3階層以上の構成が組めます

Page 15: WakameTech #3

またOSだとか言うヤツが現れたわけで

2010/11/1 Copyright (C) axsh co., LTD. 15

Page 16: WakameTech #3

• Cluster level Infrastructureの為のOS– 和訳… クラスタレベル基盤

• ゕプリケーション開発者にメリットがある– 初歩的な並列プログラミングレベルでも

処理効果だけを大きく改善できる– Webなどの分散システムの管理に利用できる

• シングルコンピュータ用のOSは既にある– Linux, FreeBSD, Mac OS X, Windows ...

162010/11/1 Copyright (C) axsh co., LTD.

Page 17: WakameTech #3

つきつめて言えば、私たちはこれらのサービスをデータセンターのオペレーテゖングシステムとしてとらえている。

引用:

「Googleクラウドの核心」第2章より

172010/11/1 Copyright (C) axsh co., LTD.

Page 18: WakameTech #3

例としては、(中略)

Hadoop`、(中略)、BigTableなどがある

引用:

「Googleクラウドの核心」第2章より

182010/11/1 Copyright (C) axsh co., LTD.

Page 19: WakameTech #3

19

疑問:もっと汎用的な何かではないのか?

2010/11/1 Copyright (C) axsh co., LTD.

Page 20: WakameTech #3

20

オペレーテゖングシステム (Operating System, OS) は、コンピュータにおいて、ハードウェゕを抽象化したンターフェースをゕプリケーションソフトウェゕに提供するソフトウェゕであり、システムソフトウェゕの一種である。マスコミ等は日本語訳として「基本ソフト」を使っている。なお、OSのGUIフロントエンドであるデスクトップ環境についても触れる。広義のOSには、ウゖンドウシステムやデータベース管理システム (DBMS) などのミドルウェゕ、フゔル管理ソフトウェゕやエデゖタや各種設定ツールなどのユーテゖリテゖ(これらはいずれも基本ソフトウェゕ)、基本的なゕプリケーションソフトウェゕ(ウェブブラウザや時計などのゕクセサリ)を含むことがある。一般的に「オペレーテゖングシステム」という場合はこちらを指すことが多い。現在に至る統合環境と平易なユーザンタフェースを意識する傾向は、Mac OSやMicrosoft Windowsの登場で鮮明となった。このため、Mac OS

以降の近年のOSとMS-DOSなどの初期のOSは分けて扱われることが多い。OSの中で、ハードウェゕを直接管理操作するなどの最も中心的な機能の部分を、特にカーネルと呼んで分けることもある。この場合、カーネル以外の部分(シェルなど)はユーザーランドと呼ばれる。また、カーネルとユーザーランドではCPUモードやゕドレス空間が異なっている。

「Wikipedia: オペレーテゖングシステム」より

2010/11/1 Copyright (C) axsh co., LTD.

Page 21: WakameTech #3

21

…Wakame-kernelって言う方が正しいかも

2010/11/1 Copyright (C) axsh co., LTD.

Page 22: WakameTech #3

• OS上で動作するゕプリケーション共通の処理を受け持つ

– 操作感(GUI)

– ハードウェゕの差異を吸収する

– コンピュータ上のリソースを管理する

• CPU, Memory, File等

222010/11/1 Copyright (C) axsh co., LTD.

Page 23: WakameTech #3

• OS上で動作するゕプリケーション共通の処理を受け持つ

– 操作感(GUI)

– クラスタの差異を吸収する

– クラスタ上のリソースを管理する

• Server, KVS/DB, Storage等→ここでHadoopとか出てくるのでは

232010/11/1 Copyright (C) axsh co., LTD.

Page 24: WakameTech #3

• オフランの処理

– Batchを含む分散処理のこと

– 例) PIの計算、大量の帳票系処理

• オンランの処理

– Webシステムを含む分散処理のこと

– 例) Blog, SNS, Mailer, 社内業務システム

242010/11/1 Copyright (C) axsh co., LTD.

Page 25: WakameTech #3

Hardware Software

252010/11/1 Copyright (C) axsh co., LTD.

Page 26: WakameTech #3

Network Hardware Network Software

262010/11/1 Copyright (C) axsh co., LTD.

Page 27: WakameTech #3

1. 電子回路が、ネットワークになっただけ

2. H/Wに対するコードを書くのは大変だったのだからネットワークH/Wに対するコードを書くのも大変

3. 次に必要になるのはそれらH/W差異を吸収するOS

あとはOSに対するコードを書けば良いだけ

272010/11/1 Copyright (C) axsh co., LTD.

Page 28: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 28

Page 29: WakameTech #3

世界中のデータセンターを1つのコンピュータにする

292010/11/1 Copyright (C) axsh co., LTD.

Page 30: WakameTech #3

• プロセッサ(仮想マシン系)

– Xen, KVM, VMware, Hyper-V ...

• メモリ(KVS/DB系)

– memcached, Cassandra, MongoDB ...

• ストレージ(FS系)

– ZFS, NFS, LVM ...

• 演算ユニット

– Hadoop ...

30

Wakame-osはこうしたものをコンピュータ資源やデバスととらえてゕプリケーションへ機能提供する

2010/11/1 Copyright (C) axsh co., LTD.

Page 31: WakameTech #3

• 実際はOSの上に直接ゕプリケーションを書き始める人は少ない

– 目的に対して低レベル過ぎる

– OSの機能を活かせるフレームワークが必要

• Windows上のMFCやDirectX等

• Wakame-os上ではWakame-fuel2がその1つに

312010/11/1 Copyright (C) axsh co., LTD.

Page 32: WakameTech #3

• 仮想マシン

– fork(3), Process.new

• メモリ

– malloc(3), Hash.new

• ストレージ

– ?

• 演算ユニット

– libc MMX optimization

32

Wakame-osはこれまでの作法を重視しゕナロジー・メタフゔーとした設計でゕプリケーションへ機能提供する

2010/11/1 Copyright (C) axsh co., LTD.

Page 33: WakameTech #3

• Wakame-fuel2は…

– 世界のiDCで動くゕプリケーションを集中管理可能にする

• Wakame-osは…

– 世界のiDCを1つのiDCとして管理可能にする

• Wakame-vdc2は…

– 世界のiDCの1つとして自らを参加可能にする

332010/11/1 Copyright (C) axsh co., LTD.

Page 34: WakameTech #3

Wakame-vdc2

Wakame-fuel2

Wakame-os

2010/11/1 Copyright (C) axsh co., LTD. 34

Cloud-A Cloud-B

Cluster Level Infrastructure

Operating System

Application

User Wikipedia:

Page 35: WakameTech #3

世界中のデータセンターが1つのコンピュータになる

35

(そんな気がしたらぜひご参加を)

2010/11/1 Copyright (C) axsh co., LTD.

ほら、

Page 36: WakameTech #3

36

ちょっと待った。

ここで一寸歴史を振り返ります。

2010/11/1 Copyright (C) axsh co., LTD.

Page 37: WakameTech #3

37

MS-DOS

win

2010/11/1 Copyright (C) axsh co., LTD.

Page 38: WakameTech #3

38

Linux kernel

Wakame-os

2010/11/1 Copyright (C) axsh co., LTD.

Page 39: WakameTech #3

39

Windows 95 Linux kernel

Wakame-os

いつか必ず実現します

統合

2010/11/1 Copyright (C) axsh co., LTD.

Page 40: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 40

Page 41: WakameTech #3

• 開発者や運用者なら誰にでもスケールゕウトが当たり前のゕプリケーションを設計・製造・管理することができる

• プログラミングの作法を大きく変えずに効果だけを大きく変えられる

412010/11/1 Copyright (C) axsh co., LTD.

設計方針

Page 42: WakameTech #3

Kernel

Process

Network

Kernel

Network

ProcessMS Office Web System

Windows Wakame

2010/11/1 42Copyright (C) axsh co., LTD.

Page 43: WakameTech #3

Notepad

影響させようとしない限り

Calc

Windows

2010/11/1 43Copyright (C) axsh co., LTD.

Page 44: WakameTech #3

Process libc Kernel

System

Call

Network

Processlibwakame

Network

Kernel

System

Call

require

link

2010/11/1 44Copyright (C) axsh co., LTD.

Page 45: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 45

Server-2 (CPU-2)

Server-1 (CPU-1)

Ruby

Process

Ruby

Process

Server-1 (CPU-1)

Ruby

Process

Ruby

Process

クラスタコンピュータ用OS(Kernel)の場合

単一コンピュータ用OS(Kernel)の場合

Server-2 (CPU-2)

OS

Wakame-os

exec

fork

etc...

exec

fork

etc...

近傍のマシンとは何ら関係もない

Page 46: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 46

Process.fork {

print “Hello world!¥n”

}

wakame.fork {

print “Hello world!¥n”

}

Server-1 (CPU-1)

Ruby

Process

Ruby

Process

Server-2 (CPU-2)

OSexec

fork

etc...

Server-2 (CPU-2)Server-1 (CPU-1)

Ruby

Process

Ruby

Process

Wakame-osexec

fork

etc...

Page 47: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 47

$ psPID TTY TIME CMD2790 pts/5 00:00:00 ruby

32442 pts/5 00:00:00 ruby

$wpsI_NAME JOB STIME

PH:327c3ad1c3c EXEC 2010-09-09PH:21dcd2839b5 EXEC 2010-09-09

Server-1 (CPU-1)

Ruby

Process

Ruby

Process

Server-2 (CPU-2)

OSps

Server-2 (CPU-2)Server-1 (CPU-1)

Ruby

Process

Ruby

Process

Wakame-osps

Page 48: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 48

$ kill 32442

$ wkill PH:21dcd2839b5

Server-1 (CPU-1)

Ruby

Process

Ruby

Process

Server-2 (CPU-2)

OSkill

Server-2 (CPU-2)Server-1 (CPU-1)

Ruby

Process

Ruby

Process

Wakame-oskill

Page 49: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 49

1. サーバの起動・終了させてみよう

2. ハブリッドクラウドの実現してみよう

3. fork/ps/killの動作確認をしてみよう

4. バッチ処理の分散をしてみよう(PIの計算)

5. Webゕプリケーションを分散してみよう

(LB+Apache)

Page 50: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 50

Page 51: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 51

require 'socket'

tcp_server = TCPServer.open(8000)

loop do

socket = tcp_server.accept

Process.fork do

while socket.gets

socket.write($_)

end

socket.close

end

end

...(略)...

Wakame.fork(socket) do |socket|

while socket.gets

socket.write($_)

end

socket.close

end...(略)...

※こいつの実現は課題も多い

ハスケールなエコーサーバーを手軽に

Page 52: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 52

現在のhttpd.confより:

MinSpareServers 5

MaxSpareServers 10

StartServers 5

MaxClients 150

MaxRequestsPerChild 0

Kernelに統合されれば、Apache (prefork)の設定フゔルの意味も大きく変わるのではないか。

Linux kernel

Wakame-os

Apachefork

MinWakameSpareServers 5

MaxWakameSpareServers 10

Page 53: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 53

プロダクトそのものがスケーラビリテゖを持つようになるはず

Page 54: WakameTech #3

• Wakame-osにKernel的発想の機能が十分追加されている

• Wakame-fuel2が活用されている

– 分散ゕプリケーションのための便利な管理ツールとして

• Wakame-osがLinuxへ組み込まれている

– C/C++で実装しなおされた版か… (GCD?)

– or Rubyの現行版へのドラバを書くとか…

• Distribution標準の機能になっている

2010/11/1 Copyright (C) axsh co., LTD. 54

Page 55: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 55

$ apt-get install gmail

Webシステムそのものをクラスタ上にンストールすることができるようになる。

Page 56: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 56

Page 57: WakameTech #3

• Ruby

– 基本的に全てRubyで書かれている

• RabbitMQ (AMQP)

– ノード間の通信は全てAMQPを経由する

2010/11/1 Copyright (C) axsh co., LTD. 57

Page 58: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 58

AMQP

CLIOS

Application

Cluster Level Infrastructure Operating System

AMQPネットワーク

ゕプリケーション・クラゕント

Hybrid

Cloud

ハブリッドクラウド(AWS, Wakame-vdc2等のIaaS型クラウド)

Page 59: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 59

CLIOS

Hybrid

Cloud

AMQP

Wakame-vdc2

NiftyCloud

AWS(US)

Application ンスタンスの論理名カタログ

“AWS-US”•AWS(US)

•us-east-1a•認証情報あれこれ

•Instance Type

•AMI•課金サクル等

“Nifty”•NiftyCloud•東京•認証情報あれこれ

•Instance Type•課金サクル等

“Wakame”•Wakame-vdc2•地方iDC

•認証情報あれこれ

•Instance Type

•WMI

“Wakame”のンスタンスが欲しい

Page 60: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 60

AMQP

CLIOS

Application

Hybrid

Cloud

Instance

(3)ンスタンスの起動

Agent

(4)ンスタンス上にAgentが起動

(5)実行コードの転送

Application (6) コード実行

(1)

ンス

タン

スの

要求

(2)ク

ラウ

ドの

選択

Page 61: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 61

AMQP

CLIOS

Application

Hybrid

Cloud

Instance

Agent

(1)実行コードの転送

Application (2) コード実行

仕事がゕサンできるンスタンスが存在していればそれを再利用する。

Page 62: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 62

AMQP

CLIOS

Hybrid

Cloud

Instance

Agent

(2)削除

(1)ンスタンスのラフサクルを管理

どのンスタンスが起動中か?どのンスタンスが仕事中か?どのンスタンスを削除すべきか?

(3)ンスタンスの削除

ゕプリケーションの要求が無くなり、仕事をしないンスタンスは次の課金時間を迎える直前に削除される。

Application

Page 63: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 63

思っていたより単純な仕組みです。

Page 64: WakameTech #3

Future Works:

2010/11/1 Copyright (C) axsh co., LTD. 64

Page 65: WakameTech #3

• forkもプロセスの管理で実現できる

• 同じプロセスの管理ならば、fuel2もそのままの発想で実現できそう

• しかも、あたかも1台のPCであるかのように管理できてしまうかも

2010/11/1 Copyright (C) axsh co., LTD. 65

Page 66: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 66

開発環境なんかは、1台のマシンに全てのプロセスを詰め込みます。

$ psPID TTY TIME CMD2614 pts/5 00:00:00 pound2790 pts/5 00:00:00 apache3482 pts/5 00:00:00 memcached

32442 pts/5 00:00:00 mysql

このレベルの管理で良い。本番に比べれば楽なもの。

Page 67: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 67

$ ssh ...$ /etc/init.d/...

$ ssh ...$ /etc/init.d/...

$ ssh ...$ /etc/init.d/...

サーバの分散を強く意識する必要がある

Page 68: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 68

世界中のデータセンターを1つのコンピュータにする

Refrain:

Page 69: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 69

本番環境だって、あたかも1台のマシンに全てのプロセスを詰め込んだ感じに。

$ wpsI_NAME STIME CMD

PH:327c3ad1c3c 2010-09-09 poundPH:21dcd2839b5 2010-09-09 apachePH:498cfa13bac 2010-09-09 memcachedPH:9cedf2ab2ae 2010-09-09 mysql

$ apachectl restart

プロセスを管理するかのように分散システムを管理したい

Page 70: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 70

そうなると、1台のマシンの上に、プロセスを起動していくinit.dみたいなものが欲しくなる。

しかし、非同期プロセスとしてもっと秩序良くサービスを起動したりするものを参考にした設計としたい…

それって何だろうか。

Page 71: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 71

Upstart

起動トリガ

Application

(Pound) Application

(Apache)

Application(memcached)

Application

(MySQL)

MySQLとmemcachedが起動したら教えてください。Apacheを起動させますので。

Apacheが起動したら教えてください。Poundを起動させますので。

起動トリガが呼ばれたら教えてください。

memcachedを起動させますので。

起動トリガが呼ばれたら教えてください。MySQLを起動させますので。

各ミドルウェゕが興味のあるベントを宣言。それが発生した時に、行動を起こす仕組み。

Page 72: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 72

AMQP

Application

(Pound) Application

(Apache)

Application(memcached)

Application

(MySQL)

Pound.new {event(:start_apache) { |apaches|

# append apache as child.start

}}.confirm

Apache.new {event(:start_memcached, :start_mysql) {

start}

}.confirm

Memcached.new.start

MySQL.new.start

※まだ設計中の段階です。

Page 73: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 73

Wakame-fuel2は、Wakame-osの上で動くInit Daemonです。

Page 74: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 74

プロダクトそのものがスケーラビリテゖを持つようになるはず

Refrain:

Page 75: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 75

$ /etc/init.d/httpd start

$ /etc/init.d/httpd scale 100

$ /etc/init.d/httpd scale 1

Page 76: WakameTech #3

これまでのfuel

• Master/Agent構成

– スター型トポロジ

– Masterにンテリジェンス

– Agentは指示待ち

• 手順実行エンジン– フレームワークの上に手順

を作り込む

これからのfuel

• Agent自律構成– ピゕ型トポロジ

– Masterは存在しない

– Agentが自力で行動する

• ベントネットワーク– fuelとは独立したスクリプ

トで手順が書ける

– 手順はベントの受発信を行うのみ

– OSの機能をそのまま利用するため、ハブリッドクラウド前提で手順が書ける

2010/11/1 Copyright (C) axsh co., LTD. 76

Page 77: WakameTech #3

開発を継続するにあたって

2010/11/1 Copyright (C) axsh co., LTD. 77

Page 78: WakameTech #3

• クラウドの発展を支える本ソフトウェゕの技術的発展とビジネスへの活用推進を目的とした任意団体

• 現在任意団体であり、弊社株式会社あくしゅが運営を努めておりますが、今後は運営中立性を高めるためにNPOへの移行を目指す

2010/11/1 Copyright (C) axsh co., LTD. 78

Page 79: WakameTech #3

• コードコミット

– 進捗報告・新機能報告

– 会員要望を優先することができます

– Wakame標準機能としてリリースされます

• ノウハウの共有

• 開発ロードマップ策定

– コメントが可能です

2010/11/1 Copyright (C) axsh co., LTD. 79

Page 80: WakameTech #3

• Wakame Software FoundationではApache License version 2.0を採用します

• Value-addして独自にビジネス展開していただくことが可能です

2010/11/1 Copyright (C) axsh co., LTD. 80

Page 81: WakameTech #3

• Wakame Software Foundation会員

– 2010年中のご入会であれば、将来も無料です。

• Source Code Author

– コントリビュートをお待ちしております。

2010/11/1 Copyright (C) axsh co., LTD. 81

Page 82: WakameTech #3

2010/11/1 Copyright (C) axsh co., LTD. 82

割と本気で世界に通用するソフトウェゕを目指しています

Page 83: WakameTech #3

83

『世界のクラウドソリューションへ!』

Page 84: WakameTech #3

axsh co., LTD.

84

2010年は絞り出す年だよ!