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

2018年8月28日 に投稿済み

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 issue 追跡ツールを使ってご連絡ください。

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

"入門" ビデオ

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

Go on Azure: Part 2 - CI/CD, Docker, and Kubernetes with VSTS | Azure Friday (Azure での Go: パート 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 | Azure Friday (Azure での Go: パート 3 - Web アプリおよび Azure Kubernetes Service での Go | Azure Friday) - Erik St. Martin がシニア プログラム マネージャーの Josh Gavant と共に、Azure Web Apps を使用してマネージド環境で Go アプリを実行する方法をお伝えします。AKS は、より大規模なアプリケーション向けに、どんなアプリとサービスにも対応するフルマネージド Kubernetes クラスターを提供します。

Go on Azure: Part 4 - Cloud-native Go apps | Azure Friday (Azure での Go: パート 4 - クラウド ネイティブな Go アプリ | Azure Friday) - Erik St. Martin がシニア プログラム マネージャーの Josh Gavant と共に、クラウド ネイティブな 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 | Azure Friday (Azure での Go: パート 5 - Azure SDK for Go でアプリを構築する | Azure Friday) - Erik St. Martin がシニア ソフトウェア エンジニアの Joel Hendrix と共に、Azure SDK for Go の概要と、Azure サービスと対話し、Azure サービスを管理するアプリを構築する方法を紹介します。

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

Go on Azure: Part 7 - Build a Go app with Buffalo and deploy to Azure | Azure Friday (Azure での Go: パート 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

詳しい説明