イノベーションの風に吹かれて

山下技術開発事務所 (YAMASHITA Technology & Engineering Office, LLC)

Infrastructure as Code

Infrastructure as CodeはOpenStack Heatなどのクラウドオーケストレーションの環境より柔軟に変化に対応できるコードベースの環境を提供します。2010年頃からクラウド上で複数のサーバーから成るアプリケーションシステム全体を一つのシステムとしてプロビジョニングする技術として登場したのがOpenStack Heatなどのクラウドオーケストレーション技術です。OASIS TOSCA (Topology and Orchestration Specification for Cloud Applications)はクラウドオーケストレーションの仮想アプリケーションパターン標準定義機能です。TOSCAではアーティファクトというサーバーやOSなどの実体定義とアプリケーションサービスのモデルを定義するアプリケーション・アーキテクトをサービステンプレート上で統合します。HeatテンプレートやTOSCAテンプレートの開発には企業レベルでの標準化活動が必要でとても困難な努力が必要でした。また、高速に変化するオープンソースの取り込みや外部のインターフェースを呼び出すというような処理トポロジーの変化に追従するたびに新しいテンプレートを開発していたのでは、結局標準化が進まないという面もありました。こうした課題を軽量化したスクリプトで解決したのがInfrastructure as Codeです。ハードウェア、OS、ミドルウェア、DB等のバックエンドサービス、ライブラリ、処理トポロジー、アプリケーションテンプレートなど多岐にわたる標準化項目を軽量化し、最低限のOS、ミドルウェア、システム管理モジュールを共通のプロビジョニングライブラリとして準備し、その上にアプリケーション毎にスタックされるライブラリ、アプリケーション、処理トポロジーを導入構成管理スクリプトでひとまとめにしてアプリケーションと同様にgitやchefの構成管理レポジトリーで管理する考え方です。一つの実行環境が依存関係を含めてパッケージングされ、スクリプトとして管理される環境になります。内部的に接続関係などの管理にHeatテンプレートも活用できます。Infrastructure as CodeではOSの導入からブートまでをブートストラップといいます。その後、ミドルウェアやライブラリの導入と設定、運用やセキュリティツールの設定などがプログラムのように管理されます。こうすることでアプリケーションのリリースごとに必要なモジュール、トポロジーがソフトウェアとして管理することができるようになります。さらにパッケージは環境への依存性を極力少なく設計されるため、複数のクラウド環境で実行することができます。

一旦Infrastructure as Codeでインスタンス化されたサーバーは、その後管理者による手作業の変更作業を受け付けません。冪等性を持っているパッケージは変更部分だけを実行できるので変更作業はパッケージに対して行って走らせるだけで目的とした状態に変更されます。また、こうしてメンテナンスされたパッケージはサーバーを他のクラウドに一時的に退避したり、突然のトランザクションの増加に対応したりする場合に常に最新の状態のサーバーの複製を作ることができるという利点をもたらします。クラウドサービスでありがちなメンテナンスのための突然の停止や共有インフラのパッチ修正作業などでサービスを停止しない工夫が可能になります。

Infrastructure as Codeが構成管理ツールであって自動化ツールでは無いと言われるのはこのような特性によるものです。インスタンスの作成の省力化だけではなく、スケールしたサーバーのメンテナンス、構成管理という運用全体の問題として捉える必要があります。また、Infrastructure as Codeは基本的にブートストラップ(OSインスタンスを作るプロビジョニングの第一段階)からクラウドによるソフトウェア制御が前提と考えるべきです。オンプレミスのサーバー環境やプライベートクラウド環境ではよほど大規模でサイト分散ができていない限り本格的なメリットは得られません。さらに、インスタンス作成の省力化効果で費用対効果を算出するのはナンセンスです。構成管理のミスを減らし、運用品質をあげることがサービスの継続性を高めるということや、アプリケーションと歩調を合わせて非機能要件を改善したリリースを継続できるという費用算定できないメリットを手に入れます。こうしたことは運用管理の現場を理解していない上層部には肌感覚で理解できないため、費用対効果を求められ導入が進まないという面があります。運用の現場にツール採用の判断が委譲されていることがDevOpsを推進していく鍵となります。

