Go 開発者による迅速なクラウド アプリの作成を可能にするためのマイクロソフトの取り組み


執筆者: Josh Gavant (Senior Program Manager, Azure Developer Experience)

このポストは、2018 年 8 月 28 日に投稿された Helping Go developers build better cloud apps faster の翻訳です。

 

本日ここデンバーで、GopherCon の初日を迎えました。会場には約 2,000 人の Go 開発者が訪れ、その皆様にマイクロソフトの最新のサービスや情報をお伝えできたことを嬉しく思います。マイクロソフトは今年の初めに、Azure SDK for Go の一般提供を開始しました。それ以来、Azure、Visual Studio Code、Visual Studio Team Services 向けの Go ツールやサービスの開発に精力的に取り組んでいます。Go 開発者の皆様にクラウド アプリをさらに迅速に作成していただけるように、マイクロソフトはクラウド ネイティブなワークフローの対応範囲を広げられるよう、引き続き以下のような取り組みを進めていきます。

  • Go 開発者に人気のエディター「Visual Studio Code」によるコードの作成とテスト。視覚的なブレークポイントによるデバッグ、保存時の Go 書式の適用、開発者の生産性とスピードを向上させるコード補完などを可能にします。
  • プライベート Git リポジトリをホストし、アプリを Visual Studio Team Services や Azure DevOps Projects と統合してリリース。
  • フル マネージド Kubernetes クラスターの Azure Kubernetes Service、または Azure App Service でコード、コンテナー、アプリを実行。Azure Virtual Machines でお好みの Linux ディストリビューションを使用することも可能です。
  • 構造化データをマネージド サービスの PostgreSQL データベースや MySQL データベースに、オブジェクトを Blob Storage に、キャッシュ アイテムを Redis Cache にそれぞれ格納。MongoDB との互換性があり世界規模でのレプリケーションに対応したマルチモデル データベースの Cosmos DB の使用も可能です。
  • Azure Service Bus、Event Hubs、Event Grid を使用したマイクロサービス間での通信。
  • OpenID Connect や Azure Active Directory によるユーザー認証やディレクトリの管理。
  • Application Insights によるトレース収集と監視 (OpenCensus にも対応予定)。

新しい SDK パッケージと Buffalo-Azure プロジェクト

Azure の Go 開発者向けエクスペリエンスの改善に向けて、新規パッケージの開発や、Azure SDK for Go (英語)関連サンプル (英語) をはじめとする既存パッケージの改良を実施しています。今年は、Service Bus (英語)Event Hubs (英語)Blob Storage (英語) などの新規パッケージをリリースしました。マイクロソフトでは皆様からのフィードバックをお待ちしております。パッケージに関するリクエストや改善のご要望などがありましたら、Go SDK の GitHub Issue 追跡ページ (英語) にお寄せください。

パッケージ以外にも、Azure で Go をより簡単に使用するためのフレームワークやテンプレートに関するご要望をお寄せいただいています。これにお応えして、使用開始に役立つプラグインを Buffalo プロジェクト (英語) に追加することになりました。Buffalo とは、Go の Web アプリ用コンポーネントを高速で生成する新しいフレームワークです。Buffalo-Azure (英語) プロジェクトでは、アプリやデータベースのリソースのプロビジョニング、Worker タスクでの Service Bus キューの使用、Event Grid イベント用のハンドラーの生成などに役立つプラグインを追加します。その他サービスのご要望や既存サービスに関するフィードバックは、各プロジェクトの追跡ページ (英語) からご投稿ください。皆様のご要望をロードマップに反映いたします。

入門ビデオ

マイクロソフトの Go 開発者が、Go の概要と Azure での実践的な使用方法を Microsoft Channel9 で解説しています。Azure、Visual Studio Code、Visual Studio Team Services での Go アプリの構築と実行に関するビデオ シリーズは、以下のプレイリストからご覧いただけます。

