Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GCPを利用したアプリ開発

 GCPを利用したアプリ開発

サーバレスを可能にするGCPのサービス概要(AWS比較を含む)

Fixel Inc.

April 23, 2020
Tweet

More Decks by Fixel Inc.

Other Decks in Technology

Transcript

  1. 目次 1. GCPの強み、AWSの強みについて比較 2. GCPサービス紹介 • ネットワーキング • コンピューティング •

    データベース • ストレージ • アプリケーション統合 • セキュリティ • 開発者ツール・DevOps • その他
  2. 5 1. ビッグデータ解析に強い 機械学習を取り入れたシステムを作成した い場合などに向いている。 2. 仮想マシンの起動速度が速い 他社クラウドが平均3分程度の中、約40秒 で起動する。 3.

    その他 • プロジェクト単位で請求が確認できる • Gmail、GoogleドライブなどGoogleサー ビスとの連携に強い GCPの強み・弱み 強み 1. 日本語情報がAWSより少ない GCPのサービスは英語で提供されており、 日本語訳が準備されていないことが多い。 2. サービスがAWSに比べ少ない AWSに比べると複雑なシステムの構築が苦 手である。 弱み
  3. 6 1. サービスの豊富さ サービスがGCPより多く、柔軟かつ俊敏に システムを構築することが可能である。 2. 日本語ドキュメントの豊富さ 日本語ドキュメントのアップデートが早 く、また検索して手に入る情報も多い AWSの強み・弱み

    1. サービスが豊富すぎる システム構築を管理できる人間がいないと 複雑化肥大化してしまうため、管理する人 間にスキルが求められる。 2. 請求方式 アカウント単位の請求しか確認できない。 適切にアカウントを分けておかないとコス トを把握しにくい。 強み 弱み
  4. 8 ネットワーキング GCPのサービス 区分・概要 AWSの対応するサービス AWSのサービスとの違い/特徴 VPC 仮想プライベート クラウド VPC

    • GCPではVPCネットワークがGlobalなリソースなため、サブネット に複数のゾーンを含むことが可能 参考:https://www.mpon.me/entry/2017/04/22/020428 Cloud VPN 仮想プライベート ネットワーク VPN • GCPではCDN 接続が可能であり利用すると通信料に割引が適用され る。 Cloud DNS DNS Route 53 • GCPにはレイテンシベースルーティングと位置情報ベースのルー ティングがない。 • GCPにはDNS サービスの DNSSEC(セキュリティ強化のための拡張 機能)がある。 CDN Interconnect CDN(コンテンツ デリバリーネット ワーク) CloudFront • Google Cloud の CDN Interconnect では、複数の CDN プロバイダ への下り(外向き)トラフィックに対して割引価格が適用される
  5. 9 ネットワーキング GCPのサービス 区分・概要 AWSの対応するサービス AWSのサービスとの違い/特徴 Cloud Load Balancing ロードバランサー

    Elastic Load Balancing • AWSの負荷分散サービスは内部と外部の両方で使用できる。Google Cloud サービスは、外部アクセスと内部アクセスに分かれている。 Google Cloud の内部オプションは内部負荷分散 Cloud Endpoints サーバレスで APIを公開 AWS API Gateway • CloudEndpointsの方が多機能 • 認証機能付きAPIが簡単に作れる
  6. 10 コンピューティング GCPのサービス 区分・概要 AWSの対応するサービス 主な違い・特徴 Compute Engine 仮想サーバ EC2

    • 料金体系がEC2が予約により安くなるのに対し、ComputeEngineは 継続利用で安くなる。 CloudFunctions サーバレスで コードを実行 Lambda • Cloud Functionsはgithubからコードの取り込みが可能。 • Lambdaの方が幅広いトリガー、言語に対応している。 Google Kubernetes Engine コンテナ EKS • GKEはKubernetesのサポートが充実している。 Cloud Run コンテナ Fargate • Cloud RunはコンテナーをデプロイしてパブリックURLに公開するの に数秒しかからない。 Cloud Tasks バッチ処理 AWS Batch • Cloud TasksはGAE内でのバッジ処理のインターフェースであるの に対し、AWS BatchはVPC内に専用のAWS Batch コンピューティン グ環境を作成する。
  7. 11 データベース GCPのサービス 区分・概要 対応するAWSのサービス 主な違い・特徴 Cloud SQL RDB RDS

    • Cloud SQLはMariaDBに対応していない模様。他は目立った違いな し Cloud Spanner MySQL、 PostgreSQL互換 Aurora Aurora Serverless • Cloud Spannerはリージョン内レプリケーションとマルチリージョ ンレプリケーションの仕組みで高可用性を実現している。 Cloud Firestore NoSQL DynamoDB DocumentDB • ドキュメント型のNoSQLDB • リアルタイムなデータ取得が可能であり、チャットやゲームなどの 実装に向いている
  8. 12 データベース GCPのサービス 区分・概要 対応するAWSのサービス 主な違い・特徴 BigQuery DWH (データウェアハウス) RedShift

    • BigQueryはクエリ課金、RedShiftは時間課金 • BigQueryの方が高性能 Cloud Memorystore インメモリ キャッシング ElastiCache • Cloud Memorystore は Redis 3系、ElastiCache は Redis 4系
  9. 13 ストレージ GCPのサービス 区分・概要 対応するAWSのサービス 主な違い・特徴 Cloud Storage オブジェクト ストレージ

    S3 • ストレージ料金がCloud Storageの方がほんの少し安い。機能とし ての大きな違いは見当たらず Compute Engine EC2用ブロック ストレージ EBS • Compute Engine の読み取り専用モードの永続ディスクは、同時に 複数のインスタンスに接続可能 Filestore ファイル ストレージ EFS • EFS では、1か月あたりの平均使用 GB 数に基づいて課金 • Filestore では、1秒あたりに割り当てられる GB 数とサービス階層 に基づいて課金
  10. 14 セキュリティ GCPのサービス 区分・概要 対応するAWSのサービス 主な違い・特徴 Cloud IAM AWSの アクセス管理

    IAM • 権限付与の形がGCPとAWSで異なっており、厳密には同じものでは ない。 参考:https://qiita.com/atsumjp/items/8b459a09c10eb04146a5 Firebase Authentication アプリの アクセス管理 Cognito • FireBase AutheniticationはNodeにしか対応していない。Coginito は.NET、Node.js、PHP、Python、Rubyに対応。 • フェデレーション プロバイダもCognitoの方が豊富 Cloud Armor Webアプリケー ションファイア ウォール WAF • ロードバランサによる自動スケーリング、負荷分散に対応 • ブラックリスト方式とホワイトリスト方式によるIP制限 • SQLi、XSS対策 • ロケーションベースでの制御
  11. 15 開発者ツール・DevOps GCPのサービス 区分・概要 対応するAWSのサービス 主な違い・特徴 Deployment Manager コードによるリ ソースの構築・管

    理 CloudFormation • Deployment Manager は 3種類のファイルを使用してデプロイを定 義する。 • 少なくともYAML, Pythonを理解している必要があるため CloudFormationより敷居が高そう Stackdriver Monitoring リソース、アプリ のモニタリング CloudWatch • Stackdriver MonitoringはGoogle Cloud Platform、AWSに対応し ている。
  12. 16 開発者ツール・DevOps GCPのサービス 区分・概要 対応するAWSのサービス 主な違い・特徴 Cloud Build 継続的デリバリー CodePipeline

    • AWSのCode~~系がオールインワンになっている。ローカルでのビ ルドの実行が可能 ビルド、テストの 自動化 CloudBuild 自動デプロイ CodeDeploy
  13. 17 その他 GCPのサービス 区分・概要 対応するAWSのサービス 主な違い・特徴 Google Pub/Sub pub/sub メッセージング

    SNS • AWS SNS SQSを統合したようなサービス。 • SQSと違い、Google Pub/Subはアプリケーションにメッセージを pushすることが可能 • SQSのFIFOキューのように順序付け、配信回数が固定される仕組み を持っていない(設定により近い状態にすることは可能) メッセージキュー SQS