Google Cloud Platform Japan Blog
最新情報や使い方、チュートリアル、国内外の事例やイベントについてお伝えします。
Spinnaker 1.0 : マルチクラウド対応の継続的デリバリ プラットフォーム
2017年6月30日金曜日
Google はたくさんのコードをデプロイしています。数千ものサービスのために(そのうち 7 つは世界中で 10 億人以上のユーザーを抱えています)、1 日に数万回もデプロイを行っているのです。その過程で、私たちはソフトウェアを短時間でデプロイする方法のベスト プラクティスを学びました。自動リリース、イミュータブル インフラストラクチャ、漸進的ロールアウトと高速ロールバックなどです。
Spinnaker を作った Netflix のチームと私たちが共同作業を始めたのは 2014 年のことです。そのとき私たちは、このリリース管理プラットフォームに対して、安全で信頼できるリリースを頻繁に行うために私たちが考えていた原則の多くが具現化されていると感じました。
そのポテンシャルに目を見張った私たちは、Spinnaker を世に出すために Netflix と共同作業を行い、2015 年 11 月にオープンソース化しました。その後、Spinnaker コミュニティは大きく成長し、今では Microsoft や Oracle、Target、Veritas、Schibsted、Armory、Kenzan などの企業がコントリビューターに名を連ねています。
私たちはこのたび、Netflix や Waze、Target、Cloudera などの企業が本番環境で使っている、オープンソースでマルチクラウド対応の継続的デリバリ プラットフォーム、Spinnaker 1.0 をリリースしました。併せて、Spinnaker 自体のデプロイを簡素化する新しいオープンソース CLI(コマンドライン)ツールの Halyard も公開しています。
この投稿では、ソフトウェア開発プロセスで Spinnaker が果たす役割について紹介します。
なぜ Spinnaker なのか
企業向けの優れたリリース管理ソリューションと呼ぶにふさわしい Spinnaker の機能と今回の新機軸を見ていきましょう。
オープンソースとマルチクラウド デプロイ
私たち Google Cloud Platform(GCP)チームはオープン クラウドを支持しています。そして Spinnaker も、リッチな UI ダッシュボードも含めて 100 % オープンソースです。ローカル、オンプレミス、クラウドのいずれの環境にもインストールでき、仮想マシン(VM)と Kubernetes のどちらでも実行できます。
Spinnaker は、リリース パイプラインをターゲット クラウド プロバイダから分離することでデプロイ プロセスを合理化します。これにより、プラットフォームの完全なマイグレーションや、複数のクラウドへの同一アプリケーションのデプロイを単純化できます。
Spinnaker には組み込みで Google Compute Engine、Google Container Engine、Google App Engine、AWS EC2、Microsoft Azure、Kubernetes、OpenStack の各サポートが含まれています。また、Spinnaker コミュニティがサポート対象を毎年追加しており、近く Oracle Bare Metal と DC/OS がサポートされます。
マルチクラウドへのリリースであれ、ベンダー ロックインの防止であれ、Spinnaker はそれぞれの企業に最適な形でアプリケーションのデプロイを支援します。
リリースの自動化
Spinnaker によるデプロイはカスタム リリース パイプラインでオーケストレートされ、パイプラインのステージには、統合 / システム テスト、サーバー グループのスピンアップ / ダウン、手動承認、一定時間の留保、カスタム スクリプトや Jenkins ジョブの実行など、ほとんど何でも組み込むことができます。
Spinnaker は、既存の継続的インテグレーション(CI)ワークフローとシームレスに統合できます。Git、Jenkins、Travis CI、Docker レジストリ、cron などのスケジューラ、さらには他のパイプラインからでもパイプラインの起動が可能です。
デプロイ戦略のベスト プラクティス
Spinnaker はそのままの形で、カナリア リリース、Red-Black(Blue-Green)デプロイメント、トラフィック スプリッティング、シンプルなロールバックなどの高度なデプロイ戦略をサポートしています。
このようなことが実現できている 1 つの理由は、アプリケーションの変更に応じてサーバー フリート全体を再デプロイするイミュータブル インフラストラクチャにあります。これに対して実行中のマシンにアップデートを設定する従来のアプローチでは、ロールアウトが遅く、リスキーなものになるのに加え、デバッグしづらいコンフィギュレーション ドリフトが起きてしまいます。
Spinnaker では、ステージング環境の Red-Black デプロイメントや本番環境への Red-Black ローリングなど、使いたいデプロイ戦略を選択するだけで、必要な数十ものステップが水面下でオーケストレートされます。エンタープライズ級のロールアウトでも、独自のデプロイ ツールを作成したり、Jenkins スクリプトの複雑な組み合わせをメンテナンスしたりする必要はありません。
ロール ベースの認可とパーミッション
大規模企業の場合、中央の DevOps チームが管理する複数の製品分野で Spinnaker を採用することがよくあります。Spinnaker は、プロジェクトやアカウントに対するロール ベースのアクセス制御を必要とする管理者向けに、OAuth、SAML、LDAP、X.509 証明書、GitHub チーム、Azure グループ、Google グループなど複数の認証および認可オプションをサポートしています。
また、手動判定ステージのためにパーミッションを適用することもできます。人間による判定を必要とするステージを設定すると、特定の人物の承認がなければ決してリリースには進みません。
Halyard によるインストール、管理の単純化
Spinnaker 1.0 と同時に、Spinnaker の本番用インスタンスを従来よりも簡単にインストール、構成、アップグレードするための新しい CLI ツール、Halyard もリリースされました。
Spinnaker 1.0 のリリース以前は、Spinnaker を構成する個々のマイクロサービスを管理する必要がありましたが、1.0 以降はバージョンが付けられ、セマンティック バージョニングに従います。Halyard を使用すれば、最新の Spinnaker にアップグレードするときも CLI コマンドを 1 つ実行するだけで済みます。
使ってみよう
Spinnaker による高速かつ安全で、あえて言えば退屈なデプロイをぜひ体験してください。
Spinnaker の詳細や使い方は、
新しい spinnaker.io サイト
に詳しく掲載されています。今すぐ試してみようという方は、
ここ
をクリックすれば、数回のクリックで Spinnaker をインストールして実行できる Google Cloud Launcher のマーケットプレイスに移動できます。
質問やフィードバック、Spinnaker コミュニティへの参加などについては、
Spinnaker の Slack チャンネル
にお越しください。イシューの報告は
Spinnaker の GitHub リポジトリ
、質問は spinnaker タグを使った
Stack Overflow
でも受け付けています。
その他の資料
Global Continuous Delivery with Spinnaker
Netflix の Spinnaker が Google Cloud Platform で利用可能に
ゲスト投稿 : マルチクラウド対応の継続的デリバリを Spinnaker で実現した Waze
Spinnaker : continuous delivery from first principles to production (Google Cloud Next '17)
* この投稿は米国時間 6 月 6 日、Product Manager である Christopher Sanson によって投稿されたもの(投稿は
こちら
)の抄訳です。
- By Christopher Sanson, Product Manager
0 件のコメント :
コメントを投稿
12 か月間のトライアル
300 ドル相当が無料になるトライアルで、あらゆる GCP プロダクトをお試しいただけます。
Labels
.NET
.NET Core
.NET Core ランタイム
.NET Foundation
Access Management
AlphaGo
Anvato
Apache Beam
Apache Maven
API
Apigee
APIs Explore
App Engine
App Engine Flex
App Engine flexible
AppArmor
AppScale
AprilFool
AR
Artifactory
ASP.NET
ASP.NET Core
Attunity
AWS
Big Data
BigQuery
Billing Alerts
Bime by Zendesk
Bitbucket
Borg
BOSH Google CPI
Bower
BreezoMeter
BYOSL
Capacitor
Chromium OS
Client Libraries
Cloud API
Cloud Audit Logging
Cloud Bigtable
Cloud CDN
Cloud Client Libraries
Cloud Console
Cloud Consoleアプリ
Cloud Container Builder
Cloud Dataflow
Cloud Dataflow SDK
Cloud Datalab
Cloud Dataprep
Cloud Dataproc
Cloud Datastore
Cloud Debugger
Cloud Deployment Manager
Cloud Endpoints
Cloud Foundry
Cloud Foundry Foundation
Cloud Functions
Cloud IAM
Cloud IAP
Cloud Identity
Cloud Jobs API
Cloud KMS
Cloud Launcher
Cloud Load Balancing
Cloud Machine Learning
Cloud monitoring
Cloud Natural Language API
Cloud Networking
cloud Pub/Sub
Cloud Resource Manager
Cloud Resource Manager API
Cloud SDK
Cloud SDK for Windows
Cloud Source Repositories
Cloud Spanner
Cloud Speech API
Cloud SQL
Cloud Storage
Cloud Storage FUSE
Cloud Tools for PowerShell
Cloud Tools PowerShell
Cloud Translation
Cloud Translation API
Cloud Virtual Network
Cloud Vision
CloudBerry Backup
CloudBerry Lab
CloudEndure
Cloudian
CloudML
Cluster Federation
Codefresh
Codelabs
Cohesity
Coldline
Colossus
Compute Engine
Compute user Accounts
Container Engine
Container Registry
Container-Optimized OS
Container-VM Image
CRE
CSEK
Customer Reliability Engineering
Data Studio
Dbvisit
DDoS
Debugger
deep learning
Deployment Manager
Developer Console
Developers
DevOps
Disney
Docker
Dockerfile
Drain
Dreamel
Eclipse
Eclipse Orion
Education Grants
Elasticsearch
Energy Sciences Network
Error Reporting
ESNet
Evernote
FASTER
Fastly
Firebase
Firebase Analytics
Firebase Authentication
Flexible Environment
G Suite
gcloud
GCP 移行ガイド
gcsfuse
GitHub
Go
Go 言語
Google App Engine
Google Apps
Google Certified Professional - Data Engineer
Google Cloud
Google Cloud Certification Program
Google Cloud Client Libraries
Google Cloud Console
Google Cloud Dataflow
Google Cloud Datalab
Google Cloud Datastore
Google Cloud Endpoints
Google Cloud Explorer
Google Cloud Identity and Access Management
Google Cloud Launcher
Google Cloud Logging
Google Cloud Platform
Google Cloud Resource Manager
Google Cloud Security Scanner
Google Cloud Shell
Google Cloud SQL
Google Cloud Storage
Google Cloud Storage Nearline
Google Cloud Tools for IntelliJ
Google Code
Google Compute Engine
Google Container Engine
Google Data Analytics
Google Data Studio
Google Date Studio
Google Deployment Manager
Google Drive
Google Earth Engine
Google Genomics
Google SafeSearch
Google Service Control
Google Sheets
Google Slides
Google Translate
Google 公認プロフェッショナル
GPU
Gradle
GroupBy
gRPC
HA / DR
Haskell
HEPCloud
HIPAA
Horizon
HTCondor
IaaS
IAM
IBM
IBM POWER9
icon
IERS
Improbable
InShorts
Intel
IntelliJ
Internal Load Balancing
Internet2
IoT
Issue Tracker
Java
JFrog
JFrog Artifactory SaaS
Jupiter
Jupyter
Khan Academy
Komprise
kubefed
Kubernetes
KVM
Landsat
load shedding
Logging
Looker
Machine Learning
Magenta
Managed Instance Group
Maps API
Maven
Maxon Cinema 4D
MightyTV
Mission Control
MongoDB
MQTT
MySQL
Nearline
Network Time Protocol
neural networks
Next
Node
NoSQL
NTP
NuGet パッケージ
OCP
OLDISM
Open Compute Project
OpenCAPI
OpenCAPI Consortium
OpenShift Dedicated
Orbitera
Organization
Orion
Panda
Particle
Percona
Pete's Dragon
Pivotal
Pivotal Cloud Foundry
PLCN
Pokemon GO
Pokémon GO
Poseidon
Postgre
PowerPoint
PowerShell
Protocol Buffers
Puppet
Pythian
Python
Rails
Raspberry Pi
Red Hat
Regional Managed Instance Groups
Ruby
Rust
SC16
ScaleArc
Security & Identity
Sentinel-2
Serving Websites
Shared VPC
SideFX Houdini
SIGOPS Hall of Fame Award
Sinatra
Site Reliability Engineering
SLA
Slack
SLI
SLO
Snap
Spaceknow
SpatialOS
Spinnaker
Spring
SQL Server
SRE
Stack Overflow
Stackdriver
Stackdriver Agent
Stackdriver Debugger
Stackdriver Diagnostics
Stackdriver Error Reporting
Stackdriver Logging
Stackdriver Monitoring
Stackdriver Trace
Stanford
Startups
StatefulSets
Storage & Databases
StorReduce
Streak
Sureline
Sysbench
Tableau
Talend
Tensor Flow
Tensor Processing Unit
TensorFlow
Terraform
The Carousel
TPU
Trace
Transfer Service
Translate API
Uber
Veritas
Video Intelligence API
Vision API
Visual Studio
Visualization
Vitess
VM
VM Image
VR
VSS
Waze
Webyog
Wide and Deep
Windows Server
Windows ワークロード
Wix
Worlds Adrift
Xplenty
Yellowfin
YouTube
Zaius
Zaius P9 Server
Zipkin
ZYNC Render
アーキテクチャ図
イベント
エンティティ
オンライン教育
クラウド アーキテクト
コードラボ
コンテスト
コンピューティング
サポート
ジッター
ショート動画シリーズ
スタートガイド
ストレージ
セミナー
ソリューション ガイド
ソリューション: メディア
データ エンジニア
データセンター
ビッグデータ
ファジング
プリエンプティブル VM
フルマネージド
マイクロサービス
マルチクラウド
リージョン
ロード シェディング
運用管理
可用性
海底ケーブル
機械学習
月刊ニュース
資格、認定
新機能、アップデート
人気記事ランキング
導入事例
内部負荷分散
認定試験
料金
Archive
2017
6
5
4
3
2
1
2016
12
11
10
9
8
7
6
5
4
3
2
1
2015
12
11
10
9
8
7
6
5
4
3
2
1
2014
12
11
10
9
8
6
5
4
3
2
Feed
月刊ニュースレターに
登録
新着ポストをメールで受け取る
Google
on
Follow @GoogleCloud_jp
0 件のコメント :
コメントを投稿