TED 一貫したテーマ

今日もTEDです。どんだけTED好きなの?いや、違うのです、やらされているので仕方なく勉強しているのですが、せっかくなので、学んだことをメモとして残しておきたいのです。

さて、今日の学びですが、スピーチには一貫したテーマを持ちましょう、ということです。 

我々日本人は「起承転結」という言葉を使いますが、まさに、こんな感じです。スピーチには導入から始まり、内容があって、締めくくり、いう流れをとりますが、この中でストーリーの幹となるべきモノがブレてはいけないということです。

ストーリー全体を貫く、明確なテーマが必要です。木で言えば、幹にあたるものです。これを装飾する形で枝葉をつけるようにストーリーを展開するべきであります。

一般的にTEDはそれほど長々と話をするタイプのものではないので、面白いアイディアをコンパクトにまとめて、きちんと、聞きての記憶の中に植え付けてくる必要があります。そのためには、ストーリーの幹があっちへこっちへブレてしまっては、聞き手からすれば「なんだか身振り手振りはカッコよく喋っていたけれど、結局、何が言いたかったんだろう?」となってしまうわけですね。

まぁ、TEDに限らず、人前でプレゼンをする上では当然のことだと思いました。

案外、その当たり前が出来ていない人が多いのだそうです。

自分も気をつけようと思います。

TEDでやらない方が良いこと4つ

今日もTEDネタです。なんというか、もう、全くOSSとは関係がありませんが、気にしません。

TEDトークを勉強していく中で、やってはならない事、やるべきではない事について学ぶ機会がありましたので、私なりの解釈で共有してみたいと思います。

1. 売り込み

 要するに宣伝が多すぎるような内容ですね。たとえば、自分が何か素晴らしいソリューションを持っているコンサルタントだとしたとき、そのこと事実だけをひたすらに自慢しつづけ、自分を買ったクライアントの数を自慢するような内容では、聞き手の興味を惹きつけることは出来ないとのこと。

素晴らしいソリューションを持っているのならば、そこに至った思考法だったり考え方だったりをアイディアとしてトークに組み入れたほうが面白いものとなるはずです。

2. とりとめのない話

準備不足のせいで、起承転結のない、どこに進むのかよくわからない、ただただTEDトークの真似事をしている、というような状態ですね。TEDの主催者側に立つと、こういうスピーチが非常に多くて困るのだそうです。

しっかり、準備はしましょう、とのこと。

3. 組織のお話

たとえば、自分の所属している組織のお話、どういう不満や問題があって、それをどうやって解決したか、みたいなお話。この手のお話、結局、内輪ネタになってしまいがちで、外部の人からすると、何も面白くない退屈な話に聞こえてしまうようです。

内輪ネタ、ダメ。

4. 啓発もどき

これが前回でも少し取り上げた「TEDトークのテクニックだけを真似する」というやつです。TEDトークを見ている人は分かると思いますが、素晴らしいトークには、スタンディングオベーションで拍手喝采です。それを夢みるがあまり、TEDのテクニックばかりに目が向いてしまい、中身が薄いものになってしまったら、本末転倒だということです。

やはり、テクニックよりも大切なのはアイディアです。

こんな感じです。まぁ、どれも、当たり前といえば当たり前ですが、TEDに限らず、自分がなにか人前でプレゼンをする際にはいつも気をつけておきたいことですね。

TEDの重要なこと

TEDトークは基本的にどれも無料で公開されております。しかも、その多くに翻訳テキストがついていますから、英語のものでも、内容は理解できるようになっています。

一つ、面白いTEDトークをご紹介しましょう。


www.youtube.com

こちら、TED x New York でのスピーチですが、これが本当に面白いので、是非見てみてください。

英語がわからない人は、字幕を非表示にして見てみてください。

英語が分かる人は、音を消して、見てみてください。

いかがですか?なにか素晴らしく面白そうなことを話していそうですよね。

これは非常にユーモアに富んだ、素晴らしいプレゼンなのですが、実は内容は全くありません。というか、全く内容の無いトークを「TEDトーク風に頭良さそうにプレゼンする」というかなり実験的なジョークのようなモノです。

