読者です 読者をやめる 読者になる 読者になる

Anonymous Function

tmaesaka の lifelog | カルチャー、ときどきテクノロジー

近江町市場で生牡蠣を立ち食い

Travel Food

少し前に家族と北陸新幹線で金沢旅行にいってきました。

kanazawa-oyster

金沢駅に着いてからレンタカーを借り、その足で近江町市場に向かいました。金沢の台所と呼ばれるだけあって、日本海の魚介類や加賀野菜などの専門店がひたすら並んでいました。場内は活気があり、歩いていると店頭で牡蠣が食べられるお店をいくつか発見しました。自分たちが訪れた店は牡蠣 1 杯 850 円と、なかなか強気な価格設定でしたが、旅行中だしまあいいやと納得しました。期待通りのプリプリでジューシーな味わいでした。

念願のノドグロ

近江町市場ではないですが、滞在中にのどぐろの姿焼きも食べました。味は言語化するのがむずかしい、噂どおりの美味でした。なるほど、これが高級魚か。

nodoguro

金沢には食だけでなく、心地の良い大人の空気があって、また行こうと思いました。次回は行きそびれた 21 世紀美術館や、Jazz Spot 穆然に行こう。

関連リンク

Vegan チョコレートケーキの美味しさに脱帽

Food

サンフランシスコの Whole Foods Market できまぐれに購入した Cafe IndigoVegan (ヴィーガン) チョコレートケーキが美味しくて感銘を受けました。

vegan-chocolate-cake

なにも言われなければ Vegan だとわからないほどの再現性で、そこら辺のチョコレートケーキより美味しいというのが自分の評価です。この手の Vegan 料理はカロリーが割高だと勝手に思っていたのですが、商品紹介を見る限りそうでもないようです。

これからもオープンマインドでいろんな食を試そう、と思った出来事でした。

関連リンク

Microservices Casual Talks で話してきました

Startup Tech

株式会社オライリー・ジャパン主催の「マイクロサービスアーキテクチャ」出版記念イベントで数年ぶりに人前で話してきました。

travis-luna

制限時間 20 分で Microservices を語るのは厳しいと判断し、自分のトークは開発現場でありがちな面白い話や、Microservices の難しさなどのトピックに絞りました。

どの帽子をかぶるべきか

Microservices を人前で語るときは、どの帽子をかぶるべきかで悩みます。

ひとりのエンジニアとしては、必要がなくても Microservices アーキテクチャに手を出したくなります。自宅で無駄に巨大なファイルシステムを構築して、ニヤニヤするのと似た感覚ですね。対して、例えば幼いプロダクトを育てている立場だと、手間のかかる Microservices アーキテクチャに否定的になるでしょう。

今日の正解は明日の不正解

テクノロジー業界は動きが速く、システムというものは状況の変化に弱いものです。例えば、ひとつの大きな案件によって設計の前提が変わってしまうという話は、テック業界ではよくあることです。エンジニアが心底嫌うやつですね。プロダクトがうまくいっていると、必ずこういう状況に遭遇します。したがって、過去の選択を後悔せず、常に頭を柔軟にしながら、前に進むのが大事という話をしました。

流行るものは流行る

Microservices アーキテクチャを採用したからといって、プロダクトは流行りません。まずは頑丈なユーザベースを築き、成長軌道に乗ることが最優先です。そういったステージでは、モノリシックな設計のほうが圧倒的に合理的です。ステージによって、そのとき最良と考えられる手を選びながら前進しましょう。

最初から 100 万人を快適にサーブできるシステム開発に尽力しても、そこに到達するよりも先にチームが解散する可能性の方が高い、という論点に似ていますね。

キラキラネーム現象

Microservice は API が公開されるだけであって、プロジェクト名やリポジトリ名が外部に露出することがありません (たまにエラー出力で漏れてる会社もあるけど)。したがって、エンジニアやアーキテクト間の利便性のために、よくコードネームが Microservice につけられます。自分の観測範囲内だと、コードネームは作者やチームの趣味で、面白い名前がよくつけられています。

Fastly の場合、創業者がスキー好きなので、初期から存在する Microservices には、スキーリゾートの名前がつけられています。最近はいろいろです。

モニタリングの重要性

Microservices アーキテクチャは動くパーツが多いので、モニタリングが極めて重要です。James LewisMartin Fowler を引用しつつ、Datadog や New Relic などの紹介をしました。Fastly では迅速に障害に対応するために、社内でもいろんなモニタリングが実装されています。

開発環境