Azure で Go を使用する: 第 1 回 –Visual Studio Code で Go アプリを構築 | Azure Friday (英語) - Erik St. Martin がシニア ソフトウェア エンジニアの Ramya Achutha Rao と共に、Visual Studio Code で VS Code 用の Go 拡張機能を使用して Go アプリを構築する方法をお伝えします。高度なコード補完や統合されたデバッグ機能などのさまざまな機能を紹介します。アプリ用の Docker コンテナーを VS Code で作成してクラウドにプッシュする方法を学びます。
Azure で Go を使用する: 第 2 回 –VSTS で CI/CD、Docker、Kubernetes を使用 | Azure Friday (英語) - Erik St. Martin がクラウド開発者アドボケイトの Jessica Deen と共に、Visual Studio Team Services (VSTS) で DevOps を始める方法をお伝えします。GitHub で公開されているコードの使用方法、VSTS に接続する方法、CI/CD パイプラインを構築して Go アプリを Azure 上の Kubernetes にデプロイする方法を紹介します。また、VSTS アカウントの作成など、Azure DevOps Projects の開始に必要なさまざまな条件を解説します。

Azure で Go を使用する: 第 3 回 –Web アプリや Azure Kubernetes Service での Go の使用 | Azure Friday (英語) - Erik St. Martin がシニア プログラム マネージャーの Josh Gavant と共に、Azure Web Apps を使用してマネージド環境で Go アプリを実行する方法をお伝えします。AKS は大規模なアプリケーションに向けたフル マネージド型 Kubernetes クラスターを提供しており、あらゆるアプリやサービスで使用できます。
Azure で Go を使用する: 第 4 回 – クラウド ネイティブな Go アプリ | Azure Friday (英語) - Erik St. Martin がシニア プログラム マネージャーの Josh Gavant と共に、クラウド ネイティブな Go アプリについてお伝えします。Azure では、アプリの構築に役立つセキュリティとスケーラビリティに優れたさまざまなサービスを提供しています。Azure AD での強力な認証機能の実装、Redis Cache でのキャッシュの実装、Azure Storage でのさまざまなデータ格納、Service Bus でのメッセージ送信やジョブのキューなどの方法を、Josh Gavant が説明します。

Azure で Go を使用する: 第 5 回 –Azure SDK for Go でのアプリ構築 | Azure Friday (英語) - Erik St. Martin がシニア ソフトウェア エンジニアの Joel Hendrix と共に、Azure SDK for Go の概要と Azure サービスの連動アプリや Azure サービスの管理アプリを構築する方法を紹介します。
Azure で Go を使用する: 第 6 回 – イベントとメッセージング | Azure Friday (英語) - メッセージング サービスは、マイクロサービスを基盤とするあらゆるアーキテクチャに欠かせないコンポーネントです。Erik St. Martin がシニア ソフトウェア エンジニアの David Justice と共に、Azure で使用可能なメッセージング サービスのオプションを紹介し、Go アプリでのデモを行います。

Azure で Go を使用する: 第 7 回 –Buffalo で Go アプリを構築し Azure にデプロイ | Azure Friday (英語) - Buffalo には Azure 用プラグインがあります。この回では、Erik St. Martin が Martin Strobel と共に、Buffalo で Go アプリを構築し Azure App Service にデプロイするデモを披露します。

今後の展開

今後も Go 開発者の皆様にお役立ていただけるよう、Go クラウド アプリをはじめ、メンテナンスに関するサービス、ツール、ランタイム、ドキュメント、ガイドを提供してまいります。GopherCon にご参加の方は、ぜひマイクロソフト ブースにお気軽にお立ち寄りください。また、Azure サービスの改善などのご要望がありましたら、皆様の取り組みと共に追跡ページにご投稿ください。

最後に、製品やサービスの情報以外にも、マイクロソフトが携わる Go コミュニティ関連のプロジェクトや活動を Microsoft + Open Source ブログ (英語) でご紹介していますので、こちらにもご注目ください。

イラスト: @AshleyMcNamara

参考資料

 

Comments (0)

Skip to main content