このスピーカーはプレゼンが本当に上手なので、あたかも、めちゃくちゃすごいことを話しているような気にさせられます。

ですが、本当に中身はないのです(笑)

というわけで、TEDで重要なことは、とにかくかっこよくプレゼンすること!!!

というのは残念ながら全く違います。

上の動画については、あまりに良く出来ているので、参考として紹介しましたが、実はTEDでは良いトークのために重要なものは表面的なプレゼンテーションスキルでは無い、としています。

では何が重要なのでしょうか?

それは「アイディア」です。

ここでいうアイディアとは、自分が心の底から大切にしている「なにか」のことで、それを取り出して、スピーチを通じて、聞きての心の中でもう一度それを築き上げることが重要だということです。

私は、近い将来、職場の偉い人たちに向けて、英語でTEDトークをしなければならないことになっているので、まずは、この「アイディア」を探さなくてはなりません。

そして、このアイディア探しが私(皆さんを)を苦しめるのです。

TEDの勉強をはじめてみた

TEDというものを知っていますか?

www.ted.com

私はTEDという単語だけは聞いたことがありましたが、それが何であるかについては、よく知りませんでした。

英会話の教材?(←違います)くらいの認識しかありませんでしたが、ちょっと訳ありまして、TEDの勉強を始めることにしました。というわけで、これは私のTEDの勉強日記みたいなエントリです。一回の投稿では終わらないと思うので、何度かに分けて書いていきたいと思います。

 さて、どういう教材を使って勉強を始めたかといいますと、TED Masterclassというオンラインのコースが用意されているのですね。たぶん、有料なんだと思いますが、私の場合は所属している会社が用意してくれていたので感謝感謝といったところです。

masterclass.ted.com

ただ、いかんせん、このオンラインコース、全部英語でして、英語が得意ではない人にはかなり難しいと思います。私も英語は得意ではないので、非常に苦労をしています。というわけで、仕方がないので、TED Talkという日本語の書籍を買ってみました。

www.amazon.co.jp

あー、やっぱり日本語サイコーです。内容もMasterclassとは全く同じではないですが、大体、似たようなことを言っています。そして、同時に気が付きます。

これは、日本語であってもかなり難しいものだ、ということを。

一番最初に理解したのは、TEDは英会話の教材ではない、ということです!

つづく。。。

マイクロサービスとインメモリデータグリッドについて再考してみる

マイクロサービス、やっていますか? マイクロサービス、作っていますか? 世間のみなさんはすっかり使いこなしているのでしょうかね、マイクロサービス。

かなり今更かもしれないけれど、インメモリデータグリッドと呼ばれるソフトウェア製品に関して、私自身の理解の確認も含め、少し書いてみようと思います。

「インメモリデータグリッド」と聞いて、どのようなソフトウェアが思い浮かびますか?ちなみに、インメモリデータグリッドという言葉にはあまり馴染みがなくても、おそらく、NoSQLだとかKVSという言い方ならイメージがつく人も多いかと思います。

私の場合、こういった言葉に初めて触れたのは、それはもうかなり昔の話。多分、2007年くらいにOracleCoherenceという製品を知ったことが最初だったかと思う。それが今はもう2020年、世の中には、多くのインメモリデータグリッド製品が生み出されました。

適当にネットを検索すると、いろんなものが出てきます。念のため、現時点で人気のありそうなものを並べてみましょう。(並び順に特に意味はありません)

このくらいはあるようです。多分、他にもまだあるような気がしますが。 この分野は、いわゆるJavaEEのような標準仕様がカチッと定義されているわけでもないようで、様々な特徴を持つ製品がニョキニョキと出てきているようです。

 さて、これらのインメモリデータグリッド製品ですが、どのようなユースケースを想定しますか?ポピュラーなところをあげると、以下のようなケースを良く聞きます。

  • Webの高速化
  • 分散処理機能を応用した、バッチ処理の高速化
  • RDBMSの前段に配置することで、RDBMS自体の負荷軽減

