web-technical-blog

web開発に関する技術メモ

ULTRA Beer Bash 2017

ULTRA Beer Bash

地球にとどまらない!銀河レベルのAWS活用術

登壇者

  • 桑野 章弘 アマゾン ウェブ サービス ジャパン株式会社 /技術統括本部 ソリューションアーキテクト

日時

  • 2017/9/9(土) 12:00 - 12:45

AWSのグローバルインフラストラクチャ

  • 16のリージョン
  • 海外リージョンを使う話
  • この〇〇ってサービス東京にいつくるんですか?

海外リージョンを使うメリット

  • バージニアリージョンがサービスが早い
  • 新しいサービスをすぐに試すことが可能
  • AZが多いなどにより高い可用性を実現可能
  • 基本の価格も安いことが多い
  • グローバルなアプリケーションをよりラストワンマイルで提供可能

海外リージョン構成の種類

  • DR構成
  • マルチリージョン構成
  • 海外1リージョン構成
  • 一部の機能だけ利用
    • EMR,Redshiftだけはみたいな使い方

海外リージョン構成を組む際に重要な部品

  • クロスリージョンレプリケーション

  • Amazon Auroraクロスリージョンレプリケーション

  • DynamoDB Streams?

  • 他リージョンへのコピー高速化

    • クライアントからのコピーを高速化する
    • S3 Transfer Acceleration
    • AWSのマネージドバックボーンネットワークを活用した高速ファイル転送
  • レイテンシベースルーティング

    • クライアントから一番近いリージョンを選択してそちらにトラフィックを向ける
  • Amazon CloudFront

    • CDNはキャッシュだけでないアプリケーションにも効く
    • AWSバックボーンネットワークの活用
    • レイテンシベースルーティング
    • ネットワークパスのTCP/IP最適化
    • キープアライブ接続によりRTTを削減
    • SSL/ TLS最適化
      • ユーザーに近いSSL/TLS終端
      • OCSP Stapling
      • セッションチケットのキャッシュ
  • Amazon Route 53

    • AWSDNSサービス
    • Failover + Geo + Latency + Health Check

海外事例

  • HOYA様事例
    • DRサイトを使用
    • SAPシステムのDRサイトをシンガポールリージョンに構築
  • Gunosy
    • Kinesis Firehost Kinesis Analytics
    • ブログで紹介されている
    • ログデータを拡充
  • Slack様事例

    • アメリカのリージョン1つより、サービスしている
    • CloudFrontwo利用したグローバルアプリケーション
    • EC2が多い
    • APIアクセスにCloudFrontを利用している
    • エッジローケーション間は超高速なNWで接続
    • ユーザーのラストワンマイルの一番近いエッジローケーション
  • マルチリージョンの事例:NetFlix様事例

    • 全世界への配信を3リージョンで実施
    • Open Connectと言われる独自のCDN網を構築
    • リージョン間フェイルオーバ(ChosKong)
    • 3つのリージョンのトラフィック状況を可視化
  • 注意点1
    • Amazonさんならリージョン間のレイテンシもそのうち上がりますよ
    • スループットは出るとして、低レイテンシの実現は難しい
    • リージョン間で動機を取るということはそのぶんのレイテンシを消費するということ
  • 注意点2
    • 国内からの非常に低いレイテンシが必要
    • ある程度高速、かつ同期的な処理がある
    • コンプライアンスなどの理由で国内にデータを持つ必要がある

まとめ

  • 海外リージョンを活用するメリットを一度考えましょう

ヤフーにおけるビッグデータ活用

登壇者

  • 塚本 浩司 ヤフー株式会社 / データ&サイエンスソリューション統括本部 サイエンス本部

日時

  • 2017/9/9(土) 13:00 - 13:45

人工知能

  • 要件定義やまとめなシステム作る方が常に先に重要になる

Agenda

  • ヤフーでの技術

ヤフーの規模

  • 1ヶ月/675億ページビュー

サービス

  • Media
  • Search
  • Video
  • Answer
  • Mail

売上の観点から

  • 大量のコンテンツ・広告

組織からみた技術

ヤフーの技術

技術テーマ

  • 大規模

データ基盤

対話処理

音声認識もDeepLearning

画像処理

PUSH通知タイミングが重要

  • いかに開いてもらうのか
  • KPIは大事

ユーザー行動に基づきタイミングを最適化

慶應大学との共同研究で大規模ライブテスト

  • Yahoo!JAPANトップアプリ(Android版)に実装
  • 開封ペースが大幅に改善

広告サービスYDNとは

  • Yahoo Displayad Network
  • ヤフ主力広告サービス
  • ヤフーのページ内や外部パートナ〜にサイトに表示
  • クリック課金
    • 広告がユーザーにクリックされると広告主がサイトに支払い
  • 良いクリックを稼ぐ
    • ユーザーの特性や状況にあった広告表示

YDNの仕組み

  • その人・その状況に最も合った広告を選びたい
  • 基本戦略としてはその人・その状況における全ての広告のクリック確率を計算し確率の大きなものを表示
  • 数十万種の特徴を使ったクリック確率予測式を利用

技術的負債とのつきあい方 〜マイクロサービス、ハイブリッドクラウドへの道のり〜

登壇者

  • 城倉 和孝 株式会社DMM.comラボ / CTO
  • 佐藤 紘典 株式会社DMM.comラボ / CTO室リードエンジニア

日時

  • 2017/9/9(土) 14:00 - 14:45

負債はなぜ生まれるのか?

  • 品質に問題を抱えるコード
  • 無計画な設計と実装
  • アップデートの放置
  • トレンドの移りわかり

そして、優先すべきビジネス的な制約

  • 納期
  • 優先順位

どうやって借金を返済していくか

  • 小さく継続的に返済する(CD/CI)
  • 適切なタイミングで返済する

モノリシックな1モジュール

未来への不安

  • 優秀なエンジニアが来てくれないのでは?
  • 増員しても効率が上がらないのでは?
  • 新しい技術って永久に使えないの?
  • 負荷が増え続け、サーバー何台買えばいいの?
  • セキュリティリスクが心配

返済した負債(2013年ローンチ)

  • Viewを切り離して別フレームワークで開発
    • コードの可読性向上
  • PC向け、スマホ向けモジュールの統一
    • 改善が効率的
  • PHP5系へのバージョンアップ
  • 新プラットホーム構想
    • API化してサービスをRESTfulに接続したい

返済した負債(2015年ローンチ)

  • プラットホーム(OpenAPI)の完全分離
  • API認証(OpenID)導入

変わったこ

  • 開発言語
  • モジュール
    • マイクロサービス
  • コード管理
  • テスト
    • CicleCI,Jenkins,Selenum etc
  • デプロイ
  • インフラ
    • オンプレ(仮想中心),AWS,GCP,Azure
  • 環境構築
    • CicleCI,Terraform,Dokker etc
  • ドキュメント
    • Confluenceで共有
  • 開発手法
  • チケット管理
  • チャット
    • Slack