Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Fun tech13-alibaba cloud serverless kubernetes

99 views

Published on

Alibaba Cloud Serverless Kubernetesでクローラーを作ろう

Published in: Technology
  • Be the first to comment

Fun tech13-alibaba cloud serverless kubernetes

  1. 1. ALIBABA CLOUD SERVERLESS KUBERNETES でクローラーを作ろう WITH KANIKO @oqmuuu fun-tech meetup #13 2019/09/27
  2. 2. WHO AM I • 名前: Kumiko Anzai (@oqmuuu) • 所属: (株)オープンストリーム • 仕事:Cloud Solution Architect見習い • Alibabaブログ:グループ会社で書いてます • アリ蔵 -> https://alikura.com/ • コミュニティ • Cloud Native • Kubernetes Meetup • Serverless Meetup • AliEaters • Fun-tech meetup 2
  3. 3. 今日の目的 1. Alibaba Cloudのいいところ、もう少しなところを知っ てもらう 2. Alibaba Cloudのコンテナサービスを知ってもらう 3. Alibaba Cloudのサーバーレス環境構築パターン (その1:サーバーレスKubernetes)を知ってもらう 3
  4. 4. AGENDA 1. 自己紹介 2. 今日話すこと 3. 宣伝 4. クローラー全体像 5. Infra 6. DevOps 7. App 8. まとめ 4
  5. 5. ALIBABA CLOUDの特徴 1/3 o 中国のタオバオなどを経営するアリババグループが運営 o 2011年にサービス開始 o 中国で売上第1位(2018年上期) o 中国国内に1300のCDNノード o IaaS世界第3位のシェア(2017年) o アジアを中心に19リージョン展開 o 56アベイラビリティゾーン保持 o 中国展開への強み o 中国内にECサイトを作るとき、中国国内のコンテンツを使用したいとき に他のベンダーより圧倒的に有利 5
  6. 6. ALIBABA CLOUDの特徴 2/3 o 巨大な中国ECモールを支えるインフラ・ミドルウェアを開発 o 2017年11月11日独身の日売上は2兆 o 技術で世界をより良くしたいがモットー o セキュリティサービスが充実 o 3種類のアカウントごとに徐々にサービスを展開 o 中国アカウント>国際アカウント>日本アカウント o ドキュメントが中国語 o 英語ももちろんあるが、英日含め執筆中 o DepOps系のサービスが乏しいので自前構築(マルチクラウド?) が必要 o どのクラウドベンダーにも強み・弱みがある o 比較表 -> http://comparecloud.in/ 6
  7. 7. ALIBABA CLOUDの特徴 3/3 7 2019年のクラウドベンダーのマジック・クアドラント図
  8. 8. AGENDA 1. 自己紹介 2. 今日話すこと 3. 宣伝 4. クローラー全体像 5. Infra 6. DevOps 7. App 8. まとめ 8
  9. 9. クローラー全体像 9 Webサイト NAS ACR NAT EIP EIP SLB RAM ACK VPC CloudShell Pod ECI Pod
  10. 10. AGENDA 1. 自己紹介 2. 今日話すこと 3. 宣伝 4. クローラー全体像 5. Infra 6. DevOps 7. App 8. まとめ 10
  11. 11. CONTAINER SERVICE FOR KUBERNETES o Kubernetesとは o ミドルウェアや冗長化構成を設定ファイルで構築できる実行環境 o Dockerを大規模なアプリ用に発展させたもの o Alibaba Cloudでは3種類のKubernetesクラスターを用意 o 専用クラスター o マスターノード+ワーカノードの管理 o マネージドクラスター o ワーカノードの管理 o サーバーレスクラスター o ノード管理不要 o 料金はPodと呼ばれる実行環境の起動時間、CPU、メモリに課金される o クラスターを立ててすぐ使用できるミドルウェアのデプロイ機能あり11
  12. 12. ELASTIC CONTAINER INSTANCE 12 ACK Kubernetes Virtual Kubelet Pod ECI Pod oDockerやKubernetesコンテナ専用の実行環境 oKubernetesのサーバーレスクラスターのノードとしても動作する oVirtual Kubeletが独立しているECIとKubernetesをつないでいる oAWS Fargateと同じようなもの oお手軽度No.1 oミドルウェアを管理しやすい
  13. 13. AGENDA 1. 自己紹介 2. 今日話すこと 3. 宣伝 4. クローラー全体像 5. Infra 6. DevOps 7. App 8. まとめ 13
  14. 14. KANIKO o Kuberntes上でコンテナイメージビルド、プッシュができるOSS o Googleが開発しており、GCP Cloud Buildに組み込まれている o 後述の指定したコンテナレジストリにイメージをプッシュする o Jenkins等のCI/CDツールを使うまでもない規模が妥当 o ビルド後はビルドしたコンテナイメージ上でプッシュ処理を実行 o キャッシュを使った高速なビルドを実現 14Dockerコンテナイメージとコンテナ実行のフロー
  15. 15. CONTAINER REGISTRY o フルマネージドなコンテナレジストリ o Docker Registry互換 o ソースコードにGithub、GitLabなどが使用できる o ビルド後に脆弱性チェックができる o Ubuntu,RedHat,CentOS,Oracle,Debian,Alpineの一部バージョン o ビルド後のWebhook機能あり 15脆弱性チェック結果
  16. 16. AGENDA 1. 自己紹介 2. 今日話すこと 3. ちょっと宣伝 4. クローラー全体像 5. Infra 6. DevOps 7. App 8. まとめ 16
  17. 17. MEMORIOUS o Pythonのクローラーライブラリ o https://github.com/alephdata/memorious o クローリング、スクレイピング処理のパイプラインを定義でき る o どのホストをクローリングするか(しないか)、どのファイルを収 集するかなどの設定を全てYAMLで宣言的に記載する o 同時実行数や収集したコンテンツの保存先なども設定できる o 収集するコンテンツをハッシュ値で管理 o 同一名のコンテンツでも中身が異なると収集してくる o Dockerfileで配布されており、ハッシュ値管理のためのRedisや管 理画面を内臓 17
  18. 18. MEMORIOUSの実例 18 # Example scraper to demonstrate Memorious XPath narrowing name: poc description: Books to scraper pipeline: init: # Start URL method: seed params: urls: - http://books.toscrape.com/ handle: pass: fetch fetch: # Download the page passed from the seed stage. method: fetch handle: pass: parse params # These rules specify which pages should be scraped or included: rules: and: - domain: books.toscrape.com parse: # Crawl the HTML of the page passed in to extract specific things. method: parse params: store: mime_group: images handle: # If the 'fetch' rule is invoked, re-trigger the fetch stage fetch: fetch # Otherwise, pass data on to the store stage store: store store: # Store the crawled documents to a directory method: directory params: path: /data/results: YAML例 管理画面例
  19. 19. AGENDA 1. 自己紹介 2. 今日話すこと 3. ちょっと宣伝 4. クローラー全体像 5. Infra 6. DevOps 7. App 8. まとめ 19
  20. 20. まとめ o Alibaba CloudはECサイトの中国展開が強み o Alibaba CloudはIaaSに少し機能をつけたサービスや、 PaaSが豊富 o サーバーレスにしたいが、大規模インフラ構成にな りうる、ミドルウェアや実装量が多い(拡張性があ る)アプリはコンテナ管理すると楽 o CI/CD周りは上手に他のPaaSを頼っていくとよい 20
  21. 21. ご静聴ありがとうございました

×