AWS CloudShell試してみた

AWS CloudShellとは

AWS CloudShellは、re:Invent2020で発表された、ブラウザで動くコンソールです。各リージョンごとに1GBのディスクストレージを持った、awscliなどがインストールされた環境(コンテナのようです)がなんと無料で使えます。

試してみた

皆さん色々試されてますが、私もちょっと試してみました中で面白かったのを取り急ぎまとめます。

python3は入ってますんで、こんな感じでflaskのアプリ作ります。

$mkdir -p tmp/flaskapp
$cd tmp/flaskapp
$pip3 install -t ./ Flask
$vi app.py
...
$python3 app.py

app.pyの中はこんな感じです。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    name = "Hello AWS CloudShell!"
    return name

if __name__ == "__main__":
    app.run(debug=True)

CloudShellの実際の画面はこんな感じです。

f:id:showm001:20201216141930p:plain
サンプルのFlaskアプリを動かす

CloudShellへのインバウンド通信は許可されてませんので、このままでは何もできません。

ngrok

そんなときはみんな大好きngrok。バイナリをCloudShell上でダウンロードして動かします。

$ngrok http 5000

f:id:showm001:20201216142515p:plain
ngrok動かした

このURLにアクセスしてみましょう。

f:id:showm001:20201216142904p:plain
URLにアクセス

できましたね! (上記のURLはもう閉じてますのでアクセスできません)

つまり

そういうことです。用量用法を守って正しく使いましょう。

「SORACOM Discovery 2020 ナイトイベント」を開催しました

SORACOM Discovery 2020とは?

SORACOM Discoveryは(株)ソラコムの年次イベントです。毎年7月上旬に開催され、事例の紹介やテクニカルセッション、新製品(新サービス)の発表が行われます。

詳しくは公式サイトをご覧ください。

www.discovery.soracom.jp

例年はホテルなど大きな会場で複数トラックで大規模に開催されているのですが、今年は新型コロナウイルスの影響もあり、初のオンライン開催となりました。 2020年7月14日(火)に「世界が変わる。自分も変わる。」というテーマで開催され、私もレポーター枠で参加しました。

ナイトイベントとは

例年SORACOMユーザーグループ(SORACOM-UG)が主催するナイトイベントをDiscovery開催終了後に現地でやっていました。LT大会やクイズ大会、今日の本編の振り返りなどをみんなで軽食を摘まみながらビール片手に参加する、とても楽しいイベントです。

今年も本編がオンライン開催になったのでナイトイベントもオンラインで開催したのですが、今回私は運営スタッフとして関わりましたので、本記事ではその辺りの経緯や裏話を少し書いてみようと思います。

キックオフ

2020/6/1に、ソラコムのコミュニティマネージャのNaoさんから「7/14にDiscoveryがあるが、そのナイトイベントをUG主催でやってもらえないか?」という打診がSORACOM-UGのSlackにありました。

これを受けて、最初のキックオフミーティング(もちろんオンライン)を6/4に開催しました。なお、昨年SORACOM-UG Explorerの運営ミーティングはwhereby(確か当時はまだappear.inだった)でやっていましたが、今回は基本的にgoogle meetで行っています。

議事録を見ると、最初のキックオフではこんなことが決まっていたようです。

 

  • 配信は別途UGのYouTubeチャンネルでやるのではなく、本編をそのまま乗っ取る。利用者は本編のまま見てたら何もしないでもナイトイベントを視聴できるようにする。
  • UG初参加の人を積極的に取り込みたいので、「UGって楽しい!」と思ってもらえるようなコンテンツを目指す。
  • ざっくりと内容はこんな感じ?
    • 乾杯&UGの紹介で開始
    • 最初にMaxに本編の振り返りを15分くらいで話してもらう。タイトルは「月刊SORACOMニュース出張版」?
    • なにかしらインタラクティブなイベント。Twitterを連動して、事前にお題で募集した内容で大喜利やるとか漫談やるとか?
    • LTは3本?
    • クイズ大会はやろう

 

本編をご覧になった方は皆さんおわかりかと思いますが、この時点で既に全体のコンテンツは本番のものとほぼ同じ形で決まっています。スタッフの皆さん、流石です。

着々と進む準備と前々夜祭

その後、ミーティングをほぼ週に1度重ねて細部を詰めていきました。ミーティングは毎度21時スタートで金曜か土曜が多かったです。

