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

f:id:vasilyjp:20180927112721j:plain

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

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

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


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

続きを読む

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

f:id:vasilyjp:20180927112718j: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:20180927112714j:plain

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

続きを読む

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

f:id:vasilyjp:20180927112712j:plain

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

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

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

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

続きを読む

DigdagをHA構成にしてみた

f:id:vasilyjp:20180927112710j:plain

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

Digdagとは

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

tech.starttoday-tech.com

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

続きを読む

RubyKaigi2018参加レポート

f:id:vasilyjp:20180927112707j:plain

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

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

続きを読む

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

f:id:vasilyjp:20180927121919j: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で印象に残ったセッションの紹介、そして参加した感想をお伝えしたいと思います。

続きを読む

新卒エンジニアがカスタマーサポートを一度は経験しておくべき6つの理由

f:id:vasilyjp:20180927112705j:plain

(Headphones icon credit *1

こんにちは、2018新卒エンジニアの田島(@katsuyan121)です。
新卒研修の一環としてZOZOTOWNカスタマーサポートセンターにてカスタマーサポート研修に参加しました。
研修を受けるまではエンジニアがカスタマーサポート研修を受ける必要があるのだろうかと疑問に思っていましたが、実際にやってみると学びが多く会社としてもメリットがあると感じました。
そこで、本記事ではカスタマーサポート研修の内容とそのメリットをご紹介します。

続きを読む

トラブルシューティングから学ぶSQL Server統計情報の更新タイミング

f:id:vasilyjp:20180927112655j:plain

こんにちは。zozoバックエンド部の廣瀬です。

弊社のサービスではDBMSとしてMicrosoft社のSQL Serverを使用している箇所があります。 本記事では、過去に経験したSQL Server関連のトラブル及びその調査内容をご紹介し、最後にトラブルシューティングを通して策定した統計情報の更新に関する方針をまとめます。

続きを読む

iOSアプリの継続課金コンテンツに無料トライアル機能を導入する方法

f:id:vasilyjp:20180927112702j:plain

こんにちは!
最近暑いのでビール最高と感じている新事業創造部バックエンドエンジニアのりほやんです。
今回はAppleが提供しているお試し価格の機能のひとつである無料トライアル機能を紹介します。

お試し価格とは

お試し価格とは自動更新の定期購読に対して割引価格を設定したり、定期購読の開始時に一定の無料トライアル期間を設けることができる機能です。
お試し価格には都度払い、前払い、無料トライアルの3種類があります。

お試し価格はユーザーにとって、有料会員の体験ができるとても便利な機能です。
しかし公式ドキュメント以外の資料が少なく実装に何点か困ったことがありました。
そこで今回はお試し価格の無料トライアル機能を導入する方法についてご紹介します。
この記事が無料トライアルを導入しようか悩んでいる方、実際に無料トライアルを導入する方のお役に立てば幸いです。

続きを読む

CarthageでビルドしたフレームワークをGitにコミットせずに良さげに扱う

f:id:vasilyjp:20180927112700j:plain

iOSチームの@hiragramです。

所属するプロジェクトでは依存管理にCarthageを使っていますが、Carthageの成果物である Carthage/ 以下をコミットするかどうかはよく議論になる話題かと思います。 私はコミットしない派なので、そのメリットを残しつつデメリットをなくすためにやってみたことを紹介します。

続きを読む
カテゴリー