63
コンテナとAIで感動を! データ駆動型サービスの為の生きたプラットフォーム構築 AWS Summit Tokyo 2019 Copyright © 2019 Pioneer Corporation. All Rights Reserved.

コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

コンテナとAIで感動を!データ駆動型サービスの為の生きたプラットフォーム構築

AWS Summit Tokyo 2019

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 2: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

パイオニア株式会社

• 創業:昭和13年(1938)1月1日

• 本社:東京都文京区本駒込2-28-8

• 従業員数:15,104名(連結ベース:2019年3月末)

• 主な事業– カーエレクトロニクス事業

• 市販事業、OEM事業、地図事業、自動運転関連– Smart Loop、テレマティクス、カーソリューション

– その他の事業

• 医療・健康機器関連、光ディスクなど

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 3: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

自己紹介

• 三ツ井 哲也(Tetsuya Mitsui)

• 所属

– パイオニア株式会社 技術開発部

技術統括部 情報サービス第1技術部 1課

• 主な業務

– カープローブデータを活用した新サービスの開発

• ヒヤリハットマップ

• 車両事故リスク予測

• 好きなアマゾンウェブサービス(AWS)

– Amazon EMR

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 4: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

カーナビの通信サービスの歩み1999 2002 2004 2006 2007 2009 2013 2016 2018

目的地検索

ルート探索

渋滞情報

情報収集

セキュリティ

サーバ地点検索

画像プローブデータ

天気情報配信

駐車場満空情報(リアルタイムコンテンツ)

サーバ音声認識検索

ライブカーセキュリティ・アクシデントインフォ

オンデマンドVICS

スマートループ渋滞情報(33万km)

スマートループ渋滞情報(70万km)

スマートループアイ(画像)

プローブデータ

VICS:渋滞や交通規制などの道路交通情報を、FM多重放送やビーコンを使ってリアルタイムにカーナビに届けるシステム。

プローブデータ:走行中のクルマから収集されるさまざまな情報のこと。例)位置情報や速度情報など。

サーバルート探索

スーパールート探索

気象予報

マイカーシーク

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 5: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

テレマティクス/カーソリューション

Intelligent Pilot• デジタル地図データや、プローブ情報、

事故発生地点データ、天候、個人の運転傾向などから統合的に事故や危険を予測して警告する先進運転支援システム。

Vehicle Assist• カーナビゲーションやドライブレコー

ダーなどを用いて業務車両の動態管理や業務指示、危険運転の把握などの高度な運行管理・支援を行える独自のサービス。

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 6: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

アジェンダ

パイオニアを取り巻く環境の変化と課題

プラットフォームの全体像

Amazon EKSへの移行とオペレーションの改善

Amazon SageMakerによる画像データ利用の改善

まとめと今後の展望

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 7: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

パイオニアを取り巻く環境の変化

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 8: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

パイオニアを取り巻く環境の変化

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

変化への迅速な対応が求められる

Page 9: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

パイオニアを取り巻く環境の変化

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

変化への迅速な対応が求められる 利用増加に伴う柔軟なリソース調達が求められる

Page 10: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

変化に対応する為の課題アプリケーションリリースサイクルの短縮

• 環境に依存したソースコード

• お客様へ提供できる価値の明確化

• 開発と運用の分離

サービスを駆動させる為のモデルデータの継続的な更新

• モデルデータの更新と本番適用

利用増加や変更に伴う柔軟なインフラリソース調達

• IaaS(ベアメタル)中心の現行インフラ

• ドキュメントでのインフラ変更管理

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 11: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

変化に対応する為の課題アプリケーションリリースサイクルの短縮

• 環境に依存したソースコード

• お客様へ提供できる価値の明確化 → デジタルイノベーションプログラム

• 開発と運用の分離

サービスを駆動させる為のモデルデータの継続的な更新

• モデルデータの更新と本番適用

利用増加や変更に伴う柔軟なインフラリソース調達

• IaaS(ベアメタル)中心の現行インフラ