毎度「今日はさくっと終わらせるぞ!」と宣言して始まってもだいたい終了は23時で、みっちり2時間やってましたが、かなり雑談もしてワイワイやっていたので楽しかったです。みんなオフラインで最近会えなくなって寂しかったというのもあるのかなと思ったりしたところでした(笑)

 

6/19にはLTの募集もconnpassではじまり、インタラクティブイベントも「IoT川柳(当時はまだSORACOM川柳、後によりお題を広げるためにIoT川柳に改称)」と決まりました。

 

そんな中、6/12にSORACOM-UG関西の辻さんから「7/12に前々夜祭やろうぜ!」というお話があり、ナイトイベントと併せて準備を進めることになりました。 前々夜祭は辻さんが最初に企画された時点で概ねコンテンツや登壇者も決まっていた(手配の速さが流石すぎる)ので、配信方法など細かい実務的なところを決めるのがメインでしたので比較的短期間で進んだように記憶していますが、まぁよくこの短期間に平行で全部回ったものだと我ながら感心します。

7/12の前々夜祭はまた色々あったのですが、そのお話はまた別の機会に書ければと思いますが、藤田なつみさんの告知ブログと当日のアーカイブはこちらです。

note.com

www.youtube.com

なつみさんは、ナイトイベントの告知でも素敵なブログを書いてくださってますので、そちらも是非ご覧ください!

note.com

配信に関しては当日のオペレーション、事前のリハーサル、素材の準備等は全てソラコムのテクニカルエヴァンジェリストであるMaxと、運営メンバーの木澤さんが一手に引き受けてくださいました。本当にありがとうございます!

前日

前日の夜(また21時スタート)に、最後の詰めとして詳細の確認とIoT川柳の選考を行いました。運営の大口さんが進行用の台本やスライドを準備してくださったので、それを見ながら詰めていきました。この打ち合わせには川柳の選考のために、本番前日でお忙しい中、Yaman(ソラコムの片山さん)にもご参加頂きました。選考もですが、スライドの見せ方など的確なアドバイスを頂き本当にありがとうございました!

そして、そのアドバイスを元にスライドを構成するのは大口さんが1晩でやってくれました。ありがとうございます!

 

また、本編からナイトイベントへの切り替えをしたときに、最大10分程度BGMだけの時間が出来てしまうけどそこを何とか出来ないか?というお話をmaxからいただいていました。

Slackの方で私となつみさんが二人で何か喋りましょうと言うことだけ決めていたので、このタイミングで皆さんとお話しして、これから始まるナイトイベントの見所みたいなのを喋ったらいいんじゃないかな?ということも決めました。

 

なお、妻は日曜日の前々夜祭で(6月からずっとミーティングしてたものが)全部終わったと思ってたようで、「え、まだやってるの?なに、本番は明日?聞いてない!」と呆れられました。すいません、ちゃんと説明したつもりだったんですが(笑)

当日

そして当日。私は会社から繋いでDiscovery本編に参加し、Twitterで実況をしていました。同僚にはDiscoveryを視聴することを事前に説明しており、会議や仕事の連絡が来たときにはそれに対応しつつ本編に参加させてもらいました。理解のある会社と同僚に感謝です。

 

17:30頃に本編はクロージングセッションに入りましたが、私はそれを切り上げてナイトイベントの楽屋の方に待機しました。木澤さんは17時頃から配信の準備にかかっていただいていたようです。

 

ナイトイベント開始前のラジオDJ業務があるので、早めに配信用のgoogle meetのチャンネルに入って待機します。 この時点でもYouTubeチャンネルの画面を見る限りでは、視聴者は500人オーバー。さすがにDiscovery本編からは減ったものの、マジかよ、この人数相手にアドリブで喋るのかよ!頑張れ俺!(笑)

 

max:「本編終了しました、UGのチャンネルに切り替わりますー」

木澤さん:「OKです、切り替わりました。あとのオペレーションはこちらで」

木澤さん:「そろそろBGMから音声切り替えます。・・・(OKマークを出す)」

 

いよいよスタート。

本番の顛末がどうであったかは、みなさまアーカイブチャンネルで是非ご確認いただければと思います。

www.youtube.com

まとめ

ナイトイベントご参加頂いた皆様、アーカイブでご覧頂いた皆様、ありがとうございます!楽しんでいただけましたでしょうか? イベントの成否の判定や評価は参加・視聴いただいた皆様に委ねるしかないのですが、大きな事故もなく無事に終わり、運営メンバー全員ほっと胸をなで下ろしました。 当日のTwitterでも「楽しかった!」というツイートを沢山見かけ、また自分でもアーカイブ見ながら振り返って楽しいイベントに出来たなとは思っています。

