「さくらの夕べ × ハッカーズチャンプルー2023前夜祭 in Okinawa」レポート

はじめに

さくらのナレッジ編集部の法林です。

2023年10月6日(金)に「さくらの夕べ × ハッカーズチャンプルー2023前夜祭in Okinawa」を開催しました。こちらのイベントについてレポートします。

さくらの夕べとは

さくナレでもしばらく「さくらの夕べ」のレポートを載せていなかったので、まずどういうイベントなのかを紹介します。

「さくらの夕べ」は、さくらインターネットの取り組みを紹介し、参加者の皆さんとさくらのメンバーが交流することを目的とするイベントです。実は歴史は長く、第1回は2011年にまでさかのぼります。当初は東京で行っていたものが、各地に遠征したり、クリスマスにやってみたり(さくらの聖夜)、テーマ別になったり、はたまたコロナ禍にはオンラインイベントになったりと、時代に応じてさまざまな変化を遂げながら連綿と続いてきました。

今年に入ってからはコロナ禍も収束してきた感があり、再び会場でイベントができるようになってきました。さらに9月には当社の沖縄拠点「SAKURA innobase Okinawa」(さくらイノーベース沖縄)もオープンしました。そこで今回のさくらの夕べは、このSAKURA innobase Okinawaを会場に、沖縄のエンジニアの皆さんとの交流を目指して開催しました。

ハッカーズチャンプルーを盛り上げたい!

ハッカーズチャンプルーは、沖縄のITエンジニアコミュニティが集まって開催しているカンファレンスです。2013年から開催実績があり、さくらのナレッジでも過去に何度かレポートしています。

2018年開催時の集合写真

コロナ禍のため、2019年を最後に開催を休止していましたが、このたび4年ぶりの再起動となるイベント開催が決まりました。その話を聞き、ハッカーズチャンプルーの盛り上げに貢献したいという思いから、ハッカーズチャンプルーの前夜祭という形でさくらの夕べを実施することにしました。

SAKURA innobase Okinawaのご紹介

当日は45人ぐらいが集まり、前夜祭らしく最初から乾杯した後、前半はさくらインターネットの社員による発表を行いました。

最初の発表者はSAKURA innobase Okinawaのコミュニティマネージャーを務めている島袋瑞樹さんで、会場の紹介や、この施設でやっていきたいことなどを話しました。

さくらインターネットは企業理念として「『やりたいこと』を『できる』に変える」を掲げており、沖縄の人の「やりたいこと」を「できる」に変えていくための施設としてSAKURA innobase Okinawaが開設されました。「innobase」という言葉は「innovation」と「base」を掛け合わせたものですが、「イノー」は沖縄の方言で「サンゴ礁に囲まれた穏やかな海、礁池(しょうち)」を表す言葉でもあります。イノーで生物が育つように、ここから沖縄のスタートアップ企業が育ち、デジタルイノベーションを一緒に起こしていきたいという願いを込めて命名されました。

この施設で行っていく事業としては、DX人材育成プログラムやデジタルイノベーションの創出といったものがあります。その関係でパートナーとなっている沖縄ITイノベーション戦略センター(ISCO)うむさんラボといったスタートアップ支援を行う方々がここで働いています。さくらインターネットはリモートワークを基本としているためここには常設オフィスはなく、社員は必要に応じて出社しています。

そして、これらの事業と並行して、エンジニアコミュニティの皆さんとも一緒にやっていきたいということで今回のイベントを実施しました。まだオープンしたばかりの施設ということもあり、会場提供の基準などはまだ模索中という段階ですが、エンジニア系の勉強会については沖縄在住の社員がやりたいものだったらやっていきたいと考えています。この会場でイベントや勉強会をしたいという方は、当施設のウェブサイトにお問い合わせフォームがありますので、そちらからご相談ください。

参考

さくらインターネット、沖縄県那覇市にてDX拠点「SAKURA innobase Okinawa」を開所〜DX人材の育成とデジタルイノベーションの創出に向けた新拠点〜

Drone CIからGitHub Actionsに乗り換えたわ!!

ここからはエンジニア採用の新人2名が登壇しました。まずはクラウド事業本部の仲座涼太さんです。自己紹介によると中学生の頃からさくらのレンタルサーバを使っていたそうです。

前置きとして、入社後に受ける3か月間の研修(特に技術的な内容)と、研修を終えて業務の現場に入ったときの話がありました。仲座さんはさくらのクラウドのバックエンドチームに入ったのですが、2013年のサービス開始から10年間にわたって開発されてきた膨大なコード量に圧倒され、また数十人が携わるプロジェクトでの業務も初めての経験で、多くのことを学びました。

