エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

エムスリーの IaC 3年史(と、インフラのこれから)

こんにちは! エムスリーエンジニアリンググループ、 SRE の平岡(@uhtter)です。 こちらは エムスリー Advent Calendar 2021 の14日目の記事になります。

私がエムスリーに入社してから3年経ちました。 エムスリーではこの3年間の間に、チームSREの文化が誕生・醸成し、クラウド移行(=脱オンプレ)の活動が盛んに行われてきました。 その結果、インフラの全体像も変化を重ねていくこととなり、それに伴い IaC の構成も大きく変わっていきました。 この記事ではその変遷を辿っていきながら、今後のインフラの展望について考えてみたいと思います。

f:id:uhm3:20211213212253j:plain
インフラは一日にしてならず。

続きを読む

AWS FargateのARM(Graviton2)は使うべき? (2021年12月時点)

こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 本記事はエムスリー Advent Calendar 2021 の13日目の記事です。

先日、AWS FargateのGraviton2への対応が発表、リリースされました。

aws.amazon.com

Apple M1の処理性能でも話題になったARMプロセッサをFargateでも使えるようになったということで、 今回はちょうど開発中のAPIサーバの負荷テストも兼ねて、x86とARM(Graviton2)の性能を比較してみました。

f:id:fukubaya:20211210145139j:plain
伊田商店街は福岡県田川市の商店街。本文には特に関係ありません。

続きを読む

ソフトウェアテスト自動化カンファレンス2021に登壇しました

こんにちは! エムスリーエンジニアリンググループ QAチームの城本(@yuki_shiro_823)です。 これは エムスリー Advent Calendar 2021 の12日目の記事です。

f:id:yuki_shiro:20211210143608p:plain
※写真はイメージです
前日は id:Hi_king による、「機械学習で逆ストリートビューを作り、写真から港区らしさを判定する」でした。

12/11(土)に行われたソフトウェアテスト自動化カンファレンス2021に「mablの導入と開発・QA間の協力体制」というタイトルで発表してきました! 当日の発表資料はこちらです。

speakerdeck.com

  • 「ソフトウェアテスト自動化カンファレンス」とは
  • 発表のサマリ
    • mablとは何か
    • 導入の経緯、実際に使ってみた所感
    • チームから得られた協力
  • 発表してみた感想
  • We're hiring!
続きを読む

機械学習で逆ストリートビューを作り、写真から港区らしさを判定する

f:id:Hi_king:20211207223201g:plain
テストデータでの予測結果

先日新橋を散歩していたときの会話。

妻 "こういう路地って新橋らしさあるよねー"

私 "本当です?どういうところで当てられるの?"

妻 "歩道の雰囲気?"

私 "うーん"

ということで、MLエンジニアたるもの、そんなことが本当にできるのか機械学習で検証してみましょう。

続きを読む

クラウド電子カルテに頑張らないデザインシステムを導入する

これは エムスリー Advent Calendar 2021 の10日目の記事です。

エンジニアリンググループの山本です。 業務ではエムスリーデジカルというクラウド電子カルテの開発をしています。 今回はデジカルのフロントエンド(AngularJSとReactで構成されています1)にデザインシステムを導入した話を書いてみました。

  • 完璧を目指さない
    • Interfaceを考える
    • Exampleコンポーネントを作る
  • 実装方針
    • その他検討したこと
    • ざっくり紹介
  • まとめ
  • We are hiring!

  1. 予てより移行作業中です。手伝ってくれるエンジニアを募集しています。

続きを読む

LookerによるダッシュボードのアーキテクチャとTerraform providerの実装と運用

これは エムスリー Advent Calendar 2021 の9日目の記事です。 前日は id:kitagry による、k8sのカスタムリソースで、CronJobの終了を検知してJobを実行する でした。

エムスリーエンジニアリンググループ AI・機械学習チームの笹川です。 趣味はバスケと筋トレで、このところはNBAの2021-2022シーズンが昨シーズンからガラッと様相が変わってめちゃくちゃ面白くなっているのをニヤニヤしながら見ています。

今回は、弊社がクライアント企業様向けに提供しているLookerを用いたダッシュボードのためのアーキテクチャの紹介と、その構成管理のために実装したTerraform providerの実装について紹介します。

f:id:hsasakawa:20211208091040j:plain
筆者の膝の上に登ってきて寝ることで作業邪魔する犬氏(かわいい)

  • クライアント企業様へのダッシュボードの提供
  • ダッシュボードのアーキテクチャ
    • アーキテクチャの狙い
    • 細かな工夫
  • Terraform providerの実装
  • まとめ
  • We are hiring!
続きを読む

Goによる動的なJSON生成パターンの比較検討~Elasticsearch Query生成機構を求めて~

こちらの記事はGo アドベントカレンダー2021の8日目の記事です。

qiita.com

エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。好きな言語はGo。情報検索系の話が好物です。

弊社の検索基盤ではElasticsearchをGoから叩いています。ElasticsearchのクエリはJSONになるので、ユーザーからのHTTPリクエストから巨大JSONを動的に生成する処理が発生します。これをどのように実装するかはさまざまなパターンがあります。今回はElasticsearchのクエリ生成を例に、JSON生成パターンをまとめて検討していきます。

続きを読む