CodeDeployで構築するAutoScalingに追従可能なデプロイ環境

こんにちは。新事業創造部インフラチームの光野(kotatsu360)です。

先日、VASILY時代1から長らく使われていたCapistranoによるデプロイを見直し、CodePipeline+CodeDeployによるデプロイフローを導入しました。

CodeDeployはEC2 AutoScalingとよく統合されており、この新しいデプロイフローによって最新のアプリケーションコードをどう反映するかという悩みから開放されました。この記事ではそのフローについて設計と運用を交えつつ紹介します。


  1. 株式会社スタートトゥデイテクノロジーズはスタートトゥデイ工務店 + VASILY + カラクルの3社を統合し発足されました

続きを読む

Lambda@EdgeでCloudFrontへのアクセスをいい感じに振り分ける

f:id:vasilyjp:20180711150943j:plain(Icon Credit *1

こんにちは。PB開発部インフラチームの@inductorです。最近はすっかりインフラ勉強会というオンライン勉強会の運営が趣味になっています。

今回はLambda@EdgeというAWSのサービスを使って、CloudFrontへのアクセスを「細かいルール」を設定して振り分けてみたいと思います。

Lambda@Edgeについてもう詳しく知っているよ! という方は、次のセクションはスキップしてもらって構いません。もしよく知らないという方は、一緒に勉強してみましょう!

AWS Lambda@Edgeとは

Lambda@Edgeは以下の2つのサービスから成り立ちます。

  • AWS Lambda
  • Amazon CloudFront

CloudFrontのエッジロケーションにおいて、Lambdaで定義した任意のコードを実行できるというのがLambda@Edgeで、具体的には以下のような恩恵を得ることができます。

  • エッジロケーション(地域)に応じて表示させるコンテンツを変えたい
  • User-Agentなどに応じて取得するコンテンツを変えたい
  • アクセス元のIPアドレスによって表示させるコンテンツを変えたい
    • 開発環境に、アクセス元IPが自社でない場合のみBasic認証を導入したい
  • 実際に叩かれるURLと、S3などから実際に取得する資源のURIを変更したい

この他にも、CloudFrontから取得できるデータに応じて様々な対応を柔軟に行えるのが特徴です。

続きを読む

スタイルを基準としたコーディネートのクラスタリング

f:id:vasilyjp:20180705092656j:plain

スタートトゥデイ研究所リサーチャーの中村です。 今回は、コーディネートからスタイルを自動抽出する技術に関するアイデアの紹介です。こちらは、企業研究所による研究発表カンファレンス (CCSE2018)でも同様の内容で発表させていただきました。 そのときに使用した資料はこちらです。

続きを読む

OpenAPIのschema定義からRubyのクラスを生成するgem「openapi2ruby」をつくりました

f:id:vasilyjp:20180626100251j:plain

こんにちは。スタートトゥデイテクノロジーズ新事業創造部のid:takanamitoです。
今日はVASILY時代から活用されているOpenAPI(Swagger)の定義からRubyのクラスを自動生成するgemを作ったので、その紹介をしようと思います。

Swaggerの定義と実際のAPIが返すレスポンスの内容がズレている

弊社ではVASILY時代からSwaggerの導入が進んでいましたが、徐々に「Swaggerの定義と実際のAPIが返すレスポンスの内容がズレている」といった問題が発生しはじめていました。

その問題を解決するために今回つくったのがこのgemです。 github.com

続きを読む

DigdagをHA構成にしてみた

こんにちは、最近のマイブームはマヌルネコ動画な新事業創造部バックエンドエンジニアの塩崎です。 今回のテックブログでは、以前にDigdagを紹介した記事の続編として、DigdagをHA構成にするためのTipsなどを紹介します。

Digdagとは

Digdagはワークフローエンジンと呼ばれるソフトウェアです。 複数個のタスク間の依存関係からなるワークフローを定義し、そのワークフローの実行及び管理を行います。 この説明だけですと、何が便利なのかいまいちピンとこない方が多いかと思います。 ですが、かゆいところに手が届く便利ソフトウェアです。 具体的なかゆいところの紹介は以前にDigdagを紹介した記事の前半部分に書かれています。 Digdagを使用したことのない方はこちらを読んでから本記事を読み進めると理解しやすいかと思います。

tech.starttoday-tech.com

さて、前回の記事ではDigdagを使うメリットの1つとしてHA構成を紹介しましたが、それを実現するための具体的な設定などについては紹介していませんでした。 今回はDigdagでHA構成を実現するために必要な構成要素や設定ファイルなどを紹介します。

続きを読む

RubyKaigi2018参加レポート

f:id:vasilyjp:20180612102434j:plain

こんにちは、バックエンドエンジニアの田島(@katsuyan121)です。 5/31〜6/2にかけて仙台で開催されたRubyKaigi2018に、スタートトゥデイテクノロジーズから5人が参加しました。

今年のRubyKaigiは3日間で50を超える講演があり、参加者も1000人を超える大変大規模なカンファレンスでした。たくさんの講演の中で、スタートトゥデイテクノロジーズのエンジニアが興味を持ったものを、この記事でいくつか紹介します。 また今回スタートトゥデイテクノロジーズはスポンサーブースを出展したので、そこで得られたことを共有します。

続きを読む

Google I/O 2018に参加して報告会を行いました

f:id:vasilyjp:20180611164236j:plain

こんにちは!スタートトゥデイテクノロジーズ新事業創造部の堀江(@Horie1024)です。 2018年5月8日〜5月10日にかけて、カリフォルニア州マウンテンビューにあるショアライン・アンフィシアターで行われたGoogle I/O 2018(以下I/O)に新事業創造部の堀江、権守、茨木、そして代表取締役CIOの金山の4名で参加してきました。

また、帰国後の5月29日にDMM.comグループさん主催のGoogle I/O 2018 参加報告会で堀江、権守、茨木が登壇しI/Oで得た知見を発表しました。

本記事では、 参加報告会での発表内容の紹介とI/Oで印象に残ったセッションの紹介、そして参加した感想をお伝えしたいと思います。

続きを読む