個人的には完全アドリブでドキドキだった開始前のDJ部分を聞いた方のこの呟きでめちゃくちゃ感動しました。楽しんで頂けてほんと良かった・・。 DJ部分がうまくいったのは、ひとえになつみさんの抜群のタイミングでの切り込みと的確なしゃべりのおかげです。ありがとうございます。

 

 

そして、UGスタッフの皆さん、ソラコムの社員の皆さん、本当にお疲れ様でした!

余談

なお、私がなぜ司会することになったのか?というと

 

辻さん:「前々夜祭の担当を色々決めなやなー。木村さん、総合司会やる?」

私:「おけー、やるやる」

(木澤さんか大口さんだったか?):「ナイトイベントの担当割り当てどうしようか?」

私:「前々夜祭の流れで司会は僕やりますよー」

 

というような軽いノリでした。初めてのことの上にテンパって噛み噛みでおもろいことも喋れない人のくせに安請け合いしてんな、俺!(笑)

皆様もこれからUGの運営に参加されるときは、あまり気負わずにこのくらいの軽いノリで色々やってみていただけるといいのかなと思います。少々やらかしてもみんな笑って許してくれますし(ですよね?)、全員でカバーしますのでぜひ運営にもご参加ください!

AZ-900合格までの道

AZ-900合格しました

2020年6月6日(土)、AZ-900を受験して合格しました。

せっかくなので、ここまでの道程を書いてみようと思います。

 

AZ-900ってなに?

docs.microsoft.comMicrosoftの認定資格であるMicrosoft Azure Fundamentalsを取得するための試験です。

Microsoftの資格には複数の試験の合格が求められる物もありますが、Azure FundamentalsはAZ-900の合格のみで取得できます。

 

Azure Fundamentalsは上記リンクに詳細がありますが、Microsoft Azureに関する基礎知識を持っていることを認定する資格です。試験ではAzureだけに限定されないクラウドの基本概念などから始まり、基本的なAzureサービスの内容やサポート、料金などについての知識を問われます。

 

受験までの道

4月の頭に、社内で「AZ-900のオンライントレーニングを受けてしかも試験のバウチャー(割引券)がもらえるぞ!」という情報が流れてきたのでさっそく登録しました。

この時点ではAZ-900ってなんぞや?という状態ではあったのですが(笑)

 

なお、こういったオンライントレーニングは不定期に実施されているようですので、以下のURL辺りをウォッチされてるといいかと思います。

 

Microsoft Events

 

4/9と4/10、2日とも午前中を全部使って受講するとメールでバウチャーが届きました。3ヶ月有効ということですので、7月くらいまでには受験しないとな・・ということでこの時点でお尻が決まりました。

 

試験勉強

AZ-900の実際の試験内容についてはNDAがあり細かいことは言えませんので、私がどういう勉強したかということだけ書こうと思います。

 

試験勉強はMicrosoftが無料で提供しているコンテンツ「Microsoft Learn」でやりました。Learnには「Azureの基礎」というラーニングパス(いくつかの課題をまとめたコース)があり、これがAZ-900の範囲を概ね網羅しています。

 

docs.microsoft.com

 

Microsoft Learnは1つの課題(モジュール)は1時間程度で終了しますが、途中で止めても問題ありませんので自分のペースでいつでも進められます。また、モジュールの途中や最後に確認試験がありますし、ハンズオンで実際に試すコンテンツも含まれています。

なお、ハンズオンはAzureのアカウントを持っていなくても(持っていてもいいですが)、Microsoftがハンズオンのために準備したサンドボックス環境で無料で行うことが出来ます。

 

私は毎日の空き時間に少しずつスマホで読み進め、ハンズオンはPCで実行してこのパスを終えたのは5月の下旬でした。毎日少しずつできればもう少し短い時間で終えられると思います。

 

私個人としては、これまでクラウドAWSをメインで触っていたのでクラウドの基本概念は理解しているつもりですし、基本的なサービスはAzureでも変わるところではないので、差分や単語の違いやサポートなどを重点的に勉強した感じです。

AWSGCPなど別のクラウドプロバイダーの経験者の方のためのコンテンツも準備されているので、その辺りも参考になるかと思います。私は以下の物を参考にしました。

 

docs.microsoft.com

docs.microsoft.com

 申し込み

