こんにちは、メディアエンジン株式会社でエンジニアをしているナバロです!
これから出会う素晴らしいエンジニアの方々のために、
弊社のことが分かる記事をどんどん書いていこうと思います。
それの第1弾として社内のシステムを一部公開します!!
弊社では、コンテンツマーケティング事業をやっており、
社外、自社メディアともに成長させるように尽力しています。
具体的な業務は下記になります!
- 記事制作
- メディア改善のためのPDCA
今回は、コンテンツマーケティング事業を成功に導く、メインのシステムを2つご紹介します!
メインシステムのご紹介!!
コンテンツマーケティング事業と密に関わる2つのシステムです!
記事制作ディレクションシステムの使われ方
記事を作る過程で、ディレクターやライターなど、数人が関わって一つの記事を作っていくのですが、効率よく連携しながら記事制作していくためのシステムです。
具体的には、記事制作に必要な情報の集約や、記事制作の進捗管理を行っています。
また記事案件ごとに単価を設定しているので、
記事制作に関わった人たちの支払い管理も行っております。
記事作成補助システムの使われ方
SEO上で順位を上げるための調査・分析のためのシステムです。
人力で調査すると膨大な時間がかかってしまうのと、また、属人化してしまうので
だれでも簡単に調査できるようにシステムで自動化しています。
営業の方が、営業支援ツールとして使ったり、ディレクターやライターが高品質の記事を作るために利用しています。
フロントエンドには、Slack Botを使ったり、Jenkinsを使ったりしています。
エンジニアからしたら、JenkinsはCI/CDツールだったりするのですが、
弊社ではエンジニアではない人たちが、ジョブ機構を利用して、各々の調査をジョブにやらせています。
システムの詳細
記事制作ディレクションシステムはHerokuの上で動いています。
フロントエンドにはNuxt.jsを使っており、バックエンドでは、DockerコンテナでRails APIが動いています。
また、Herokuということもあり、PostgreSQLをそのまま利用しております(HerokuではPostgreSQLのサポートが手厚かったので)
エンジニア以外も自分の欲しいデータを取得できるように、RedashというBIツールを開放しています。
記事制作補助システムは、旧APIと新APIの2つがあります。
だいぶ簡略化した図になってますが、旧APIはAWSのECS上でRails APIが動いています。
元々は旧APIだけで運用をしていたのですが、処理量やパフォーマンスに限界が出てきたため、
構成的にスケーリングしやすいLambda構成の新APIに移行を始めています。
新APIでは、Lambdaを使うことにより、旧APIの弱点だった、スケーリングを容易にしてます。
Go言語を採用した理由としては、コンパイルするとバイナリになるので、どんな環境でも起動できるのと、起動が軽いためです。ただ、まだ検証中なので、Lambdaのメインの言語が変わる可能性もあります。
記事制作補助システムは膨大な量の処理をしているので、時間がかかるのですが、Lambdaで並列処理をすることで時短を狙ってます。(ここは試し中です)
記事制作補助システムでは、大量のデータを扱います。そのデータをそのままBigQueryに挿入し、
BIツール(Redash, Google Data Studio)などを使い可視化して分析なども行っています。
まとめ
少し長くなってしまったので、一旦ここで終わりたいと思います!
また、別の記事では、エンジニアの開発フローについて説明できたらと思います!
小さいベンチャーながらも様々な技術を使っています!
弊社では、エンジニアを募集しているので、気になる方はぜひ一度ご応募ください!
技術の話でもして盛り上がりましょう!