とてもディープなトピックです。プログラマの日常的な視点から考えると、ある瞬間の興味対象の Microservice って、担当プロジェクトに関連するひとつやふたつだけではないでしょうか。とはいえ、依存している Microservice (たとえば監査サービスなど) があると、動作確認ができなくて困ります。したがって、良い感じに自動で開発環境が構築される仕組みがあると生産的という話をしました。

Fastly では、エンジニアはほとんど Mac を使っていて (一部 Linux)、仮想マシン上に複数の LXC が立ち上がっている環境で開発しています。各 LXC がサービスを表すノードということになります。この開発環境は専門のチームがメンテしてくれていて、困ったことがあるとチャットで助けてくれます。

レジリエンスのテスト

プログラマからすると、ある Microservice がどこで動いているかは本来どうでもいいことです。同じホスト内、別ホスト、別 IDC などです。しかも、Microservices アーキテクチャは動いているパーツが多かったりなどで、外部要因 (物理障害など) による影響を受けやすいアーキテクチャです。

上記の理由から、Microservices アーキテクチャでは、レジリエンス (回復力) のテストが極めて重要になってきます。レジリエンスのテスト手法として、Shopify が公開している toxiproxy という簡易的に厳しいネットワーク環境をエミュレートできる仕組みや、NetflixChaos MonkeyChaos Kong といった常識はずれのテスト手法を紹介しました。

Fastly の Polyglot な環境

以前このブログで紹介したように、Fastly ではいろんなプログラミング言語を活用して全体的なシステムを構築しています。結論からいうと、狙ってそうなったのではなく、必然的に複数の言語が活用される環境になったのではないかと自分は考えています。

Fastly は課題に合わせて適切な言語とテクノロジーを活用しています。たとえばスループットが死活問題なリアルタイム処理などの課題に、表現力が豊かなものの、計算速度に難のある言語を選択するメリットはありません。逆に、文字列操作や、テンプレートエンジンを使い倒すウェブ系のプロジェクトには、スクリプト言語の方が理にかなっています。健全な Microservices の成り立ちと、あり方ではないかと思います。

大事なこと

Microservices という言葉をよく耳にするようになったものの、結局はアーキテクチャのひとつです。万能なアーキテクチャは存在せず、誤った選択は逆に技術者の生産性や幸せ度を低下します。Microservices も例外ではありません。大事なことは、自分や仲間にとってのメリットを冷静に考えて、合理的な選択をすることではないでしょうか。

Microservices Casual Talks はソフトウェア開発のむずかしさや、奥の深さを再確認できた良いイベントでした。これを機にもっとイベントに顔を出していければと思います。

関連リンク

バルセロナで地中海の息吹を感じる

Travel

年末のパリ旅行の際に、少し足を伸ばしてバルセロナにも行ってきました。

jamon-iberico

バルセロナはとにかく食事とお酒 (カヴァ) がリーズナブルで美味しい。東京にも美味しいスペインバルがたくさんあるので、あんな感じかなと勝手に想像していたのですが、完全なる思い込みでした。寿司を食べ慣れている外国人旅行者が築地の寿司大などで寿司を食べて、これは別格だと感動するのと似たような感覚でしょうか。

また、食に限らず、アート、ファッション、建築など、見どころが満載です。個人的には、カタラン・ゴシックやカタルーニャの歴史と文化に惹かれました。現地のツアーガイドにカタルーニャ独立運動について聞いてみたところ、「私たちは必要がない限りスペイン語を使わない、普段はカタルーニャ語を使う」と言われたのが印象的でした。

全て書くと長くなりすぎるので割愛しますが、バルセロナはもし叶うのであれば毎年訪れたい、と思うほど好きになりました。次は夏に行きたいですね。

Fastly に入社して半年

Tech Startup

Fastly にエンジニアとして入社してほぼ半年。少し振り返ってみます。

yossy

入社前の約束どおり、日本からリモートでいろんなコードを書く日々を過ごしています。ここ半年で書いたコードは API サーバ、認証ライブラリ、統計情報の処理、請求システムなど。Fastly のアーキテクチャの感想をひとことでいうと「よく出来てる」。とりわけ美しいわけではないけど、自分でもっと良いものを作れるとも思えないって感じです。

技術のオンパレード

Fastly は、Linux kernel 弄りからブラウザが実行する JavaScript まで幅広く技術を取り扱っています。独立して稼働しているソフトウェアやサービスも多く、自分が把握しているだけで、C, Go, JS, Perl, Python, Ruby が日常的に書かれています。取り組んでいる課題も多種多様なので、エンジニアにとっては良い意味で賑やかです。この辺の話は近々、どこかのテックトークかイベントで詳しく話せればと思います。

仕事環境