試験についてはCOVID-19での緊急事態宣言の影響もあり、一時オフラインの会場での受験が出来なくなっていました。自宅などからオンラインでの受験も可能なのですが「受験用のPC以外に、本など何もおいてなく、他の人が入ってこない部屋を準備すること」という条件があり、正直それは厳しいと断念しました(まぁ不正されないためには仕方ないと思いますが・・)。

 

幸い、5月の下旬には自宅から最寄りの会場での受験も再開されたので、6/6(土)の午前の受験で申し込みをしました。

 

受験当日

受験当日には身分証明書を2つ持参するように、と言われましたが、これは運転免許証と保険証でOKでした。

申込時の名前をローマ字にしたけど、身分証明書は漢字の表記しかない・・というところは、読みがあってるなら大丈夫だそうです。

 

受付が終わるとロッカーに荷物を預けますが、PCやケータイはもちろん、ティッシュも持ち込みNG(必要であれば会場で準備された物をもらえる)という徹底ぶりです。

 

試験自体は持ち時間1時間で30問。私はだいたい30分くらいで全部回答して、気になったところを15分くらいかけて重点的に見直し、最後に10分かけて全部を通して見直したくらいの時間配分で進めました。

思ってたより悩ましい選択肢があって、見直して回答を変えた物も結構ありました(それが最終的に正解だったかは分かりませんが)。

 

最後に回答終了のボタンを押すと、即座に合否が出ます。1000点満点中700点以上で合格、私は820点で無事合格でした。

細かくどの問題が正解・不正解といった結果は出ないのですが、分野ごとにどの程度の点が取れたのかがグラフで表示されました。まんべんなく間違えて、どの分野も8割くらいの正答率だったようです。不得意分野があるわけではないが、どこも完璧に分かってるわけではないということで、次への課題としたいと思います。

 

次は

5月下旬に行われたMicrosoft Build2020のイベント「Cloud Skill Challenge」に参加した特典で来年2月まで使えるバウチャーをまた取得したので、それが切れるまでにはまた他の試験を受けたいと思います。次に狙うならこの辺りかなーと思ってます。

 

docs.microsoft.com

docs.microsoft.com

docs.microsoft.com

最後のAZ-220は受験に向けてのセミナーを受講したので、これが本命かな?

 

アフターコロナの働き方

リモートワーク

2020年4月7日に緊急事態宣言が発令され、私の住む福岡県もその対象になりました。その後、対象地域が全国に拡大されましたが、これに伴い皆さん不要不急の外出を避け、自宅からリモートワークを行っているという方も多いかと思います。

 

本ブログでも何度か触れましたが、弊社では平時からいつでもリモートワークが当たり前にできる状態ではありましたが、2月頃から全員自宅からのリモートワークが推奨され、3月末にはついに推奨ではなく「リモートが基本、どうしてもということがなければ会社には来ないように」という状態となりました。

 

平時からやり方に慣れていたとはいえ、これまではまだ「何人かは会社にいて、リモートの人達と協調して作業をする」という状態でしたので、完全に全員がリモートで仕事をしているというのは初めての経験です。

仕事は回せてはいますが、弊社でも色々と試行錯誤を繰り返している状態です。

 

自宅保育

そして、4月16日からついに娘が通っていた保育園も休園となり、自宅保育が始まりました。

妻が医療従事者でもあり自宅での勤務が不可能なため、基本的に平日は私がマンツーマンで娘の相手をしながら仕事もすることになります。幸い、妻が半ドンや休暇の日もあるのでその日は妻に娘を見てもらいつつ自室に引きこもることも出来そうですが、このご時世とても実家の両親に頼ることも出来ず(父母に万一我々から感染させたなんてことになったら悔やんでも悔やみきれません・・)大変な状態です。

 

以前から子どもを家で見つつ仕事をしていた同僚が何人もいますので情報共有(プ〇キ〇アが最強コンテンツだからひたすらリピートで見せろ、始業前に散歩するといい・・などのTIPS)したり、全社的に状況に対する理解があるのは本当に助かってます。

TV会議に子どもが突入しようと笑って対応し、子どもの対応のために長時間離席をしようとも何も気にせず、作業がなかなか進められない状況にも「出来る範囲でいいから」とお互いに声を掛け合ってます。本当にいい仲間に恵まれていると感じています。

 

しんどい

とはいえ、正直しんどい。仕事、ホントに進みません。会社や仲間の理解があるとはいえ、むしろ「自分が仕事できていない、貢献できてない、成長できてない」というストレスがめちゃくちゃ大きいです。

 