• ドキュメントでのインフラ変更管理

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 12: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

デジタルイノベーションプログラム

• アマゾンにおけるイノベーションの考え方やフレームワークを参考にして、事前準備とワークショップ形式でイノベーションを促進するためのきっかけづくりを行う

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 13: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

デジタルイノベーションプログラム

• アマゾンにおけるイノベーションの考え方やフレームワークを参考にして、事前準備とワークショップ形式でイノベーションを促進するためのきっかけづくりを行う

プレスリリース(Working Backwards)お客様視点で考え、新規開発の元となるアイデアを形にしていく

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 14: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

デジタルイノベーションプログラム

• アマゾンにおけるイノベーションの考え方やフレームワークを参考にして、事前準備とワークショップ形式でイノベーションを促進するためのきっかけづくりを行う

プレスリリース(Working Backwards)お客様視点で考え、新規開発の元となるアイデアを形にしていく

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 15: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

アジェンダ

パイオニアを取り巻く環境の変化と課題

プラットフォームの全体像

Amazon EKSへの移行とオペレーションの改善

Amazon SageMakerによる画像データ利用の改善

まとめと今後の展望

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 16: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

今までのプラットフォーム

Corporate data centerクラウド(IaaS主体)

AWS Cloud

Hadoop Cluster

Amazon EC2

各種機能サーバー群

エンタープライズ対応のKubernetesコンテナプラットフォーム

ベアメタルサーバ

クライアントデータベース

オブジェクトストレージ データ転送サーバ

Gitサーバ

可視化サーバ

分析環境

ソースコードビルド環境

Dockerビルド環境

各種ログカープローブデータ

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 17: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

今までのプラットフォーム

Corporate data centerクラウド(IaaS主体)

AWS Cloud

Hadoop Cluster

Amazon EC2

各種機能サーバー群

エンタープライズ対応のKubernetesコンテナプラットフォーム

ベアメタルサーバ

クライアント

データベース

オブジェクトストレージ データ転送サーバ

Gitサーバ

可視化サーバ

分析環境

ソースコードビルド環境

Dockerビルド環境

各種ログカープローブデータ

データと分析環境が分離

ビルド環境が分離柔軟なリソース調達が難しい

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 18: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

新しいプラットフォーム

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

クラウド(IaaS主体)

クライアント

AWS Cloud

AWS Batch

Amazon Elastic Container

Service for Kubernetes

Amazon Aurora Amazon DynamoDB

AWS CodePipeline

AWS CodeBuild

Amazon SageMaker

Notebook

Amazon Simple Storage Service

(S3)

Amazon QuickSight

Amazon AthenaAWS Glue

Amazon EMR

GitHub

Registry

各種機能サーバー群 データ転送サーバ

アプリ向けデータ層

開発者

Amazon SageMaker

分析環境

ソースコード&docker

ビルド環境

データレイク

データパイプライン

可視化環境

AWS Lambda

Page 19: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

データ駆動型サービスとは• 継続的な可視化からの気付き

– データパイプライン+Amazon QuickSight

• 何時でもHotな分析環境– データパイプライン+データレイク+Amazon SageMaker Notebook or

Amazon Athena

• モデルデータの継続的な更新+アプリケーションの継続的デリバリー– データパイプライン+Argo CD +Amazon EKS– データパイプライン+Amazon SageMaker

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 20: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

データ駆動型サービスとは• 継続的な可視化からの気付き

– データパイプライン+Amazon QuickSight

• 何時でもHotな分析環境– データパイプライン+データレイク+Amazon SageMaker Notebook or

Amazon Athena

• モデルデータの継続的な更新+アプリケーションの継続的デリバリー– データパイプライン+Argo CD +Amazon EKS– データパイプライン+Amazon SageMaker

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

変化に迅速に対応可能なサービス提供環境を実現!

Page 21: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

クラウド(IaaS主体)

クライアント

AWS Cloud

AWS Batch

Amazon Elastic Container