そんな中で最初は小規模な修正や機能拡充などの実装をしていたのですが、そのうち自分主体で何かやってみたいと思っていたところにマネージャーと話をする機会があり、CI/CD(継続的インテグレーション/継続的デリバリー)に関することをやってみたいと話したところ、今回の発表テーマであるDroneからGitHub Actionsへの移行プロジェクトを任されました。もっとも本人はその場の思いつきでこのテーマを挙げたらしく、担当することが決まってから改めて勉強した部分も多かったそうです。

CIツールを導入する動機としては、多人数でソフトウェアを開発する中で、ソースコードの表記揺れやテストなどの手順忘れといったヒューマンエラーを防ぐために自動化したいというのがあります。さくらのクラウドの開発においてはCIツールとしてDroneが使われていました。Droneを導入することにより、git push時にlinterを使ったチェックやテストが自動的に行われ、結果がSlackに通知されます。

DroneでもCIの運用はできますが、それをGitHub Actionsに移行する理由としては主にライセンスの問題があります。DroneにはOSS版とEnterprise版がありますが、OSS版は並列処理ができないため、複数のリポジトリがあるような大規模プロダクトの開発においてはネックになります。Enterprise版であればその問題は発生しませんが、アカウントごとにライセンスが必要なので今度はコストの問題が浮上します。ところが、GitHub ActionsにはDroneのEnterprise版に似た機能がたくさんあり、現在DroneでやっていることはGitHub Actionsでカバーできそうです。さくらインターネットではGitHub Enterpriseも利用しているのでGitHub Actionsも使える状況にあり、それなら移行しようということになりました。

GitHub Actionsを使ったCIにはいくつかの方法があります。シンプルな方法は、git pushしたらGitHubに置いてあるWorkflow.ymlの記述に従ってテストなどを行い、結果をSlackに通知するというものです。GitHub ActionsとGitHub Appsを併用する方法もあります。こちらの場合は、git pushなどのトリガーが発生したらGitHub AppsがRunnerと呼ばれるVMを生成してテストなどを実施し、結果を通知したらVMを破棄するという動作をします。今回は後者の方法でCI環境を構築しました。

移行作業は、すでに環境を整備していた先輩社員がいたのでスムーズに進めることができました。DroneもGitHub ActionsもYAMLで記述するので、その点は楽でした。苦労したのは、DroneではDocker Composeのような書き方でMySQLの変数の値を変更することができるのですが、GitHub Actionsで同じことをするにはコンテナ内でSQLコマンドを実行するという少々面倒な設定が必要なところでした。

移行作業を担当した感想としては、すんなり移行できてよかったのと、CI/CDについて理解を深めることができた点を挙げました。今後社内で新しいプロダクトを開発するときだけでなく、個人開発でも使う場面がありそうです。今後の課題としては、今回はGitHubのRunnerを先輩に用意してもらったので、Runnerも自分で用意できるようになりたいとのことです。

新卒エンジニア。入社して半年を振り返る

次の発表は同じくクラウド事業本部の知念航太さんです。こちらは技術トークというよりも、入社してからの研修や配属されてからの仕事を振り返り、さくらの新卒エンジニアがどんな感じで過ごしているかをお伝えするという内容です。

就活編

話は入社する前の就活編から始まりました。就職先を考える際に軸としていたのは「自社開発」「柔軟さ」「コミュニティ活動」の3つでした。「自社開発」は、ただコードを書きたいのではなく課題解決のために技術を活用したいとか、作って終わりではなくユーザの声を聞きながらアップデートを重ねていくようなことがやりたかったので、そのためには自社開発している企業で働くのがよいだろうと考えていました。「柔軟さ」は、知念さんはフロントエンドもバックエンドも興味があるので、両方に携わることができるような柔軟さを持った企業がよさそうという考えです。「コミュニティ活動」は、学生の頃からITコミュニティで活動してきたので、入社後もそれができそうな会社を探していました。さくらインターネットはコミュニティ主催イベントにも積極的に参加しており、また社内勉強会も多いのでよさそうだと感じていましたが、社員とカジュアル面談(正式な面接よりも前に実施する社員との雑談会)をしたときの雰囲気が良く、それが決め手になりました。

研修編

続いては入社後の研修です。研修には全社員が受講する全体研修とエンジニア向けの技術研修があります。全体研修では、会社の全体像の理解、ビジネスマナー、営業の同行、グループワークなどを行います。ここでの学びとしては、さくらのサービスが成り立ってきた歴史的な背景を知ることができたことと、営業やビジネスサイドの視点を知る機会は少ないので、それを体験できたことがよかったと感じています。一方、技術研修は、データセンター見学、サービスの技術構成の理解、グループでの開発、インフラからバックエンド・フロントエンドまでのハンズオン研修などがあります。こちらの感想としては、データセンターの設備や運用を学べたことや、グループ開発で自分があまり詳しくない部分(知念さんの場合はミドルウェアなど)を勉強できたことが大きかったようです。まだまだ知らない部分が多いと感じたのか、配属後も同期入社の人たちと一緒に技術書の輪読会を行って勉強しているそうです。

