2019年02月08日(金)

YAPC::Tokyo 2019 のLightning Talks でPerl6 正規表現バトルの裏側 という話をした話

shuya motouchi

こんにちは,nwiizoです。

まずはじめに、参加者の皆様、登壇されたスピーカーの皆様運営を行ったくださったスタッフの皆様スポンサー企業の方々、素敵なイベントをありがとうございました。

多くの方が振り返りブログを書いている中で自分が何も書かなわけにはいかず筆(?)をとりました。

このブログは端的に言えばイベントの振り返りブログであり技術的な含蓄などはありません。

ブース展示について

YAPC::Tokyo 2019 にてPerl6バトル 早い正規表現を書け!!というスポンサーブースにて行いました。(ちなみにロゴやTシャツなどのデザインについては別のスタッフの方が作ってくださってました。また、イベントの調整なども別のスタッフにやっていただいて本当に作問と基盤構築の技術的な部分だけしか担当していません。本当にありがとうございました。)

 

様々な方から挑戦を頂き、詳しい人数までは把握しきれていないのですがイベント期間中にFaaS基盤としての2000回前後の実行がありました。参加していただいた皆様ありがとうございました。

 

LTをしてました

20枚を超えるスライドを5分で喋りきるなど高速早口オタク的を行いました。

 

 

 

 

技術的な事

Perl6正規表現については私がここで浅学を披露してもどうしようもないので深掘りはしません。が、問題実行基盤として利用したOpenFaaSについてはインターネットにこのような事例も無いようなので少し話させて下さい。

OpenFaaSとは?

OpenFaaSはDockerを使ったFaaSのような環境を目指すというプラットフォームです。オープンソースで開発されているFaaSプラットフォームで、リクエストに応じて任意のコードを実行、状況に応じてゼロを含む自動的にインスタンスをスケールさせるといった、FaaSで実現される機能を実装しています。様々言語で関数を記述できたり、Dockerで起動して標準入出力だけできればよいのでDockerやKubernetesが利用できればよくて、様々な環境での実行が可能です。(個人的には早くManagedなOpenFaaSが出てきてほしい)

ちなみに、今からでもConoHaの単体のVMにKubernetesを展開してOpenFaaSをbuildするAnsibleが存在するのでぜひ使ってみてください

 

で、なにやっとたん?

前述した通りにOpenFaaSを問題基盤として利用しました。各問題を基盤上にbuildすることで各問題が安全かつリソースに引っ張られず均一な実行ができたと思います()。

また、実行時間や入力値もログから収集することができるので各問題の最速時間及びどのような入力がされたのかも確認することができました。

また、今回は基盤として”は”一切障害や問題になることなく運用をし続けることが出来ました。

さいごに

OpenFaaSではGCP(Google Cloud Functions)やAWS(AWS Lambda)が提供するサーバーレスなFaaSとは異なり、ファンクションをデプロイするとその時点でコンテナが作成される為 プログラム自体はリクエストに応じて起動/終了するような(If your PaaS can efficiently start instances in 20ms that run for half a second, then call it serverless.)FaaSとしてリリースするには少し機能を絞ってリリースしなくてはいけないと思います。

最初のリリースが行われたのは2017年でコミュニティは活発で今後の開発にも期待ができるプロダクトだと思います。

 

この記事をシェアする

関連のおすすめ記事

CAREERS
エンジニア積極採用中

GMOインターネットグループでは、積極的な採用活動も行っています。GMOインターネットグループのエンジニア採用情報は下記リンクからご覧になれます。