そして、通勤時間がなくなるということは、唯一自分の為に使えた数時間が完全になくなることを意味します。本も読めない、ネットの記事も見られない、ブログも書けない、音楽も聴けない・・。インプットもアウトプットも劇的に減っています。技術にキャッチアップできないどころか、世の中で何が起こってるかすらまともに把握できてなかったりします。

 

勉強会もオンライン開催が増えてきました。時間と場所に縛られないから良さそうに見えますが、これまでは「勉強会があるから」と外に出て、その時間は集中してインプットやアウトプットが出来た(家庭のこともあるから頻度は調整しないといけませんが)のですが、それがオンライン開催だとできません。

これまでと同じくその時間は娘の対応を妻に任せて・・と思っても、「お父さんが家にいる」という状況だけでどうしてもこれまでと同じようにはいきません。というか、家から参加とか無理・・・。

 

自分や家族、娘がこの状態に慣れてくればもう少し改善されるのかもしれませんが、しばらくはこの「自分が何もできていない、成長できていない」というある種の無能感(ちょっと変な言葉ですが・・何というといいんだろ)と戦う必要があるのかもしれません。

 

とはいえ

この状態、すぐに終わって元通りになるなんて保証はどこにもありません。むしろ、社会は変容してしまい、この状態が当たり前として受け入れて生きていかないといけない可能性の方が高いように思います。

であれば、何らかの折り合いを付けるなりやり方を見つけるなりでこの無能感とも闘い、生きていく必要があります。果たしてどうするといいのでしょうか・・。

 

まとめ

我々はアフターコロナの世界での生き方、働き方、戦い方を今試行錯誤している段階と言えるかもしれません。みんなで少しでも色々なTIPSを共有し、みんなで頑張っていきましょう。

人を褒める

アンガーコントロール

先日アンガーコントロールのお話を聞く機会があったのですが、その際に

子どもがなかなか言うことを聞かずつい怒ってしまう。『こうしてくれないとお父さんは悲しい』というように言い換えると良いとは言うが、そもそもその言葉が伝わってないようだがどうしたらいいんでしょうか。

という質問をしました。

で、それに対する回答として、

まずは『やったらお父さんが喜んだ』という成功体験を普段から沢山与えてあげてください。それがないと『お父さんが悲しい』というのがどういう状況かが理解できないと思います。

子どもに対してだけでなく、誰に対しても、やって当たり前、出来て当たり前だから褒めない・・ではなく普段からどんどん褒めましょう。

と言われました。これはなるほどなー、と思ったので帰ってからすぐ妻にも話し、できるだけ実践しようとしているところです。

 

ちなみにその時に例に出されたのが

ITの運用って、普通に動いてて当たり前と思われてますよね。うまく動かないときは責められるけど、動いてるときは何も言われない。運用の現場の皆さんはこれが辛いと思ってませんか?

ということでした。運用の現場にいた人間としてこれほど腹落ちする言葉はありませんでした(笑)

 

人を褒めてますか?

さて、みなさん最近人を褒めましたか?家族でも同僚でも誰でもいいです。

 

思い返してみると、弊社のメンバーは社長をはじめみんなよく人を褒めます。本人に対して直接も言いますし、SNSなどでもめちゃくちゃ褒めます。

僕はあまり褒められるとむしろ期待が大きすぎてプレッシャーに感じるときもたまにあるくらいに(笑)、とにかく褒めます。

 

「部下(子ども)は厳しく鍛えるべきだ。褒めると調子に乗る。もっと高みを目指してもらわないと困る」

 

こんな言葉をよく聞きますが、それで本当にその人は伸びましたか?伸びるスピードは十分でしたか?

弊社を見てる限りでは、むしろ褒められてみんなそれを成功体験としてスピードアップしてさらなる高みに到達しようとしています。

 

まとめ

どっちのやり方の方が人は伸びるのか?人にもよるかもしれませんし、状況に依るのかもしれません。褒められたらそこで満足して駄目になる人もいるかもしれませんし、伸びる人もいるかもしれません。叱った方が反発して伸びる人もいるかもしれません。単に「褒める」「叱る」だけではなくもっと色々考えることもあるんだと思います。

 

けど、どっちがいいか分からないって言うんだったら、お互い褒め合って気持ちよく生きていける環境の方が楽しくないですか?

3月を振り返る

3月終了

3月も終了したのでまた5点満点で評価してみようと思います。

 

仕事のこと

先月に引き続き、今月もかなりの日数をリモートワークで行いました。先月の反省点の「リモートだと働き過ぎる」に関しては休憩を意識的に取るようにはしているものの、身体を動かすことが少ないためあちこちが凝り固まってるような感じです。

 

