最近のブログで、GoogleはCloud Schedulerを使用してスケジュール通りに安全にHTTPターゲットを起動できるようにしたと発表した。Cloud Schedulerは、あらゆるアプリケーションがバッチ、ビッグデータ、クラウドインフラストラクチャのオペレーションを起動できるフルマネージドのcronジョブサービスである。
InfoQが以前に報告したように、Googleは2ヶ月前のサンフランシスコでのNextイベントの間、そしてそのベータ版の発売の数か月後にCloud Schedulerを一般向けに利用可能(GA)にした。GAリリース以降、Googleは、オンプレミス、Googleクラウド、サードパーティのデータセンターなど、あらゆる場所で実行されているあらゆるサービスをトリガーできるようにする新機能を追加した。さらに、ユーザはブログ投稿によるとスケジュールに従って安全にHTTPターゲットを呼び出し、Google Kubernetes Engine (GKE)、Compute Engine、Cloud Run、Cloud Functions、その他の場所で稼働しているサービスに業界標準のOAuth認証またはOpenID Connect認証を使用したパブリックIPでアクセスすることができる。
Cloud Schedulerを使用すると、ユーザはCI/CDパイプラインのトリガー、データベース更新のスケジュール設定および通知のプッシュ、クラウド機能の呼び出しなど、さまざまなタスクを実行できる。
出典: https://pbs.twimg.com/media/Dr_pavEVYAIWq4v.jpg:large
さらに、ユーザはほとんどのGoogle Cloud Platform(GCP)サービスとの緊密な統合とコスト削減から恩恵を受ける。Google CloudのパートナーエンジニアであるRomin Irani氏が、ツイートでコスト削減の例を挙げた。
開発用仮想マシンをクラウドで起動したままのせいで、料金が急増しませんでしたか。私たちは皆その経験があります。午後5時に "dev"というラベルの付いたすべてのVMを停止し、午前9時に再スタートする自動スケジュールにしてはどうでしょう。
ユーザは、そのUI、またはCLIまたはAPIを使用してHTTP/Sエンドポイント、Cloud Pub/Subトピック、App Engineアプリケーションを呼び出すことによって、Cloud Schedulerでジョブをスケジュールできる。ジョブが開始されると、Cloud Pub/SubメッセージまたはHTTPリクエストを指定されたターゲットの送信先に繰り返しスケジュールで送信する。その後、ターゲットハンドラはジョブを実行し、結果の応答を返す。
- 成功時の成功コード(HTTP/App Engineの場合は2xx、Pub/Subの場合は0)
- そうでなれば、最終的にクラウドスケジューラが最大試行回数に達するまでジョブを再試行することになるエラー
さらに、ユーザがジョブをスケジュールすると、Cloud Scheduler UIでこれを監視してステータスを確認できる。
Google Cloud Schedulerは、パブリッククラウドで利用できる唯一のマネージドcronサービスではない。競合他社のMicrosoftとAmazonはすでにかなり前から利用可能なスケジューラサービスを提供していた。MicrosoftはAzure Schedulerサービスを提供している。これは2015年後半に一般に利用可能になり、Azure Logic Apps Serviceに置き換えられる予定である。Azure Logic Appsサービスでは開発者がスケジューラーコネクタを使用できる。また、Logic Appsには、アプリケーションとプロセスの統合、データ統合、B2B通信のための追加機能がある。さらに、AWSは2016年末にSchedulerと同様の機能を備えたBatchサービスをリリースした。ここでは、Google SchedulerがCloud Functionsを呼び出すのと同様に、AWS Lambdaのcronを使用して機能をスケジュールできる。
カルキュレータを含む料金の詳細は、Google Schedulerの料金ページで確認できる。