リモート社員 (リモートオフィスや自宅勤務) が思ったより多く、例えば自分が以前いたチームの半数以上はリモートでした。同じリモートでも、アメリカ国内からと JST や GMT からのリモートでは比較対象になりませんけどね、笑。とまあ、拡散業務が当たり前の社風なので、本社の全会議室にはビデオ会議の設備があるなど、コミュニケーションを円滑にまわすための努力がところどころにあって、リモートでも快適にやれてます。

開発環境は本番環境とほぼ同じで、X はどういう仕組なんだろう?や、X と Y はどういう風に絡み合っているんだろう?といった好奇心を自分で満たせて楽しい感じです。ただ、良いことばかりではなくて、泣かされることもたまにあったりします。

最近の仕事

現在は既存のいくつかのシステムの次世代版を開発するチームに所属しています。担当分野はいずれリリースしてからブログに書こうと思います。

チームの活動内容的に、社内の調整がとても大事で、さすがにこればかりは JST からの参加は不利すぎないか?と思っていたのですが、アメリカ側のチームメイトがめちゃくちゃ頑張ってくれているおかげで、自分は快適だったり。すごく感謝してます。

楽なことばかりではないけど、世の中の CDN への期待の変化に第一線で応えるような会社なので、学べることが多く、引き続き頑張らねばと思う今日この頃です。

関連リンク

パリで幻のグリーンオイスターに出会う

Food Travel

クリスマスに腹を空かせながらパリのサンジェルマン・デ・プレを散策していたら、嬉しい出会いがありました。

green-oyster

牡蠣が食べたかった

サンジェルマンをうろうろしていたら、無性に牡蠣が食べたくなったので、その場で調べて突撃することにしました。クリスマス当日だったので、どこも閉まっていて、次の店で最後にしようと諦めかけていました。いざ足を運んでみたら、店内にお兄さんがいたので、その場でドキドキしながら、フランス語で「開いてる?」と聞いたところ、英語で「もちろん!入りなよ」と言われたので、ほっとして入りました。

グリーンと La Pousse en Claire オイスター

いろんな牡蠣が提供されていましたが、お兄さんに食べたほうが良いと勧められたグリーンと Pousse en Claire オイスターをミックスでいただきました。

french-oysters

あとから知ったのですが、これらの牡蠣は本当に特別なようで、期間限定でしか食べることができないようです。Pousse en Claire に関しては、ネット上での評判が特に良く、Financial Times が究極のオイスターと評しているほどです。味の方は、グリーンオイスターがあっさりで上品な味で、Pousse en Claire は塩味が効いた、より力強い味でした。

牡蠣のお供には、お兄さんに勧められたシャブリをデキャンタでいただきました。自分はお酒はあまり飲まない方ですが、勧められたワインと牡蠣との相性が抜群に良く、昼からぐいぐい飲めました。

chablis

フランスで英語を喋ると嫌がられると言われていますが、このお兄さんはとても気さくで、むしろ積極的に英語で話してくれました。

感謝

opium-paris

パリは今年、いろんなことがありましたが、彼のようなホスピタリティに溢れた若者に触れて、これからも世界中のみんなが訪れる町でいてほしいと思いました。

お店の詳細

Opium, La Cabane (TripAdvisor)

関連リンク

Kindle Paperwhite 2015 が良い感じ

Kindle Paperwhite (2015) を少し前に購入しました。

kindle-paperwhite

もともと iPad mini を購入する予定だったのですが、やりたいことは技術書やたまにフィクションを読みたいということに気づき、結果的に Kindle Paperwhite を選びました。

使い分け

以前から使っている Kindle 4 は米アマゾンのアカウント、Paperwhite は漫画が豊富な日本のアカウント用と使い分けています。この際、日米のアカウントを統合することも検討したのですが、なかなか踏み込めないでいます。また別の機会に考えよう。

Paperwhite 2015 の使い心地

画面出力 (1440x1080 @ 300ppi) とレンダリング速度ともに満足、というより素晴らしいと感じています。しかも軽い。強いて要望をいうなら、ページ送りの物理ボタンをもとに戻してほしいことでしょうか。Kindle Voyage を買えば解決ですが、どうせなら Paperwhite にもボタンを搭載してほしかったですね。

Paperwhite のバックライトも良い感じです。Kindle のバックライトを体験するのは今回がはじめてでして、いまさらながら暗い中で Kindle が使えることに感動しました。おかげで最近は読書しながら寝落ちする日々です。

少し高いですが、良い買い物をしたなと思います。

Kindle Paperwhite Wi-Fi、ブラック

Kindle Paperwhite Wi-Fi、ブラック