Service for Kubernetes

Amazon Aurora Amazon DynamoDB

AWS CodePipeline

AWS CodeBuild

Amazon SageMaker

Notebook

Amazon Simple Storage Service

(S3)

Amazon QuickSight

Amazon AthenaAWS Glue

Amazon EMR

GitHub

Registry

各種機能サーバー群 データ転送サーバ

アプリ向けデータ層

開発者

Amazon SageMaker

分析環境

ソースコード&docker

ビルド環境

データレイク

データパイプライン

可視化環境

AWS Lambda

データ駆動型サービスの為の生きたプラットフォーム

Page 22: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

クラウド(IaaS主体)

クライアント

AWS Cloud

AWS Batch

Amazon Elastic Container

Service for Kubernetes

Amazon Aurora Amazon DynamoDB

AWS CodePipeline

AWS CodeBuild

Amazon SageMaker

Notebook

Amazon Simple Storage Service

(S3)

Amazon QuickSight

Amazon AthenaAWS Glue

Amazon EMR

GitHub

Registry

各種機能サーバー群 データ転送サーバ

アプリ向けデータ層

開発者

Amazon SageMaker

分析環境

ソースコード&docker

ビルド環境

データレイク

データパイプライン

可視化環境

AWS Lambda

データ駆動型サービスの為の生きたプラットフォーム

Page 23: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

アジェンダ

パイオニアを取り巻く環境の変化と課題

プラットフォームの全体像

Amazon EKSへの移行とオペレーションの改善

Amazon SageMakerによる画像データ利用の改善

まとめと今後の展望

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 24: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

自己紹介

• 篠隈 仁志(Hitoshi Shinokuma)

• 所属– パイオニア株式会社 技術開発部

技術統括部 情報サービス第1技術部 1課

• 主な業務– データサイエンス(位置情報、画像)

– サーバーサイドの開発

– コンテナ、kubernetesの推進・環境の構築

• 好きなアマゾンウェブサービス(AWS)– Amazon EKS

– Amazon Dynamo DB

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 25: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Amazon EKSへの移行とオペレーションの改善

• 今までのコンテナ環境

• コンテナで稼働中のサービス例

• 実際に本番運用して見えてきたこと

• なぜAWSなのか?

• システム構成

– サービス

– CI/CD

– インフラ構築

• 組織もDevOps的に

• 移行をやってみた

• 苦労した点

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 26: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

今までのコンテナ環境

• 2016年からベアメタル環境でkubernetesを運用

– スケーラブルではない

• 複数のサービスが稼働– 規模は小さいがマイクロサービス的に

動かしている

• CI/CDは簡易的に用意されている– 足りない機能に関してはチーム毎にバラバラ

– Jenkinsを立てているチームがあったり…

– ローカルでテストするチームがあったり…

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 27: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

コンテナで稼働中のサービス例

• カーナビでのルート探索に比べ量も種類も多い情報を使い、サーバでルート探索

• 5種類のコンテナの組み合わせで実現

• 処理量が多いため、システムへの負荷が大きい

– 使用するCPUリソースが多い

– 必要なコンテナ数が多い

https://jpn.pioneer/ja/carrozzeria/brand_event/special/product-technology/super-route/

スーパールート探索

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 28: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

コンテナで稼働中のサービス例

• 車の現在位置や停車位置がいつでもスマホから見られるサービス

– 送り迎え等の待ち合わせで使ったり

– 広い駐車場のどこに止めたかわからなくなったときに使ったり

• 2種類のコンテナの組み合わせで実現

• アクセスは多いが一回あたりの処理量は少ない

• 直近の車両位置を一時的に保持するためのデータベースが必要

https://jpn.pioneer/ja/carrozzeria/carnavi/cybernavi/avic-cl902-m_avic-cw902-m_avic-cz902-m_avic-cl902_avic-cw902_avic-cz902/smartphone/mapfanassist.php

マイカーシーク

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

