てくすた

ピクスタ株式会社のエンジニア・デザイナーがつづるよもやまテクニカルブログです

Redash導入とSQL勉強会の取り組みが雑誌に紹介されました!

ピクスタ開発部の星 直史 です。コンビニで商品を選ぶ時は、カロリーや値段ではなく、成分表を見て食べるものを選んでいます。

Software Design 2017年11月号に、データ可視化ツールRedash*1をピクスタに導入するまでの比較検討と、Redash導入後に社内で開催したSQL勉強会についての記事を寄稿しました。
記事のタイトルは「Redash+SQL勉強会で業務改善!エンジニア任せにしないデータ分析の基盤作り」です。

gihyo.jp

寄稿記事概要

ピクスタでは下記問題の改善をすべく、Redashを導入しました。

  • エンジニアがデータ抽出依頼対応に割く工数が増える
  • データ抽出完了待ちが発生する
  • 機械的にできることを手作業で行ってしまう

また、Redash導入後はディレクターや営業メンバーでもSQLを扱えるように、非エンジニア向けのSQL勉強会を実施しました。

Redash導入

記事の前半では、Redashが提供する機能や、Redash導入にあたり他の可視化ツールと比較検討した内容をまとめました。

  • 導入と撤退の容易性
  • コスト*2
  • サポート体制
  • Supersetとの機能差分と、Redashでできることの紹介

SQL勉強会

当初「DBからのデータ抽出はエンジニアしかできない><」という状態だったディレクターや営業メンバーが、「自分でクエリを組み立てて定期実行しましょう!」というレベルになるまでの取り組みについて書きました。

あるメンバーはSQLを覚えた後、Redashのダッシュボードや定期実行機能を使用して、これまで週2時間かけて作業していた週報が、Redashの導入によりほぼ自動で作成されるようになり、大幅な業務改善となりました。
また、エンジニアが行うデータ抽出の件数も減少し、エンジニアの工数削減にもつながりました。

SQL勉強会の取り組みについては、以前てくすた記事にもまとめているので、あわせてご覧いただけると幸いです。

texta.pixta.jp

今回寄稿した記事では、Redash導入から非エンジニアもSQLやRedashを扱えるまでの取り組みの全容を紹介していますので、前述の問題を抱えた組織や開発チームにとっての足がかりになるのではないでしょうか。

発売日

2017年10月18日(水)発売です!

ピクスタの開発部は、プロダクトの改善や開発環境の改善はもちろんですが、他部署の業務改善についても貢献をしています。
これは、部分最適ではなく全体最適を考えることを推奨しているためです。
開発部署内外問わず、より良い組織に向けて改善を続けるエンジニア達と一緒に働きませんか?

*1:https://redash.io/

*2:金銭的な意味でのコスト

開発環境構築にDockerを導入した話

fotowaチームでエンジニアをしているnagamotoです。 最近開発環境構築にDockerを導入しました。 その際の話をしたいと思います。

Dockerによる開発環境構築に踏み出すまで

背景

fotowaのアプリケーションは少なくともRails、PostgreSQL、Redisのサーバを必要とします。特別多いわけではないですが、環境構築にまずまずの手間がかかります。

また、開発端末はMacに統一されているわけではなく、Windowsを選ぶことも可能で、実際にWindowsを利用する人もいます。 そしてWindows端末で開発環境を整えるノウハウは溜まっておらず、各人のスキルに依存していました。

こうした背景から、開発環境構築へのDocker導入を検討し始めました。

メリットとデメリット

導入を決定する前に、Dockerのことを調べると、以下のようなメリット・デメリットが見えてきました。

メリット

  • 一度Dockerによるレシピを作成してしまえば、少数のDockerコマンド実行のみで、開発環境構築が終わる
  • 使用するのみであれば仮想環境等の知識を必要としない
  • Docker動作環境であれば、それぞれの環境の差分を吸収できる
  • 開発環境をコードで見える化、管理することができる

デメリット

  • Dockerの学習コストがかかる
  • 開発環境構築のレシピ(Dockerfile)を作成する必要がある
  • Webで探せる情報が十分とは言えない

個人的にDockerに興味を持っていたのもありますが、 メリットの方が上回ると考え、Docker導入を決定しました。

そして先日、自身と新しくチームに加わったメンバにおいては、Dockerで開発環境構築を実行するまでに至りました。

導入した感想

想定していたメリットではありますが、少数のコマンド実行で開発環境構築が終わるのは、新しく加わるメンバにとっては、アプリケーションコードに集中することができて、非常に大きなメリットだと感じました。 また、環境の差分がなくなることで、ノウハウを共有しやすく、教える側も教わる側もやりやすかったです。

また、公式imageを利用することで、PostgreSQL等のインストールやバージョン管理が簡単になり、ホストマシンの環境が汚れないことは非常に大きなメリットでした。

ただし、Docker自体が安定しているとは言い難い部分もあり、同じくWindows10のほぼ同じ環境でも、異なる挙動をしたり、そもそものDocker動作環境を整えることに手間がかかったことは想定外でした。 具体的には、以下ようなことが起こりました。

  • dockerが管理者権限でしか実行できない
  • 仮想環境用のメモリ確保に失敗する
  • Kitematic(dockerのGUIツール)が起動できない

まとめ

  • 何度も環境構築を行う場合は非常に便利
  • 環境が共有できると情報共有も捗る
  • Docker学習・導入コストは小さくはない

今後も少しずつDockerの学習を重ねて、開発環境の改善をしていきたいと思います。

ピクスタではエンジニア募集中です!