配属後

そして配属後の話です。最初に仮配属の期間があり、その間はさまざまなチームを巡りながら各種サービスの仕様を学んだり、ペアで小規模な開発タスクを消化するといったことをしていました。本配属後はさくらのクラウドのAPIやシステムログの収集に関する機能の開発を担当しています。技術的にはPHPやRuby on Railsなどを使っています。

実際に開発に携わってみて大変だったのは、10年以上続いているサービスならではの複雑な開発プロセスを理解することです。最近ではISMAP(政府情報システムのためのセキュリティ評価制度)への対応もあってさらに複雑化しているようです。しかし、個人開発では体験できないような大規模なサービスの全体像をどうやって把握するかとか、わからないところをどこまで自力で解決してどこから人に聞くかなど、多くの点で学びがありました。

それから、エンジニアリングにおける考え方としてToilの話がありました。Toilは直訳すると「労苦」で、手作業、自動化が可能、長期的な価値がない、などの作業を指します(詳しくは「SREの原則に沿ったトイルの洗い出しとトラッキング」を参照)。自動化するにあたっては、やろうとしていることがどれぐらいToilに該当するかを検討するのがよいという話があり、これが心に残っているとのことです。

最近はシステムログ収集に関する開発を行っています。特定のログを一定期間分抽出し、Slackで通知していますが、データが膨大なため処理が1日で終わらないという問題があります。そこでムダなクエリを減らすことで処理性能を向上させることを試みています。例えばN+1問題(ループ処理の中でその都度クエリを発行してしまい性能が低下すること)が起きていないか、テーブルを結合するタイミングは適切か、などを地道に調査しながら改善に努めています。こういった開発を通して、RailsのActiveRecord(ORM)の挙動やSQLの知識など、多くのことを学べました。

最後にまとめとして、研修では普段と違う視点の学びや体験ができたのが良かったのと、実務に入ってからはまだ慣れない点も多々あるものの、スキルだけでなく考え方などの面でも勉強になることがたくさんあったという話がありました。

ゆんたくタイムとライトニングトーク

発表の後は「ゆんたくタイム」と称して、参加者の皆さんと飲食を交えて歓談しました。SAKURA innobase Okinawaはレイアウトを自由に変更できるので、発表中に並べていた椅子を片付けて、料理や飲物のテーブルを中央に移動して立食形式で楽しみました。

そして、歓談で盛り上がってきたところで、ハッカーズチャンプルー参加者の皆さんによるライトニングトークを行いました。発表者とタイトルのみになりますがご紹介します。

  • 「沖縄でモバイルアプリの勉強会したいがやってる人が見つからねぇ」tamaki
  • 「BluePrintでプログラミング学ぼうって話」知念栄樹(沖縄高専)
  • 「土壌と植物で奏でるアート 農業における新たなパラダイム」中村真理(B&B Lab.)

中村さんの発表では、土壌の水分測定のシステムに「さくらのモノプラットフォーム」が使われていました。ご利用ありがとうございます!

そして発表者の皆さん、ご発表いただきありがとうございました!

おわりに

コロナ禍の期間は会場でのイベントができなかったので沖縄に行くことすらできず、今回筆者としては4年ぶりに沖縄を訪問しました。以前から交流のあったハッカーズチャンプルーの皆さんをはじめ、沖縄のエンジニアコミュニティの皆さんと再会できてとてもうれしく思いました。翌日に行われるハッカーズチャンプルーに向けても、前夜祭という形で盛り上げに貢献できたなら嬉しいです。ハッカーズチャンプルーの模様も別記事にてレポートしますので、お待ちください。

なお、今回のさくらの夕べの模様はYouTubeでも見ることができます。発表内容をさらに詳しく知りたい方は動画をご覧ください。このたびはさくらの夕べに多数ご来場いただきありがとうございました!

さくらの聖夜も沖縄で!

最後にひとつお知らせです。

さくらインターネットでは毎年、クリスマスの時期に「さくらの聖夜」というイベントを開催しています。当社の代表である田中邦裕さんのトークやエンジニアによる発表、懇親会(クリスマスケーキ付き)などでお楽しみいただいております。ここ数年はオンラインイベントとして開催してきましたが、今年は久しぶりに会場にて皆さんとお会いする形でイベントを実施します! 会場は2か所を予定しており、そのうちの1つがSAKURA innobaseOkinawaです。詳細は後日イベントページを公開してアナウンスしますが、日程と場所を以下に示しますので、ぜひお集まりください。

さくらの聖夜2023

  • 日程:2023年12月15日(金)
  • 場所:SAKURA innobase Okinawa、さくらインターネット東京支社
  • YouTube配信も予定

それではまた次回のイベントでお会いしましょう!