※「MapFanAssist」アプリ、「MapFan」サイトは、インクリメント・ピー株式会社が運営しています。「MapFan®」はインクリメント・ピー株式会社の登録商標です。

Page 29: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

実際に本番運用してみて見えてきたこと

• 一般的に言われるコンテナ、kubernetesのメリットが得られた– 気軽にどんどんAPIを作れる、試せる

– テストが簡単になった

– 運用も容易になった

• その他にも実際に本番環境で使うことで様々なノウハウが得られた

• ただ、実際には課題や改善点も見つかった

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 30: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

実際に本番運用してみて見えてきたこと

もっと「やりたいこと」が出来て「やりたくないこと」をしなくていい仕組みへ

こんな技術使ってみたい

こんなもの作ってみたい

めんどくさいからできればやりたくない…

Amazon DynamoDB

AWS CloudFormationAmazon SageMaker

作ってみたいものを簡単に実現できる

SaaS、マネージドサービス等使いたいものが楽に使える

自動化できるポイントはとことん自動化する

これだけでは足りなかった

AWS CodeBuild

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 31: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

なぜAWSなのか?

• コンテナ環境だけでなく、その他の環境も含めて使いやすいことを意識した– サービスが長くサポートされる

– 豊富なドキュメント、技術サポート

• 今だけでなく今後も我々にとって使いやすいクラウドに成長・変化していきそうかどうかも考えた– 細かいニーズにも合うような、多様なサービスが続々と出る

– 「もっとこうだったらいいのになぁ…」と感じた点について、AWSのエンジニアが話を聞いて解決・反映しようとしてくれる

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 32: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

システム構成(サービス)

Amazon API

Gateway

Amazon

Route 53

Amazon Elastic

File SystemAmazon Simple Storage

Service (S3)

Amazon Aurora Amazon

DynamoDB

Elastic Load

Balancing (NLB)

Instance

Auto Scaling

Amazon Elastic Container

Service for Kubernetes

Instance

Elastic Load

Balancing (ALB)

・・・

作るサービスに応じてネットワークの構成を選択

作るサービスに応じてデータの持ち方を選択

AWS Lambda作るサービスに応じてアプリのインフラを選択

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 33: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

システム構成(CI/CD)

開発者

ソースコード

設定値マニフェストファイル

AWS CodeBuild

Amazon EC2

Container Registry

Trigger Test Build Push

Amazon EKS

(Dev)

Amazon EKS

(Stg)

Amazon EKS

(Prd)

AWS

CodePipeline

ArgoCDによってGitOpsを実施常にGithubと稼働状況に差異がない形に

環境により異なる設定値はkustomizeにより差分管理

GitHub

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Deploy DeployDeploy

Page 34: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

システム構成(インフラ)

インフラチーム

terraform

マニフェストファイルPush

AWS CodePipeline

AWS CodeBuild

Trigger PlanApply

(Deploy)

Amazon EKS

Amazon API

Gateway・・・

Amazon VPC

Dev,Stg,Prdそれぞれの環境をコードベースで共通管理

Amazon Simple

Queue Service

CloudFormation

マニフェストファイル

Trigger Apply

AWS

CloudFormation

Deploy

GitHub

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 35: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

組織もDevOps的に

アプリケーション開発チーム1

ローカルでコンテナ作った!

Amazon EKSでコンテナ動かしてみた!

本番運用が始まった!

アプリケーション開発チームN

インフラチーム

各種サポート

稼働状況の見える化,通知

・・

アプリケーションの実装に集中

インフラの管理リソース状況の把握

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 36: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

移行をやってみた

Amazon EKSベアメタルkubernetes

コンテナお引越し

環境構築

AWSの基本的な知識については当然勉強が必要・AWSの提供している研修で学んだ・自信を持って運用するための細かいノウハウは

コンサルから学んだ

元がkubernetesだったこともありコンテナで作られた環境を移行

すること自体は簡単だった

Amazon API Gateway

AmazonDynamoDB

AmazonSQS

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 37: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