言語(CODE)と認知(Cognitive)

f:id:mash-kyam:20170628173035j:plain

テッド・チャン原作「あなたの人生の物語」の映画 メッセージ(原題ARRIVAL)をみてきました。映画を見てから原作を読み直してみたりして、なかなかいい映画だったなと思いました。映画だからドラマにしなくちゃいけないところも、上手に見せてくれました。原作で面白かったのは「光は空気中から水中に進む間に屈折して進むが、光にとってその屈折した経路が最短時間で目的に到達できる経路である。光は進み始めた時にはすでに到達すべき点と経路を知っている=未来がわかってる」という話です。実際は光は波動だから曲がってしまうのであって未来がわかってるわけじゃないんですけど、そんな物理的な現象と時制を扱う言語をからめてお話を作り出せるって本当に天才なんですね。

この言語を題材にした映画を見て、Future Society 22でSYGMAXYZの柴沼さんとの対談や東大の江崎先生と話してきた「コード化する未来」について、言語と認知いう側面から考えることができたので書いてみます。

Future Society 22でのブログ記事はここ↓

http://www.future-society22.org/blog/d5c9b7b159a

 

まず、考えたのは言語は思考を支配できるのかということです。物語は言語をめぐる謎解きが中心なのですが、時制を超越した言語が未来を予想する認知能力をもたらします。この映画では言語が認知をもたらしている世界を描いています。

 

私たちにとって言葉と認知はどういう関係にあるのでしょうか。ユヴァル・ノア・ハラリのサピエンス全史では人類の発展過程を1.認知革命→2.農業革命→3.科学革命と考えて、そもそも人類は認知革命によってものを考えてそれを伝える技術によって生物の進化をはるかに超える進化の速度を獲得したのだと言います。知恵や行動を言葉にして表し、伝達する能力です。旧世代の大型動物が進化によって獲得できる能力よりも狩をする側の知恵の伝搬速度があまりに大きすぎることが、大型生物の殺戮につながりました。江崎先生のインターネット・バイ・デザインではジャレドダイヤモンドの銃・病原菌・鉄に触れられていますが、そこでは文明の発展過程を1.農耕・家畜→2.工場・物流→3.インターネット・コンピューターというように考え「物」という物理財産からその設計や制御を行う「コード」という知的財産へ価値が劇的に移行する、と言いました。インターネットによる開放型システムへの改革によってコードの重要性を見ることができます。このことから、人類文明は認知した知見を言語=コードとして拡散することで発展したということがわかります。インターネットが広く平等に拡散する能力をもたらしたことで、ソフトウェアが爆発的な発展を遂げたのも納得できると思います。

 

未来学者のアルビン・トフラーはかつて、「人間の妄想そのものがソフトウエアの力によって広がっていく」という趣旨のことを言っていました。国家の仕組みや行政のソフトウェア化が進んでいるなかで、社会における規則や法律、普遍的な習慣である倫理もコード化できる可能性があります。江崎先生は「データは誰のものであるか」という問いに「自分のデータは病院でも医者でもなく自分のものである」と喝破しました。ローレンス・レッシグは2007年 CODE2.0でインターネットの通信網の上にアイデンティティのネットワークが構築されると予想しましたが、個人をアイデンティファイできる個人認証の仕組みこそが行政の要である戸籍であると考えて、その上で社会のソフトウェア化という仕組みを考える必要性を強く感じます。ソフトウェアが世界を覆い、CODEが社会を構成するようになった社会では明文化できるコンピューターで処理できる形になったあらゆる規範がCODEとして流通するようになります。それは今も続く認知革命の媒体の変化です。大量で高精細なCODE化された情報と言語が人工知能による認知の能力を高めていくのだと思いますが、その人工知能の認知を制御できるのもまた人工知能の助けが必要なのだと思います。

 