こんな感じですね。

 そして、最近では、巷で良く耳にする「マイクロサービス」との組み合わせということも注目されています。どういうことでしょうか?

 JavaEEをはじめ、多くのフレームワークでは、アプリケーションのステート(セッション)を管理する仕組みが用意されております。JavaEEで例をあげると、HttpSession のような仕組みです。これはこれで非常に便利で良くできていますが、複数のアプリケーションからステートを共有しようと思うと、色々と工夫することを求められます。

 例えば、よく行われてきた方法として、ステート情報をデータベース(RDBMS)に保存するようにして、それを複数のアプリケーションから参照するという方法です。これは多くの場合でうまく機能しました。

 では、マイクロサービスの集合体として作られるアプリケーションの場合どうでしょうか。

 もちろん、マイクロサービスの粒度だとか、アプリケーションに求められる性能要件によりますが、一般的に、マイクロサービスとはその名前が表すようにマイクロ=小さく、多くのソレが適切な独立性を維持しつつも協調動作するという形となるため、共有ステートの保存先であるデータベースに求められる性能要件も高いものが要求されるようになってくるでしょう。

 一般的にデータベース(RDBMS)に高性能を求めようとすると、スケールアウトすることが難しかったり、ソレができるものは非常に高価だったりすることが多く、結局スケールアップ(=ハードウェアの能力を上げる)に頼ることになりますが、どちらの場合でも、コスト高になる傾向があります。

 そこで、インメモリデータグリッド製品の価値が見直されることになるはずです。従来は、上述したような、Web高速化を代表とする使われかたが一般的でしたが、マイクロサービスでシステムを構築しようとしたときに、マイクロサービス間でのステート管理のために、インメモリデータグリッドの特性が生きてきます。

 一時的なステート管理のために大掛かりなRDBMSまでは不要ですし、パフォーマンスのことも考えると、やはりメモリだけで対応できる方が望ましいです。インメモリデータグリッド製品の多くは、簡単にスケールアウトができるように設計されていますから、サイジングもそこまでシビアになる必要もありません。必要になったら、そのときに追加すれば済みますから。

 ただ、私が不勉強なだけかもしれませんが、おそらく、現時点では、インメモリデータグリッドでステート管理を行うための標準的なフレームワークJavaEEでいうところのServletやHttpSessionのようなもの)は無いような気がするので、ここは自作するなりの工夫が必要となるでしょう。

 いずれにしても、インメモリデータグリッドはまた脚光を浴びる存在な気がしています。

 

 

Red Hat Forum Asia Pacific 2020 に参加してみた

今年は COVID-19 のおかげで、自分も身の回りも色々と大変なことになっています。私生活も仕事も変化が大きくて 大変な半年でした。

それでも、次第に慣れてきたというか、社会全体もこういった状況に順応してきたようにも思います。身近な例をあげると、コミュニケーションのあり方は大幅に変化してきたと思います。

私の場合、仕事ではお客さんと様々な商談をさせていただくことがあるのですが、従来(コロナ以前)は、Face To Faceで会話してナンボ、というような意識がありました。しかし、残念ながら、コロナ以降ではこれまでのようにFace To Faceで会話することは出来なくなりましたから、オンラインのツールを使った会議を工夫するようになりました。

 さて、今回は、Red Hat Forum Asia Pacific 2020 というものに参加してみたのですが、こちらもバーチャルイベントとして開催されておりました。(確か、去年までは、Asia Pacific ではなく、Tokyo という名前だったかと思います)

 このイベントは2日間に渡って開催されていましたが、流石に、全てを聴講するわけにはいかなかったので、あちこちかい摘んで聞いてみました。

 

【聴講したもの1:ダークピーターさん:オープンハイブリッドクラウドで築く革新的な未来】

いわゆる、基調講演ですね。オープンソースの歴史。今や誰もがあらゆる業界で利用しているオープンソースソフトウェア。企業は柔軟でオープンなクラウドを必要としている、と述べていました。

「ハイブリッドクラウドとは何か?」

レッドハットでは、パブリッククラウドプライベートクラウドの組み合わせである、としているとのこと。そしてレッドハットはそれらの環境で柔軟で俊敏なソリューションを提供していると。

レッドハットのオープンハイブリッドクラウドは素晴らしいんですよ、というお話をされていましたね。

 

