Go 開発者がより優れたクラウド アプリをさらに迅速に構築できるようにするための支援

8月 28, 2018 に投稿済み

Sr. Program Manager, Azure Developer Experience

本日、2,000 名に迫る gopher がデンバーに集結して GopherCon が始まります。これを機に、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 BusEvent HubsBlob Storage 向けの新しいパッケージです。私たちは常にお客様のご意見に耳を傾けています。そのため、新しいパッケージや、既存のパッケージの改良をお望みの場合は、Go SDK の GitHub 問題追跡ツールを使ってご連絡ください。

しかし、私たちはパッケージだけに取り組んでいるわけではありません。お客様からは、Go と Azure を利用してより迅速に作業を始められるようにするフレームワークとテンプレートを求める声が届いていました。それを受けて、お客様が速やかに望ましい状態で作業できるよう Buffalo プロジェクトにプラグインを追加しています。Buffalo は Go Web アプリ用のコンポーネントを迅速に生成するための新しいフレームワークです。Buffalo-Azure プロジェクトでは、アプリとデータベースのリソースのプロビジョニング、ワーカー タスクへの Service Bus キューの使用、Event Grid イベントのハンドラーの生成に役立つプラグインが追加されています。その他のサービスに関するサポートのご要望や、これらに関するご意見がある場合は、ぜひプロジェクトの追跡ツールで問題を投稿してください。皆さんのご要望を私たちのロードマップに反映いたします。

"入門" ビデオ

Go on Azure の学習と利用開始をサポートするために、最近、Microsoft の gopher たちが Microsoft Channel9 のスタジオに乗り込んで一連のビデオを録画しました。これらのビデオでは、Azure、Visual Studio Code、Visual Studio Team Services を使用して Go アプリを構築し、実行する方法を解説しています。以下のプレイリストをぜひチェックしてください。

Go on Azure: Part 1—Build Go apps with Visual Studio Code (Go on Azure: パート 1 - Visual Studio Code を使用した Go アプリの構築) | Azure Friday - Ramya Achutha Rao (シニア ソフトウェア エンジニア) が Erik St. Martin と一緒に、Visual Studio Code を使用して Go アプリを構築する方法について説明します。彼女は、スマート コード補完や統合されたデバッグなどが備わった VS Code 用の Go 拡張機能を使用します。そして引き続き VS Code を使用しながら、最後にクラウドへのプッシュの準備が整ったアプリの Docker コンテナーを作成します。

Go on Azure: Part 2—CI/CD, Docker, and Kubernetes with VSTS (Go on Azure: パート 2 - VSTS での CI/CD、Docker、Kubernetes) | Azure Friday - クラウド デベロッパー アドボケイト Jessica Deen と Erik St. Martin が、Go 開発者向けの Visual Studio Team Services (VSTS) を使用して DevOps の作業を開始する方法について説明します。既に GitHub 上にあるコードを使い、それを VSTS に接続して、CI/CD パイプラインを構築し、Kubernetes on Azure に Go アプリをデプロイする方法について説明します。さらに、Azure 上で DevOps Projects の利用を開始する方法も学べます。これは、VSTS アカウントも含め (お持ちでない場合)、すべてのスキャフォールディングを自動で処理します。

Go on Azure: Part 3—Go on Web Apps and Azure Kubernetes Service (Go on Azure: パート 3 - Web Apps と Azure Kubernetes Service での Go) | Azure Friday - Josh Gavant (シニア プログラム マネージャー) が Erik St. Martin と一緒に、Azure Web Apps を使用してマネージド環境で Go アプリを実行する方法について説明します。AKS は、より大規模なアプリケーション向けに、どんなアプリとサービスにも対応するフルマネージド Kubernetes クラスターを提供します。

Go on Azure: Part 4—Cloud-native Go apps (Go on Azure: パート 4 - クラウド ネイティブな Go アプリ) | Azure Friday - Josh Gavant (シニア プログラム マネージャー) が Erik St. Martin と一緒に、クラウド ネイティブな Go アプリについて説明します。Azure には、強固なセキュリティとスケーラビリティを備えたアプリを構築するために Go 開発者が使用できる多数のサービスが揃っています。Josh が Azure AD による強力な認証を実装する方法、Redis Cache を使用してキャッシュを追加する方法、各種のデータを Azure Storage に格納する方法、Service Bus を使用してメッセージの送信とジョブのキュー挿入を行う方法などをご覧いただけます。

Go on Azure: Part 5—Build apps with the Azure SDK for Go (Go on Azure: パート 5 - Azure SDK for Go を使用したアプリの構築) | Azure Friday - Joel Hendrix (シニア ソフトウェア エンジニア) と Erik St. Martin が、Azure SDK for Go についてご紹介します。Azure のサービスとやり取りし、Azure のサービスを管理するアプリの構築方法が説明されます。

Go on Azure: Part 6—Events and Messaging (Go on Azure: パート 6 - イベントとメッセージング) | Azure Friday - メッセージング サービスは、マイクロサービスベースのあらゆるアーキテクチャの主要なコンポーネントです。David Justice (シニア ソフトウェア エンジニア) が Erik St. Martin と一緒に、Azure におけるメッセージング サービスのオプションをいくつかご紹介します。それらを Go アプリで使用する方法のデモも含まれています。

Go on Azure: Part 7—Build a Go app with Buffalo and deploy to Azure (Go on Azure: パート 7 - Buffalo を使用した Go アプリの構築と Azure へのデプロイ) | Azure Friday - Buffalo には Azure 用のプラグインがあることをご存知ですか。このエピソードでは、Martin Strobel が Erik St. Martin と一緒に、Buffalo を使用して Go アプリを構築し、それを Azure App Service にデプロイする方法を実演します。

まだまだこれから...

皆さんが Go クラウド アプリの記述とメンテナンスをよりシンプルに楽しく行えるよう、私たちのチームはサービス、ツール、ランタイム、ドキュメント、ガイダンスの提供に努めてまいります。そのために、皆さんの Go 開発者としてのご意見は欠かせません。GopherCon にいらっしゃる方は、ぜひ私たちのブースに立ち寄ってお声がけください。追跡ツールでリクエストを投稿して、皆さんが取り組んでいることや Azure の改善点についてお知らせいただくことも可能です。

最後になりますが、これらの製品とサービスの更新情報のほかにも、私たちが先導、従事している Go コミュニティ関連のプロジェクトとアクティビティについて、Microsoft + Open Source ブログのお知らせをぜひご確認ください。

Ashley McNamara の画像

画像著作権: @AshleyMcNamara

詳しい説明