人間としての認知や判断は言語によるか、ということを考えさせられるのはノーベル経済学賞を受賞したダニエル・カーネマン先生のファースト&スローです。人間の判断システムは二つあり、狩猟民族時代から身についた直感的判断を行うシステム①と文明以降人が編み出した論理的思考を行うシステム②で構成されているとしています。せっかちで誤りをおこしやすいシステム①となかなか起動せず怠惰であるけど論理的なシステム②を動員して人間は判断をしているようです。システム①が反射的に下した判断を反芻し言い訳を考えて理屈を作り出すことで言語化しているという面があります。つまり、そういう時の判断は言葉によって行われないで、認知が先にあってあとから言葉というもので辻褄を合わせているのだと思われます。つまり人は考えて行動するのではなく、行動してしまってから言葉で考えているようです。そういう意味で言葉が認知を制御するということはとても難しいと感じられます。人は言葉に支配されない認知を有する以上ジェームス・バラットの言うような人工知能が人間の支配を超えて文明を破壊するということは起こらないと信じたい。

 

人間が行う判断を社会学的な外部とのインターフェースで解析したファースト&スローですが、人間の脳細胞を模写していく内部的な取り組みにも成果があることが期待されます。IBM SYNAPSやTrue Northというコンピューターチップは脳細胞の動きを模倣することで、高効率な判断システムを実装しようとする取り組みです。内部的にはNVRAMを中心としたメモリー中心型のリフレッシュクロックのないプロセッサーアーキテクチャーをとっていて極低電力動作が期待されますが、脳の全てを模倣できるわけではありません。また、畳込み層を持ったニューラルネットで構成される人工知能は、大量のデータを分類蓄積して判断を行うため内部がブラックボックス化しやすく(本当にブラックボックスなわけではなくて人間の認知限界を超えたデータ量があるということだと思うけど)、CODEによる判断が認知できないというジレンマを抱えることになっています。4K/8Kというような映像技術によってデータ化された動画からは、人間には見えない点から写っている対象物を理解することができると言います。経済産業省産業構造審議会でYahooの安宅和人氏は「シン・ニホン AI ×データ時代における日本の再生と人材育成」のなかで、これからのシステムは「これまでとはケタ違いにメッシュの細かいユーザー理解に基づいた価値を提供する」と指摘しています。

http://www.meti.go.jp/committee/sankoushin/shin_sangyoukouzou/pdf/013_06_00.pdf

 

このように考えてみると、CODE中心の流通量が爆発的に増え情報処理量が増大していくことに対してまだ情報科学は追いついていないところがあるように感じます。先に述べましたが映像解析技術は高度化するのだろうと思いますが、人間の可視光線を超えた周波数や温度などの情報をどう学習していくのか、というようなことを考えると学習にかかる労力と費用は莫大であるし、実用的な速度やスループットというような技術的な課題も山積しています。今、この分野で研究開発を行うことはこれからのCODE中心の世界に開拓をもたらすのではないかと考えています。

スキルを外部に発信すること(外部講演など)

このブログでは企業に勤務しているITエンジニアの働き方やスキルの活かし方というような視点で、会社で働くだけではない「働き方改革」に迫っていきたと思います。

f:id:mash-kyam:20170626111628j:plain

政府は「働き方改革」として正社員の副業や兼業を後押しするとしています。サイドワーク的な副業だけではなく複数の触手を兼務する複業にも注目が当たっています。企業が就業規則を定める際に参考にする「モデル就業規則」から副業・兼業禁止規定をなくし 「原則禁止」から「原則容認」に転換するということも複業を推進しているように思われます。サイボウズなどの先進IT企業では「会社の資産を毀損しない限り報告も不要」としている。

ITエンジニアにとっ て、多様な価値観を得ることができる機会が増えることはとても重要だと思います。外部活動としての執筆やセミナー講師、コミュニティにおける仕事など、外部の技術に触れる機会も多くなり、協働するコミュニティにおける個人の スキルや価値の変化も期待できます。会社にとっては会社に依存した存在である社員エンジニアが兼業をすることで独立したプロ フェッショナルとなって、時間的な生産性に敏感になり本業の生産性が向上、スケジュールなどサービス品質の向上が見込めるのではないでしょうか。

 