また、入社以来一貫ずっと関わってきた、弊社サービス「KOSMISCH」のAWS対応機能について無事リリースすることが出来ました。リリースの際のブログはこちらです。

 

showm001.hatenablog.com

 

3月はコードをゴリゴリ書くのではなくドキュメントやサイトデザインリニューアルに向けての作業が多くの時間を占めました。

新しい案件にも関わるようになりましたが、そちらはひとまず順調に進めることが出来ています。

 

コードをあまり書いていないためプログラマーとしてはやや達成感が物足りないのですが(笑)、リリースを迎えることもでき、順調にこなせていますので5段階評価は5点としたいとおもいます。

 

家庭のこと

3月は休日に娘を連れて遊びに出たりと、家族の対応はまずまず出来たように思います。とはいえ、まだまだ出来ていないことも多いので評価は4点とします。

 

勉強会参加・アウトプット

3月は残念ながらほとんどブログを書くことが出来ませんでした。

ただ、新型コロナの影響で一旦開催を断念していたSORACOM-UG九州#11を、オンラインの形で実現することが出来ました。開催に至るまでの過程については別途ブログにまとめていますのでそちらをご参照ください。

 

showm001.hatenablog.com

 

仕事や家族対応の傍らの短期間での準備は大変だったものの、無事開催でき、評判も良かったので本当に良かったです。

 

また、JAWS-UG福岡運営メンバーがAWS Samurai2019に選ばれました。特別賞という扱いですが、みんなでやってきたことが評価いただけたことを心から喜びたいと思います。

 

勉強会の開催とそのための資料やプログラム作成をし、それが成功であったのと、AWS Samurai受賞の件がありますので評価は5点としたいです。

 

健康面

体調不良はほとんどなかったものの、新型コロナの影響もあって外で運動するわけにもいかず、3月もジョギングを1度も行えませんでした。

また、楽しみにしていた「海の中道はるかぜマラソン」(10km)も中止となり、本当に残念でした。

 

ジョギングはできなかったものの、体調は問題ありませんでしたので3点とします。早くコロナが終息して走りに出られるようになることを祈っています。

 

まとめ

4つの軸での振り返りで自己採点の平均は4.25点、かなりいい月でした。

社会情勢が不安ではありますが、引き続き頑張っていこうと思います。

SORACOM-UG九州#11「オンラインだよ、全員集合!」を開催しました

SORACOM-UG九州

SORACOM-UG九州は、SORACOM User Groupの九州支部で、年に3~4回ほどハンズオンやLT大会、事例紹介などの勉強会を実施しています。

pages.soracom.jp

元々は2020年3月29日にオフラインのイベントとして実施する予定だったのですが、残念ながら折からのCOVID-19によるイベント自粛要請もあり、一旦開催を断念してました。

しかし、その後色々あり、オンライン開催に切り替えて無事開催することが出来ました。当日の参加ブログはきっと参加者の皆さんが書かれると思うので、私は開催までの経緯や準備のあれこれを書こうと思います。今後、同様にオンラインでのイベント開催をされる皆様に少しでもお役に立てばと思います。

 

オンラインで華麗に復活

しばらくはイベントも出来ないのかな、と思っていたところにソラコムのnaoさんから

エバンジェリストのmaxとも話したのだが、何かオンラインで出来ないかと思っている」という連絡を頂き、急遽コアメンバーとソラコムのnaoさん・maxさんとオンラインミーティングを行いました。

 

イベント自粛がいつまで続くのかが分からないし、今後オンラインで色々なイベントをやることも増えるだろうからこの機会にやってみて知見を得ておくというのはどうだろうか、ということでザックリと以下のような形で結論しました。

 

  • 予定してた2020/3/28(土)はJaws Days2020のオンライン配信があるから3/27(金)に変更
  • maxによるここ半年くらいのアップデートやTechnology Campの振り返り + 九州の事例を2件、1時間のハンズオンという構成
  • 事例はシステムフォレストさんと、あと九州農政局のボタン+罠のお話がいけないかをシステムフォレスト松永さんに確認してもらう(松永さんもコアメンバー)
  • ハンズオンはしろボタン(またはひげボタン)を特価で買える今のうちに購入するか、既に持っている人を対象にする
  • みんながボタン押した簡易位置情報を1枚の地図に出せると面白いかも

 

これが3/4の夜のこと。1ヶ月を切った状態で諸々の準備をしないといけません。さあ大変(笑)

 

募集ページ作成と集客

募集ページ

