メイン コンテンツにスキップ

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

詳しい説明