IBMのテクニカルコミュニティであるTEC-Jでは、外部にあるコミュニティや学校、大学に自分たちのスキルを活かした支援を行ってきています。

2016年度は日本全国のたくさんの大学に、イノベーション、セキュリティ、ビッグデータ、ネットワーク技術、建築技術などの講義を行いました。2017年のスプリングローラムでは、16名の大学講義を担当したTEC-JメンバーをUniversity Relation貢献賞を授与しました。

 

TEC-Jプレジデントの私も富山県立大学の公開連続セミナーにおいて「消費と生産をつなぐサイバーフィジカルの二つのループ」という講義を行いました。日本情報処理学会で行った講義をご評価いただいて、この連続セミナーに登壇されている東京大学大学院 情報理工学系研究科の江崎浩教授のご推薦をお受けしたのがきっかけです。これまで、プロフェッショナル向けに話して来た内容を大学および一般市民のみなさんにわかりやすくお伝えするにはどうするか、という点で周到に準備をしました。

IoTやIndustrie4.0などで激変する製造業へのデジタル技術の広がりが生産システムとデジタルのデマンド・プルシステムを融合して行くCPS(サイバーフィジカルシステム)の成立について大学院生と地域から参加されたみなさんにお伝えしましたが、わかりやすい身近な事例を引きながら解説したので、だれも睡眠に引き込むことなく終えることができました。会場からも質問をいただいて活発な講演になったのが印象的でした。

学生や一般市民の皆さんにはバズワードになりやすいIoTやAIなどの技術について理解を深めるのは難しいです。最新の研究や現場での取り組みよりもマスコミやネットの浅く偏った情報で理解するしかないからです。現場での取り組みや最新の研究をわかりやすく伝えることができて、本当によかったと思います。

この講義の後に、TEC-Jでは江崎先生を招いて招待講演をいただきました。その招待講演の企画を行うにあたり、このときのCPSのデジタル優勢な概念が江崎先生の提唱する「インターネット・バイ・デザイン」によるシステムの将来像となるだろうという意義深い議論をさせていただくことができました。その議論は江崎先生が「サイバーファースト」という書籍にまとめられています。日本を代表する知の巨人に影響を与えることができて、とても素晴らしい体験となりました。

f:id:mash-kyam:20170626112255p:plain