移行をやってみた

ベアメタルサーバ

データベース

クライアント

車両の位置情報が一時的に保存されている

マイカーシークの移行例

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

※「MapFanAssist」アプリ、「MapFan」サイトは、インクリメント・ピー株式会社が運営しています。「MapFan®」はインクリメント・ピー株式会社の登録商標です。

Page 38: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

移行をやってみた

ベアメタルサーバ

データベース

Amazon API Gateway

Elastic Load Balancing (NLB)

AmazonEKS

AWS Lambda

AmazonDynamoDB

AmazonSQS

先にAWS環境を構築

クライアント

マイカーシークの移行例

AWS Cloud

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 39: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

移行をやってみた

ベアメタルサーバ

データベース

Amazon API Gateway

Elastic Load Balancing (NLB)

AmazonEKS

AWS Lambda

AmazonDynamoDB

AmazonSQS先にデータのみ

AWSに転送・同期

Amazon API Gateway

クライアント

マイカーシークの移行例

AWS Cloud

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 40: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

AWS Cloud

移行をやってみた

ベアメタルサーバ

データベース

Amazon API Gateway

Elastic Load Balancing (NLB)

AmazonEKS

AWS Lambda

AmazonDynamoDB

AmazonSQS

接続先をAWSに変更

Amazon API Gateway

明確なDB移行を行わずに環境自体の移行を完了

クライアント

マイカーシークの移行例

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 41: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Private subnet

• API GatewayとAmazon EKSをプライベートに組み合わせたい– NLBによってAPI GatewayとAmazon EKSを繋ぐ形になる

苦労した点

Amazon API Gateway

AmazonEKS

Amazon VPCPrivateLink

この構成のどこかでL7ロードバランシングがしたい

A.hoge.comB.hoge.com

Elastic Load Balancing (NLB)

ナビ等が利用するドメイン

AmazonRoute 53

Page 42: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Private subnet

• API GatewayとAmazon EKSをプライベートに組み合わせたい– いろいろ試した結果、Nginx Ingress Controllerを使う形に落ち着く

苦労した点

Amazon API Gateway

Amazon VPCPrivateLinkAmazon

Route 53

A.hoge.comB.hoge.com

Elastic Load Balancing (NLB)

AmazonEKS SVC (Nginx Ingress Controller)

Type:LoadBalancer

Nginx Ingres Controller Nginx Ingres Controller

SVC AType:ClusterIP

SVC BType:ClusterIP

Pod A Pod B Pod BPod A

A.hoge.comはSVC AにB.hoge.comはSVC Bに

アクセスを割り振ろう…

Page 43: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Private subnet

• API GatewayとAmazon EKSをプライベートに組み合わせたい

苦労した点

Amazon API Gateway

Amazon VPCPrivateLinkAmazon

Route 53

A.hoge.comB.hoge.com

Elastic Load Balancing (NLB)

AmazonEKS SVC (Nginx Ingress Controller)

Type:LoadBalancer

Nginx Ingres Controller Nginx Ingres Controller

SVC AType:ClusterIP

SVC BType:ClusterIP

Pod A Pod B Pod BPod A

A.~もB.~もxxxxx.elb.ap-northeast-1.amazonaws.com

に上書きされてんだよなぁ…

xxxxx.elb.ap-northeast-1.amazonaws.comからしかアクセスが来ない!!

Page 44: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Private subnet

• API GatewayとAmazon EKSをプライベートに組み合わせたい

苦労した点

Amazon API Gateway

Amazon VPCPrivateLinkAmazon

Route 53

A.hoge.comB.hoge.com

Elastic Load Balancing (NLB)

AmazonEKS SVC (Nginx Ingress Controller)

Type:LoadBalancer

Nginx Ingres Controller Nginx Ingres Controller

SVC AType:ClusterIP

SVC BType:ClusterIP

Pod A Pod B Pod BPod A

A.fuga.comB.fuga.com

プライベートドメインをNLBに割当