募集ページの作成と集客は、基本的には普段と変わることはありません。

SORACOM-UGでは、募集ページはconnpassに作成していますが、 connpassでは、オンラインイベントの開催が増えてきたことを受けて、オンラインのイベントを検索しやすい機能が追加されています。

これを利用するために、募集ページで開催場所を入力する際に「オンライン」と入力します。

 

connpass.com

利用する環境の選定

今回の開催では、オンラインイベントの環境としてZoomを使いました。

Zoomを選択したのは、コアメンバーである松永さんの所属される(株)システムフォレスト様がZoomのアカウントを契約されており、そちらを利用させていただけたからです。本当にありがとうございます!


zoom.us

人数・時間の設定

参加上限人数は道具立てに応じて調整する必要があるかもしれませんが、場所の制約がないのでいつもより多めにしておいてもいいかもしれません。今回は上限を20名としておき、途中で増枠して最終的にはconnpassの参加登録が19名、実際の参加者が20名強という状態でしたが、Zoomは非常に快適に利用できました。

 

オフラインの場合は開演の30分程度前から会場には入れるようにしますが、Zoomのように接続時間を制限するような機能があるシステムを使う場合は同じく早めにつなげるようにしておくとトラブルが減るかと思います。今回は18:30開始に対して会議予約時間は18:00スタートとしました。

 

また、終了後に乾杯と簡単なオンライン懇親会ができればと思ったので、21時の閉会に対して会議予約時間は21:30終了としました。

 乾杯のために飲み物を準備してください、というのも早めに募集ページに記載するのを忘れないようにしましょう。

 

ハンズオンコンテンツ

ハードの選定

SORACOM-UGのハンズオンは、IoTのサービスであるが故にほとんどの場合はなんらかのハードウェアを利用します。普段のオフラインイベントであればハードはソラコム様からお借りして(自前の持ち込みも可)実施するのですが、今回はオンラインなのでそうもいきません。基本的にはご自身で準備いただくことになります。

この辺りもソラコム様と相談してなんらかの方法を提供できないかな、とは思っていますが、なにぶん今回は時間もありませんので自前でご準備いただくことを前提としました。

 

今回のハンズオンは、SORACOM LTE-M Button for Enterprise(以下「しろボタン」)とPlus(以下「ひげボタン」)を使うことにしました。

ちょうどこのタイミングで特価販売が行われていてお求めやすくなっているということと、ボタン関連のハンズオンであればほとんどの作業がブラウザ上で完結するので、参加者の方がうまく進められない状態になったときもリモートからのサポートがしやすいからと言うことでこの選択になりました。

 

ネタ出し

ボタンを使ったハンズオンは、ソラコム様謹製の

  • SORACOM Harvest Dataを用いて、ボタンクリックイベントを可視化する
  • SORACOM Lagoonの通知機能を用いて、クリックイベントをメールで通知する

というハンズオンがあります。

ただ、これだと30分くらいで終わってしまうのと、せっかくのオンラインイベントなので何か新しいネタを追加したいと思いました。

 

しろボタン/ひげボタンは、通信に用いた基地局情報を使った「簡易位置情報測定機能」がついていて、クリックしたボタンの大まかな位置を取得することが出来ます。

これまでにもこの機能を使ったハンズオンはあったのですが、オフラインイベントだと参加者が一堂に会しているので、取得できる位置情報がほぼ全員同じ地点になってしまってあまり面白くなく、ハンズオンの途中で会場の外に出てウロウロしてみる・・というようなことが起こっていました。

しかし、今回はオンラインです。参加者は日本全国に散らばっています。これはうまくすると「地図上に日本中の参加者の位置情報が一斉に表示される」ということが可能になるのでは?と思いつき、これを行うことにしました。

 

準備

ネタは決まったので次はその準備です。

ある利用者(soracomアカウント)の持っているボタンの位置情報を地図上にプロットするだけであればSORACOM Harvest Dataで行えます。

 

dev.soracom.io

しかし、今回は複数の利用者のデータを一度に表示しないといけません。

そこで、以下のように実現することにしました。

 

  • 位置情報を受信したら、どの利用者からのデータかと合わせて保存するようなWeb APIを作成し、ボタンからSORACOM Beamを使ってデータを送り込む
  • Beamのヘッダ認証を使って、データ投入できるクライアントを制限する
  • 保存したデータを読み出して、Google Mapにピンで表示するようなページを作成する
  • データは1日で消すようにする

 

