MIRU 2018本会議・若手プログラム参加報告

こんにちは。スタートトゥデイ研究所の真木です。 8月5日から8月8日にかけて開催されたMIRU 2018という学会に行ってきました。また、5月下旬から約2か月間にわたって実施されてきた「MIRU若手プログラム」という 若手研究者同士 の交流プログラムにも参加してきたので、今回はその報告をします。

続きを読む

AWS CloudFormationをフル活用してAmazon RDS for MySQLからAmazon Auroraへ移行する

f:id:vasilyjp:20180809145750j:plain こんにちは。新事業創造部インフラチームの内山(@k4ri474)です。

弊社が運営するIQONというサービスでは、長らくMySQLのバージョン5.6.27を利用していました。これは2018年9月にEOLを迎えるため、RDSの方針として強制アップグレードがアナウンスされています。
MySQLを継続する選択肢もありましたが、Auroraの運用知見が溜まっていたということもあり、これをキッカケにMySQLからのAurora移行を実施しました。

新事業創造部ではほぼ全てのAWSリソースをCloudFormationを使って宣言しているため、例に漏れずAuroraもテンプレートへ落とし込むことにしました。
ただ、CloudFormationだけで完結しない作業があったので、今回はCloudFormationでの宣言とコンソールからの手作業を織り交ぜるという対応を取っています。

執筆時点の公式ドキュメントではカバーできていない需要を満たすべく、CloudFormationを使ったAmazon Auroraへの移行の手順を皆さんに共有したいと思います。

続きを読む

Google Cloud Next '18 参加レポート

こんにちは! スタートトゥデイテクノロジーズ新事業創造部の塩崎です。 2018年7月24日〜26日にかけてサンフランシスコでGoogle Cloud Next '18が開催されました。 このイベントに新事業創造部の塩崎、今村、そして代表取締役CIOの金山の3名で参加してきました。

この記事では多数あった講演の中で特に印象に残ったものをいくつか紹介いたします。

続きを読む

iOSアプリの多言語対応について

f:id:vasilyjp:20180802165058j:plainこんにちは。新事業創造部の荒井です。 今回はiOSアプリの多言語対応について紹介します。

はじめに

私は今までいくつかのiOSアプリを運営してきましたが、どのアプリも日本語のみのサポートでした。現在関わっているWEARでは、すでに多言語対応が進められており、良い機会ですので個人的に知見がなかった多言語対応について調査をしました。今回は基本となる文字列の翻訳について触れていきたいと思います。

続きを読む

集合データを学習するモデルの紹介

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

こんにちは。スタートトゥデイ研究所の後藤です。

今回は、集合を入力として扱うネットワークモデルの紹介をしたいと思います。機械学習の多くのモデルは、固定長の入出力や順序のある可変長の入出力を扱うように設計されます。画像データやテーブルデータは各サンプルの入出力の次元を合わせて学習しますし、自然言語処理のコーパスや時系列データは入出力の順序を保持して利用します。

その一方で、可変長で順序のない集合データを扱うモデルの研究は最近になって取り組み始められたばかりです。我々が研究しているファッションの領域において、入力データを集合として扱いたくなる状況がたびたびあるため、理解を深めておきたい問題設定です。

続きを読む

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から取得できるデータに応じて様々な対応を柔軟に行えるのが特徴です。

続きを読む