AmazonRoute 53

A.fuga.comはSVC AにB.fuga.comはSVC Bに

アクセスを割り振ろう…

1対1に対応

NLBに紐づけたプライベートドメインでルーティングすることでなんとか対応

Page 45: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

クラウド(IaaS主体)

クライアント

AWS Cloud

AWS Batch

Amazon Elastic Container

Service for Kubernetes

Amazon Aurora Amazon DynamoDB

AWS CodePipeline

AWS CodeBuild

Amazon SageMaker

Notebook

Amazon Simple Storage Service

(S3)

Amazon QuickSight

Amazon AthenaAWS Glue

Amazon EMR

GitHub

Registry

各種機能サーバー群 データ転送サーバ

アプリ向けデータ層

開発者

Amazon SageMaker

分析環境

ソースコード&docker

ビルド環境

データレイク

データパイプライン

可視化環境

AWS Lambda

データ駆動型サービスの為の生きたプラットフォーム

Page 46: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

アジェンダ

パイオニアを取り巻く環境の変化と課題

プラットフォームの全体像

Amazon EKSへの移行とオペレーションの改善

Amazon SageMakerによる画像データ利用の改善

まとめと今後の展望

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 47: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

自己紹介

• 山内 龍之介(Ryunosuke Yamauchi)

• 所属– パイオニア株式会社 技術開発部

技術統括部 情報サービス第1技術部 1課

• 主な業務– ソリューションアーキテクト

– 機械学習・AI開発

• 好きなアマゾンウェブサービス(AWS)– Amazon SageMaker

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 48: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

◆ リアルタイム画像共有サービス(スマートループ・アイ)– ドライブレコーダー画像をサーバで共有し、行き先の状況を実写で確認

– 蓄積データ量は約1.5億枚!

画像収集・共有サービス

工事・車線規制 車線毎の混雑

積雪霧

Page 49: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

◆ サーバ処理概要

受信サーバ

受信

プライバシー処理

キャプション処理

公開画像

撮影地点

トリガーポイントを検知、自動で撮影・送信

BigDataで撮影対象を選定

収集

不適切画像フィルタ

配信サーバ

ルート形状受信

ルート沿いの画像

ルート沿い空間検索

画像管理データベース

配信

ルート形状

共有サービス概要

Amazon SageMakerの導入を検討

※ プライバシー処理 : 顔やナンバープレートなどのマスク処理

Page 50: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

YOLOv3 (Object Detection)

• CNN(Convolutional Neural Network)を用いたオープンソースの物体検出アルゴリズム

Redmon+: YOLOv3: An Incremental Improvement,

https://pjreddie.com/media/files/papers/YOLOv3.pdf

速度・精度の面で他のアルゴリズムより

優れている

プライバシー処理AIに適していると判断

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 51: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

SageMaker導入前の開発環境

• EC2(GPUインスタンス)上にdockerコンテナ(YOLOv3)を建てて開発

Amazon EC2

YOLOv3

Container

Amazon S3

Car Probe Pictures

&

Annotation Data

Bucket

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 52: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

SageMaker導入前の課題

• システム管理の煩雑さ– リソースや環境を自分で構築・管理しなければならない

• 無駄なコストの発生– インスタンス・GPUの並列化実装が難しい

– トレーニング時以外のGPUインスタンスの浪費

• 本番利用の難しさ– インフラや運用の設計

– リリース後のモデルのアップデート

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 53: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

SageMaker導入後のAI開発プロセス

TrainNotebook

instanceDeploy

Amazon S3

Training Data

(record IO format)

Model artifacts

Bucket BucketDatalake

Bucket

Car Probe Pictures

&

Annotation Data

Amazon SageMaker

AWS Cloud

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 54: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

SageMaker導入後のアーキテクチャ

SageMaker

Endpoint Instances

Amazon S3

Datalake

Bucket

Car Probe

Pictures

Deploy

Lambda function

AWS Cloud

Amazon API GatewayClient

POST Request

Response Data

