エムスリーテックブログ

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

Pythonの機械学習用Docker imageのサイズ削減方法の紹介

エムスリーエンジニアリンググループ AIチームの笹川です。

バスケと、ロードバイクが趣味なのですが、現在、NBAのplayoffと、Tour de Franceが同時に開催されていて大変嬉しい毎日を過ごしています。 特にNBAのplayoffは、連日overtimeとなるような激戦や、giant killingがあったりのアツい戦いが繰り広げられていて最高です。

そういう状況なので(?)、今回は先日取り組んだ、Pythonの機械学習バッチを実行するdocker imageのサイズ削減についてのアツい戦いについて紹介したいと思います。

f:id:hsasakawa:20200918070342j:plain
膝の上に登って寝る為に、筆者がデスクに戻るのを机の下で待ち構える犬氏(かわいい)

今回の取り組みでは、もともと3GB程度だったPythonのML用のimageを、約2.0GBに削減することができました(それでもなかなかのサイズ。MLのimageは特に大きい印象です)。 Docker imageのサイズ削減については、docker push、pull、buildのコストが下がることによりCIの高速化や、実行時のspin upが速くなるなどのメリットがあります。 また、今回はサイズの削減と合わせて、開発用imageと、本番用imageの管理についても合わせて考えてみたいと思います。

続きを読む

BIT VALLEY 2020 にて『 Infrastructure as "型付き" Code - 急成長する事業のインフラ再構築 』を発表しました

エムスリー エンジニアリンググループの山口 (@no_clock) です。

2020/9/9 (水) 〜 2020/9/12 (土) に開催されたカンファレンス「 BIT VALLEY 2020 」にて、「 Infrastructure as "型付き" Code - 急成長する事業のインフラ再構築」を発表しました。

続きを読む

社内サービスを一括・即座・セキュアにリモートワーク開放した話

はじめまして。

エムスリーエンジニアリンググループSREチームの山本です。

先日来のリモートワーク促進の中、弊社でも多くの社員がオフィス外から接続するようになりました。 もちろん、VPNを利用すれば社内のサービスも利用できますが、VPNの使用量が一気に増えるとそちらの制限にかかります。 今回「VPNを可能な限り利用せず、なおかつセキュアに社内のサービスを利用してもらう」という課題に取り組みましたので、ここでその紹介をさせてください。

  • 前提
  • 方針
  • クライアント証明書の問題点
  • 一括でのSSL化・証明書検証
  • ドメイン変換
  • 実際の設定
    • Squidの設定(抜粋)
    • unboundの設定
    • nginxの設定(クライアント証明書検証)
    • nginxの設定(HTTPサーバに対するproxy)
    • nginxの設定(個別対応)
  • ブラウザのProxy設定
  • その後発生した問題
    • ポート問題
    • Hostヘッダ問題
    • 戻りヘッダ問題
    • 解決できなかった問題
  • セキュリティ上の注意
  • まとめ
  • We're hiring

前提

  • VPNは可能な限り使わずに作業を可能とする
  • 社内の人間は数多くの社内サーバを利用しており、そのサービスはインターネット公開されていない
  • 社員が利用するPCにはクライアント証明書は配布している
  • 緊急事態宣言発令で一気にVPN利用者が増えそうなので、数日のうちにでもVPNレスでセキュアな接続を実現してほしい

もともと社内と社外は普通は別のネットワークですので「VPNを利用しなければ社内サーバに接続できない」という形は普通です。 f:id:atzy-yama:20200910125522p:plain

しかし、リモートワークが盛んになった、特に急増したときには…どうなるでしょうか? f:id:atzy-yama:20200910125743p:plain

VPNはパンクしてしまいます。新規接続ができなくなったり、あるいはVPNの設定で短時間に接続を切断することを強制するなどといった手当を取ることで非常に不便になってしまいます。

これをなんとかする、というのが今回の話です。

続きを読む

ROSでSLAMラジコンをつくった

エムスリーエンジニアリンググループ/BIRの滝安(@juntaki)です。 BIRはビジネスインテリジェンス&リサーチの略で、そこでは医療従事者の会員向けアンケートをベースに、製薬会社へのマーケティング支援を提供する事業を行っています。

さて、BIRの事業とはまったく関係ないのですが、先日のTechTalkでROSを使ったSLAMラジコンについて発表したので、紹介したいと思います。

デモ

www.youtube.com

続きを読む

Zoomでつかえる自動字幕ツール(AmiVoice/Go)

エムスリーエンジニアリンググループ/BIRの滝安(@juntaki)です。 BIRはビジネスインテリジェンス&リサーチの略で、そこでは医療従事者の会員向けアンケートをベースに、製薬会社へのマーケティング支援を提供する事業を行っています。

さて、BIRの事業とはさほど関係ないのですが、先日のTechTalkROSを使ったSLAMラジコン(この話も今度ブログに書こうと思います)について発表をしました。その際に、Zoomの画面共有にかぶせられる自動字幕ツールを作って使ってみました。今回の記事ではその構成と使い方について説明します。

デモ

youtu.be

続きを読む

FireTV stickを懐かしのコインタイマー化

エムスリー エンジニアリングGの岩本です。

会社ではWeb開発をインフラ・サーバサイド・フロント・運用全てを担っています。 一方家ではDIY・IoT・スマホアプリなどを作る子育てエンジニアやっています。 今回は子育てのために作ったFireTV stickのコインタイマー化を紹介します。 まず作ったものはこちら。

www.youtube.com

続きを読む

QAエンジニア採用のために、ペルソナを作成してみたお話

こんにちは。エンジニアリンググループ クオリティアシュアランス(QA)の窪田です。あっという間に時間が過ぎてしまっていることに焦りを感じています。今年度から採用にも関わらせていただいており、様々な施策を実施中です。今回は、ひょんなことから採用のためのペルソナを作成し、社内展開したところ、ポジティブな声が多く上がったため、ペルソナ作成の過程とその結果の例をご紹介したいと思います。

続きを読む