同時通訳がとてもありがたかったです。

 

【聴講したもの2:レッドハットさんの対談:COVID-19後を見据えたお客様との絆の作り方:データとA IによるUXの継続的改善】

日本人の方による日本語による対談プレゼンテーションでした。やはり、母国語は落ちつきますねぇ(笑)

 このブログ記事でもCOVID-19による影響を最初に書きました。こちらの対談では、こうした影響によってさらに多様化する顧客ニーズ、そしてそれらに対してスピーディにソリューションを提供していくために必要なこと、ということをテーマにしていました。

 

 面白かったです。

 

多様化するニーズに対応する、ことは全くもって簡単なことではないです。

 

だから、仮説・検証を迅速に行うことができる仕組みが必要。具体的には仮説・検証から得られたデータをいち早く分析し、そしてそのフィードバックを次の一手に組み入れることが大事。

 

確かに。

 

そのための、具体的な技術要素として、データパイプラインとしての Kafka / ルール駆動のAI としてのルールエンジン / 拡張可能なストレージである Ceph / それらの実行基盤となる OpenShift というようなことを解説されていました。

 

わかりやすかったです。

 

やっぱり日本語はいいですね(笑)

 

【聴講したもの3:エキスパートに聞いてみよう - Cloud Native】 

クラウドネイティブという言葉に釣られて、聴講。こちらも日本語セッションでした。

主に2日間のコンテンツの振り返りと、参加者からの質問への回答するコーナーでした。こういうの、とてもありがたいです。

「リアクティブってそもそも何?」

クラウドネイティブらしい耐障害性のあり方」

「非同期の良さとは?」

「同期型ではいけないの?」

というような、エンジニアなら誰でも気になる内容について丁寧に受け答えされていました。

 

面白かったです。 

 

他にもAnsibleのセッションも聞いていましたが、途中からの参加だったので全てを聞けたわけじゃないですが「WindowsとAnsibleの相性は抜群です」と言ってました。え、マジなの?マジですか?

本当なら嬉しいですね。

 

オンラインなので、聞く側にも集中力を求められますが、一つ一つのセッションは比較的短めだったので、飽きることなく楽しんで聞けるものが多かった気がします。

 

今から間に合うのかわかりませんが、、、オンデマンドでの視聴も可能なようです。

www.redhat.com

 

 

 

オープンソース ソフトウェア とその商用版について

オープンソースのソフトウェア(OSS)はほとんどのものが誰でも無償で入手できるようになっていますね。

 

現在では、OSSを利用したビジネスを行なっている企業がたくさんありますね。ビジネスの形態としては、サポートサービスを付加価値としてつけたサブスクリプション出会ったり、OSSの機能そのものをマネージドサービスとしてすぐに使える形で提供したり、など様々です。

 

ですので、調べていくとすぐに気がつくのですが、巷を賑やかしているOSS製品は大抵、商用のものとそうでないものがある、ということです。

 

そこで、勘の良い人は思ってしまうのです。「あれ?結局、元のOSSが同じなら、わざわざお金払って商用のものなんて使う必要ないんじゃない?」

 

私、ずっとそう思ってました笑

 

 商用OSS ≒ コミュニティOSS

 

コレが当てはまることもあるんです。枯れた系のOSSの場合だと特に。

 

ですが、OSSを積極的に利用したい人というのは枯れたものより先進的なものに興味がいくはず。で、先進的なOSSはコミュニティが非常〜〜〜に活発なので、ソフトウェアのビルドも毎晩のように行われているので、よくも悪くも落ち着きがないわけですね。実験的な機能も入ってくるし、それと一緒にバグまで入ってきたり笑

 

 コミュニティOSS  ≠ 商用OSS

 

だと考えておくべきだと言えるでしょう。

 

ですので、仕事でそのまま使うのはかなりリスクがあります。そういう時の商用OSSだと私は思っています。おおよそ商用OSSベンダーというのは、製品品質を担保するために安定したリビジョンの選定をしたり、しこたまテストを行なったりした上で製品化をしているため、自分の勘でテキトーなものをピックアップしてくるよりもずっと安全です。