(Filtered image)

´Privacy Filtering

Model

artifacts

Bucket Amazon ECR

Custom

Container

Object Detection(Face,Number Plate)

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 55: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

SageMaker導入後に実現できたこと

• システム管理の煩雑さからの脱却– Sagemakerによる開発プロセスの効率化

• コスト削減– マルチインスタンス(SageMaker)・マルチGPU対応(MXNet/Gluon)

– トレーニングコストを3割以上大幅カット

• 本番利用に役立つ機能– 単発のAPIコールでデプロイできる → 開発サイクルの高速化

– A/Bテストによってモデルのアップデート問題を解決

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 56: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

MXNet/Gluon YOLOv3

• GluonCV– 公式サイトで 最新の状態にメンテナンスされた多様なモデル(今回はYOLOv3)

– 簡単にモデルを利用することができる充実したライブラリ

– 認識精度の高いトレーニング済モデル

• MXNet/Gluon– マルチGPUでのトレーニングが可能

– GluonのAPIが開発・デバッグしやすい

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 57: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

プライバシーフィルタAIによる処理結果

Before SageMaker(YOLOv3)

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 58: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

アジェンダ

パイオニアを取り巻く環境の変化と課題

プラットフォームの全体像

Amazon EKSへの移行とオペレーションの改善

Amazon SageMakerによる画像データ利用の改善

まとめと今後の展望

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 59: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

まとめ

アプリケーションリリースサイクルの短縮

• 環境に依存したソースコード → Amazon EKS + Kustomizeの導入

• お客様へ提供できる価値の明確化 → デジタルイノベーションプログラム

• 開発と運用の分離 → DevOpsの導入

サービスを駆動させる為のモデルデータの継続的な更新

• モデルデータの更新と本番適用

利用増加や変更に伴う柔軟なインフラリソース調達

• IaaS(ベアメタル)中心の現行インフラ

• ドキュメントでのインフラ変更管理

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 60: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

まとめ

アプリケーションリリースサイクルの短縮

• 環境に依存したソースコード → Amazon EKS + Kustomizeの導入

• お客様へ提供できる価値の明確化 → デジタルイノベーションプログラム

• 開発と運用の分離 → DevOpsの導入

サービスを駆動させる為のモデルデータの継続的な更新

• モデルデータの更新と本番適用 → データパイプラインの構築

→ Amazon SageMakerの導入

利用増加や変更に伴う柔軟なインフラリソース調達

• IaaS(ベアメタル)中心の現行インフラ

• ドキュメントでのインフラ変更管理

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 61: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

まとめ

アプリケーションリリースサイクルの短縮

• 環境に依存したソースコード → Amazon EKS + Kustomizeの導入

• お客様へ提供できる価値の明確化 → デジタルイノベーションプログラム

• 開発と運用の分離 → DevOpsの導入

サービスを駆動させる為のモデルデータの継続的な更新

• モデルデータの更新と本番適用 → データパイプラインの構築

→ Amazon SageMakerの導入

利用増加や変更に伴う柔軟なインフラリソース調達

• IaaS(ベアメタル)中心の現行インフラ → AWS移行

• ドキュメントでのインフラ変更管理 → CloudFormation + Terraformの導入

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 62: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

今後の展望

• 年内にプラットフォームの商用稼働予定– 2019/5月 検証環境稼働

• Amazon SageMaker Neoの導入– 推論速度の高速化とホスティング環境のインスタンスタイプを下げる

事によるコスト削減

• Amazon EKSでのサービスメッシュ対応

• 今の達成状況としてはDevOpsだが、より「やりたいこと」に注力できるようにする為にDevSecOpsへ取り組む

Copyright © 2019 Pioneer Corporation. All Rights Reserved.

Page 63: コンテナとAIで感動を! - pages.awscloud.com · コンテナとAIで感動を! - pages.awscloud.com ... a

より多くの人と、感動を

Copyright © 2019 Pioneer Corporation. All Rights Reserved.