実現するにあたっては、以前から興味のあったAWS Amplifyを使ってみました。時間が無いんだから慣れ親しんだやり方でやればいいのに・・と思いつつもついつい新しいこと試したくなるのは性分なのですいません(笑)

 

aws.amazon.com

フロント側はVue.js、API側はREST APIにしました。上記ハンズオンはGraphQLですのでそのままやればいいのに新しいことを(ry

 

お手本となるハンズオンテキストもありましたので、週末に頑張ってなんとか形になりました。

 

map-result.png

 

データはDynamoDBに登録し、TTLの機能を使ってデータを1日で消すようにしています。

 

作った物はとりあえずこちらに置いていますが、実際に動かすまでの手順についてまだ未掲載なのと、一部パッケージを更新したときの検証がまだ終わってないのでご了承ください。

 

github.com

手順書作成

手順書は元になるHarvest+Lagoonの手順書がGitHubで公開されていたので、それをcloneして修正・追加することで作成しました。こちらも何とか隙間時間に書き進めて1週間程度で準備できました。

準備した手順書についてはこちらに置いています。

 

github.com

 

今回使った、私のAWSアカウントに設置した物はしばらくそのままにしておきますので、使ってみたいという方は個別にご連絡いただければエンドポイントのURLや事前共有鍵はお渡しします。

 

前日準備

オンライン会議でよくあるのが、操作に不慣れだったり機材の準備が十分でないために音声が上手く出ない/音声は出たがハウリングして聞き取れない/資料を画面共有しようとしたがやり方が分からないといったトラブルです。

これを避けるには結局

 

  • 登壇者が使い方に慣れていて、かつ同じ環境(PCやマイクなど)で接続した経験があるシステム(今回はZoom)を使う
  • 事前に練習する

 

のいずれしかありません。

今回、事例紹介については松永さんは普段からZoomをお仕事で使われているので前者の状況ですので、あとはmaxと一度接続を試しておこうと言うことで打ち合わせも兼ねて前日の夜に実際にZoomに接続してみました(この時の会議室は私の個人アカウントの無料枠で実施)。

 

やはりやってみるものですね。maxが、自分の音声がループバックしてきて聞き取りにくいのであれこれ機材の接続を変えてみるというということが今回ありました。

 

当日

当日は思った以上にトラブルも少なく、順調に進みました。

その中でいくつか気がついた改善点を記載したいと思います。

 

参加者全員常時マイクONでいいかも

当初は発表者の音声を邪魔しないようにと思って「発表中は他の人はマイクOFFで」とお願いしてましたが、発表者から「あまりにも聞いてる方からの反応がなくて不安になる」と言われたので、マイクONにして相づちが伝わるようにした方がよさそうです。画面でうなずいても、システムや環境によっては発表者がそれを見るのは難しい場合があるので、音声のフィードバックは重要だと感じました。

 

ただし、ハウリングなどが起こった場合は即座に切るように注意を促す必要があります。Zoomだと主催者側が強制的にOFFにすることができるのでそれを利用するのもよさそうです。

 

チャットを上手く使う

トラブルシューティングや情報共有だけでなく、今回は参加者の皆さんが活発にチャットで発言してもらえました。チャット上で全員で雑談しながら、発表者もそこから質問を拾ったりということで盛り上がった一因であったように思います。

 

リモートサポートはやはり難しい

今回、リモートサポートとして画面を共有する場合はChromeリモートデスクトップを使うということでmaxにドキュメントを準備していただいたのですが、実際にやってみるとZoomを繋いだ状態だと何故か上手く使えませんでした。

 

この辺りももう少し準備の段階でチェックしておけば良かったというのを反省していますが、画面共有系は利用しているOSやマルチモニタ環境かどうかなどでも挙動が変わってなかなか難しいところがあります。

 

ハンズオン自体も時間に余裕を持って、少し題材を減らすといったことも検討した方がいいかもしれません。

 

練習大事

とにもかくにも普段と違う状況ですし、うまくいかないときのトラブルシュートも大変なので練習は大事です。チャットの使い方やマイクのON/OFFなども、参加者全員で最初に練習するといいかもしれません。

まとめ

色々ありましたが、大きなトラブルもなく無事に終了してホッとしました。参加者の皆様からも楽しかったという感想をいただけ、本当に良かったです。

 

そしてなにより初めてのこといっぱいで準備も当日も楽しかったです!今回の反省も踏まえ、是非また実施したいと思います。

 

f:id:showm001:20200328144238p:plain



 

集合写真はやっぱり写真だけにキャプチャではなくカメラで撮影しました(笑)