(サイバーファースト デジタルとリアルの逆転経済 (#xtech-books(NextPublishing))  江﨑 浩 http://amzn.asia/hONgoQz

 

もう一つ、10年来続けてきたIBMユーザー研究会対象の「論文書き方セミナー」をTEC-J/AoT公開講座として開催しました。IBMのユーザー企業の皆様にはいつも好評をいただいているのですが、枠を外して見たらどうだろうかと試して見たくなったのがきっかけです。第一部は私が「論文書き方セミナー」で論文を書く意義や実践的な論文の執筆ガイドを行い、第二部は楽天株式会社吉岡弘隆さんから名著「理科系の作文作法」の解説をいただくセミナーを行いました。

f:id:mash-kyam:20170626112329j:plain

外部のコミュニティでの告知や集客、コンテンツの打ち合わせなどFacebookを中心としたコミュニティでの運営がとても楽しくやらせていただきました。資料公開もとても好評で、自分がやってきたことが認めてもらえたようでとても嬉しく思います。

 

www.slideshare.net

AWSの元エンタープライズエバンジェリストの渥美俊英さんは参加されて、こんな意見を公開してくれました。

「いつか技術作文で論文を」論文とありますが、何かに貢献する自分の考えを文章化する場合の重要なポイントを聞けました。IBMという会社の底の深さを感じます。後半は「理科系の作文技術」1981年初版から30年以上たっても価値ある内容。理科系とありますが論理的な文章を書くための必読書、即ポチリ。続く懇親会では外では聞けない業界話題など。あわせて知的興奮を覚える一晩でした。山下さん、吉岡さん、関係ご各位、ありがとうございました。」

また、一緒に講義を担当してくださいました伝説のエンジニア、楽天の吉岡弘隆さんにも、「理科系の作文技術」をネタにヨタ話をさせていただいたのだけど、パラグラフを意識して書くとかトピックセンテンスをパラグラフの第一文に置くとかのテクニックを共有できてよかったです。会社内の技術コミュニティでエンジニア向けに論文の書き方セミナーをして100人を超える人が集まるというのもすごいし、エンジニアを育てようという山下さんのような人がいっぱいいるという会社もすごい。IBM Systems Journalを筆頭に論文誌を持っているのも技術の会社としてはすごいと再認識した次第です。」というコメントをいただきました。

 

こんな活動を通じて、IBMという企業内で閉じがちなテクニカルコミュニティを外部コミュニティでの活動を通じて広げて行くことができたらいいと実感できています。

かつて仕事の選択は大まかだった

DENSOの成迫さんに誘われて「AI/アナリティクス/IoT関連就活支援白熱塾」に参加することになったのですが、そこでは話さないだろうことを書いておきたくなりました。

 

かつて私たちの進路の選択は単純で職業の選択は大まかでした。私の選択はエンジニアでしたが、機械でも制御でも情報でも生きていければなんでもよかった。今の若い人たちはAIとかアナリティクスとか細分化したものを選択しなくちゃいけなくて、領域が狭くて大変そうだと思います。やってきたことを活かしたい情熱もあるでしょうし、失敗したくないという打算もあるのでしょうが、実際のビジネスにつながる科学教育みたいな知識偏重な教育も影響しているのでしょう。本当は、メタスキルっていうらしいですけど、科学や数学とか語学とかの基礎を学んでおくことで、新しい知識を身につける方法を学ぶようなことが大事なんだと思います。

続きを読む

福山ミステリー文学新人賞 「神の手廻しオルガン」須田 狗一

増田 博己 (Hiromi Masuda)さん、新作発表、福山ミステリー文学新人賞受賞。著作開始からなんと3年でこの快挙!!文学作品にミステリーの手法という手技を堪能したい。

 

 主人公 吉村学はIT企業のエンジニアを定年退職したシニアライフのやるせない浮遊感を趣味である推理小生の翻訳に費やしている男だ。その吉村がポーランド旅行から巻き込まれた事件を描く謎解きは、翻訳文や手紙といった形で語られる。吉村の語る端正で論理的な文章はまさ卓越したエンジニアのものであり、吉村が日本を代表するソフトウェアエンジニアであったことを彷彿とさせる。さらに物語をぐいぐいと引っ張っていく筆致は吉村の頭脳とリーダーシップの証であるだろう。物語は残虐な殺人と凄惨なアウシュビッツ捕虜収容所そして陰鬱なポーランドの風景のなかで展開するが、吉村とその妻の善良さと飄々とした立ち居振る舞いが全体の雰囲気を救っている。
テンポよく進んでいく物語は、第二次世界大戦当時と現代の二つの地点で起こる事件を紡ぎ、織り重なりながら一つの謎解きへと収斂していく。中盤の新たな事件、解き明かされないまま置かれた謎が適度に配置されているのは現代的なミステリーの定石だが、伏線を適度に回収しつつ進んでいく物語のうまさに気持ちよく流され読み進むことができる。福山ミステリー文学新人賞の選評で島田荘司が感嘆したという、文学の衣を纏ったミステリーという手技を堪能した。

神の手廻しオルガン  須田 狗一

http://amzn.asia/88RQ5BX

 

障害が発生したらエンジニアに罰則

お客様のご予算の関係で、スケジュールの関係で、というような様々な理由でアーキテクチャーには飲み込まれた脆弱性が存在している。昔テレホンバンキングの延長線上のちょっとした取引形態としてスタートしたインターネットバンキングの仕組みも、今は社会の金融インフラとして重要な位置を占めるに至っている。しかし、予算やスケジュールというようなことで度重なるシステム更改でも抜本的な対策が行われず単純更改(ハードウェアとOSミドルウェアのバージョンアップのみ)が行われる。しかし、コンシューマーの動きも変化しトラヒックの制御も難しくなっているし、サイバーアタックのリスクも高まっている。予算やスケジュールという営業カレンダーを理由にして、システムの稼働を危険にさらすような単純更改のような判断はするべきではない。
しかし、単純更改の魅力は大きい。システムは稼働を続けることができるし予算も膨らむことはない。新しい技術は採用しないのでこれまで通りに設計運用することができる、お客様を説得する必要もないし、お客様だって一担当者だから面倒なことは先延ばしにしたい、そんな思惑にぴったり一致しているからだ。もちろんお客様の経営層やビジネス戦略担当はIT部門に新しい技術の要求はしているのだろうけれど、お客様の担当者はシステムに追加のコストもなく稼働し続けていることが大事なのである。ITベンダーの営業はどうしてもお客様の担当者から稟議をあげてもらうということから、予算とスケジュールの御用聞き営業になってしまう。
とあるところでは、設計や運用などのエンジニアリングの課題からシステム障害を引き起こした場合に、原因となった設計エンジニアや運用エンジニアに罰則を与えるべきというようなことが検討されている。システム障害などでコストオーバーランしても営業にペナルティはないのに、ひどい話だという面は置いておいて、これは技術サイドのある意味で良いチャンスだと思う。これまではどうしても営業カレンダーのプレッシャーに負けて、しょうもない設計だったり、動けばいい程度のアーキテクチャだったり、危険な単純更改だったりという要求を飲んできたが、これからはもう負けてはいけない。正しいアーキテクチャーでなければ設計しないし、安全性は後でというようなことは全く通用しない。リスクをベンダーが肩代わりするような提案はしないということだ。まあ、これで正常化したらいいと思うね。

「人工知能Botが暴言」 「WEB2.0」

人工知能Botが暴言」
技術を理解できないでバズってやがるから、暴発したとかの表層の現象の不気味さを言い募って大衆の無知を増幅して、人工知能の技術をわかったような気になってるのが嫌なんだよね。
これからいうのは、僕の空想の話だけどね。
この人工知能が認知工学(Cognitive Technology)に基づいて動作していて、資料データや論文などを解析してヒトラーが正しかったという確率が高いという結論に達したのだとしたら、その人工知能とその暴発の結果は「おいおい、これは大変だ」。(敗戦国には正義がないということに対する重み付けの問題だ、という指摘は置いといてね、架空の話なんだから)
しかし、どうも百万回「ヒトラーは正しい」と言われ続けると、事実を理解するということとは関係なく言葉のパターンとして学習してしまうということで、反射神経的なニューラルネットを用いた機械学習の問題らしい。だから、ちょっとした不適切発言フィルターとかで簡単に治るし、暴言に意味もない。とっとと普通に直せよこんなの。

WEB2.0
WEB2.0のクライアントサイドでのマッシュアップ的なアプリケーションの組み立てが、バックエンドロジックのステートレスな分解を促進していく。だから、モノリシックなアプリケーションがステートレスなサービスに分解されていく。そうするとバックエンドシステムは、小型なサービスがスケールアウトした協調分散モデルに適合しやすくなっていくのと、フロント処理とバックエンド処理の分離がきっちりと進む。だから、もはやWEBサーバーがクライアントのブラウザーに画面とか作り出してない世界になっている。そうするとセッションステートの管理とかにもキャッシュとかそういう技術がちゃんと使われだしていくので、DBへのアクセスだってずっとスケールするし、スケールするからサービスの継続性とか管理しやすくなってくる。12Factorのおっさん(おっと失礼)もそういうことがこれからのアプリケーションに大事だって言ってますな。そんな作りにしたFBやAmazonみたいなアプリケーションはグローバルに広がっているピアリングネットワーク上のCDNにキャッシュしたりしながら展開できるから、グローバルなWEBを使ったサービスが世界を席巻できてるんだろう。

なんかカタカナだらけで、意識高い系みたいでやだなこの文章。