Azureとのコラボレーションによる、これからのワークスタイルとは― Developers Summit 2020レポート
ソフトウェア開発者を中心とするエンジニアのためのカンファレンスイベント「Developers Summit 2020」が2月13~14日に開催された。テーマは「ともにつくる」。
初日の13日には、特別会場として丸1日、日本マイクロソフトのトラックが設けられた。本稿ではその模様を、“ともにつくる”コラボレーションを中心とした、これからのエンジニアのワークスタイルとそれを支えるMicrosoft製品の話を中心にレポートする。
社内外で同じ環境を使えるようにする
4つの要素
日本マイクロソフトの増渕大輔氏は、社内と同じ環境をどこでも利用できるようにするための仕組みについて「出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築」というテーマで語った。増渕氏自身も20年近くフリーアドレスで働いており、いま日本にいるのは一人というグローバルチームに所属し、会社と自宅のコンピュータ環境は95%同じく作業できるようになっているという。
なお増渕氏は、日本型リモートワークは介護や育児の保護などを目的したものだが、海外でのリモートワークのトレンドは、ハイパフォーマンス人材獲得を重視したリモートファーストであるとも語った。
最初に説明したのは開発環境だ。Visual Studio Codeでは、リモートでソースコード編集やランタイムなどを共有して作業できるVisual Studio Live Shareや、リモートのVisual Studio Codeサーバーに接続してリモート開発する機能、そのサーバーをMicrosoftのマネージドサービスで動かすVisual Studio Onlineなどがある。
そのうえで、会社の環境と自宅を同じ環境にする方法を増渕氏は説明した。
レベル1はアプリケーションの認証だ。Office 365を導入すると自動的にAzure AD(Azure Active Directoryが構築される。Azureやその他のSaaSアプリはAzure ADとの連携が基本だという。これによって、クラウドアプリとのシンプルな連携や、安全なアクセス、IDプロバイダーのメンテナンス削減が実現できる。
続くレベル2は、開発プロセスをSaaSにもっていくことだ。たとえばGitHub ActionsやAzure DevOpsによる自動化などがある。増渕氏は「Azureアーキテクチャフレームワーク」というガイドから、Azure DevOps運用開始の検討項目を紹介した。
レベル3は、社内インフラ環境の整備で、MDM(モバイルデバイス管理)、MAM(モバイルアプリケーション管理)、VPN、WVD(Windows仮想デスクトップ)などを含む。これについて増渕氏は、Microsoft IntuneやMicrosoft Azure Virtual WAN、Windows Virtual Desktop(WVD)によるクラウド管理を紹介した。
そのほか、間接的な要素として、孤独感や人事評価の問題もある。「無駄なようでもこまめにビデオ会議をするといい、という研究結果がある」と増渕氏。これについて、Microsoft Teamsによるビデオ会議や、Microsoft PlannerやTrelloなどの人事評価:タスクツールで活動を可視化することなどが紹介された。
Power Platformでノーコードする
デモ4本を紹介
ふだんExcelなどを使っている人が、データを扱うアプリケーションを(あまり)コーディングしないで開発する手法として、最近ではノーコードやローコードという言葉が注目されている。
「ノーコードPower? だけど開発者だからこそ知っておきたい、Power Platformの使いこなしかた~ ~W王子より愛を込めて」と題されたセッションでは、MicrosoftのPower Platformによるノーコードやローコードの実例を、日本マイクロソフトの廣瀬一海氏とセカンドファクトリーの清水優吾氏がデモした。
まずはセカンドファクトリーの清水氏が登壇。最初にPower Platformとは何かについて、ノーコードでアプリが作れる「Power Apps」、ノーコードでビジネスロジックが作れる「Power Automate」、ノーコードでBIが実現できる「Power BI」、ノーコードでボットが作れる「Power Virtual Agents」の4つを紹介した。
さて、1つめのサンプルは、Developers Summitのセッションリストをスクレイピングして、Power BIのレポートを作る例だ。これをPower BI Desktopでノーコードで実行し、裏側でPower Query言語のコードが自動生成されているところを見せた。
2つめのサンプルは、某テーマパーク(と口頭では言っていたがスクリーンには「TDL」と出ていた)のアトラクション待ち情報をスクレイピングし、チャットボットから問い合わせたり、レポートにしたりする例だ。清水氏は「実装は2日。それもわからないところを調べる時間を含めてなので、いまだったら1日でできる」と開発スピードを強調した。
ここでマイクロソフトの廣瀬氏に交代し、開発者サイドのサンプルを取り上げた。
3つめのサンプルは、同じくテーマパークのアトラクション待ちを機械学習で推測する例だ。Azure Machine Learning Studio Workspaceによりモデルを作成できる。
4つめのサンプルも同じくアトラクション待ちで、APIによってほかのシステムと連携する例だ。Azure Logic AppsでAPIのSwagger定義を取り込んで利用できる。
最後のまとめとして、清水氏は、データを共通のデータベースにもってきて二次利用する用途が、Power PlatformとAzureで簡単にできると語った。また廣瀬氏は、開発者がAPIをじゃんじゃん作ってそれを元にノーコーダーやローコーダーを受け入れることでアジリティが上がると語った。
「ともにつくる」コミュニティに
参加すると何がいいのか
今回のDevelopers Summitのテーマが「ともにつくる」だったことに関連して、コミュニティ活動への参加を呼び掛ける熱い話が、ランチセッション「Let's Dive in Developer Community!」にて、日本マイクロソフトの小田祥平氏と、テイ・デイ・エスの加藤健大氏により繰り広げられた。
マイクロソフトの小田氏は技術者の「コミュニティ」という言葉について、共通の関心軸をもとに集まる場所や集団のことと定義した。関心軸には、製品別、プログラミング言語別、地域別、さらにプロダクトの中の機能別などがある。
セッション内で参加者に向け質問を行い、コミュニティへの参加経験者が少なかったことから「いつどうやって開催されている?」「何をやっている?」などを改めて紹介した。中でも「参加して何かいいことあるの?」については、参加者にとっても運営者にとっても、情報共有や仲間との出会い、外のモノサシを知ることができる、なにより楽しい、といったことを小田氏は強調した。
また、小田氏はMicrosoftのコミュニティ支援についても紹介した。個人でMicrosoft関連コミュニティ活動に貢献した方を表彰する「Microsoft MVPアワード」がある。また、いきなりMVPはハードルが高いという人に向けて新しいプログラムを計画中であることも明らかにした。
そのほか、昨年末、代官山にオープンしたコワーキングスぺース「Azure Daikanyama Base」を紹介。イベントを開催したい際には積極的に貸し出すと語った。
続いてテイ・デイ・エスの加藤氏は、同社のノンプログラミングIoT・API連携プロトタイピングツール「Noodl」について、コミュニティを通じて知名度を広めた経緯を紹介した。
最初にまずNoodlを体験してもらうハンズオンイベントを開催したときには、参加者はわずか2名だったという。しかし、小田氏と出会い、コミュニティマーケティングについてアドバイスを受けたことを実践し、ほかのコミュニティにも参加してデモの実施、オンラインへの技術文書寄稿など積極的に発信していった。こうして、コミュニティのコアメンバーになってくれる人が見つかり、公式イベントが募集開始2時間で満席になるまでに成長し、株式会社ウフルとのコラボも決まり、大手メーカーとも話が進んでいるという。
コミュニティマーケティングについて、セッション参加者へのメッセージを小田氏から求められると、加藤氏は「一番は、開催する側も楽しめばいい。数字は後からついてくるもの」と答えた。小田氏もそれを受けて「コミュニティでやっていることが仕事になる、ということも実際にあるので、怖がらずにまずトライすると良い」と語った。
MicrosoftとGitHubの社内ワークフローを解説
オープンソースに限らず世界のコラボレーション開発に欠かせなくなっているGitHubは、現在はMicrosoftファミリーとなっている。
日本マイクロソフトの服部佑樹氏と、ギットハブ・ジャパンの田中裕一氏は、セッション「GitHubやMicrosoftが機能リリースする舞台裏」で両社それぞれの社内のコラボレーションスタイルを紹介した。
冒頭では「GitHubとAzure DevOpsは同じチームが開発しています」として、GitHubとMicrosoftの融合度合いがアピールされた。
マイクロソフトの服部佑樹氏によると、社内でもGitHubのプライベートリポジトリを使ってインナーソース(社内部門間のサイロをなくし、OSSの開発手法を採用すること)を実施しているという。
また、チームのエンジニア数×4のバグをチームが抱えたらまずバグを優先して解決する「バグキャップ」のルールや、テストを統合テストから単体テストに移行することでCIからこまめにテストすること、リリースを5つのリング(ステージ)に分けることなど、作業フローに関するさまざまな工夫が語られた。
ギットハブ・ジャパンの田中裕一氏は、GitHub社内でもGitHub Flow(Gitによるワークフローの1つ)で開発していることを紹介した。また、すべてのデプロイ関連のオペレーションを社内Slack上のコマンドによって実行できるChatOpsを実践しているという。
さらに、2015年にはデプロイ回数が週400強に達し、デプロイ待ちが数時間に及ぶようになったことから、複数の変更を1つにまとめてデプロイする「リリーストレイン」を採用していることも紹介された。これは元々、1チームで作った仕組みが社内ブログで紹介されて全社に広がったということで、田中氏はGitHubの草の根インナーソースの文化の例だと語った。
個性的な先輩エンジニアが語るエンジニア論
エンジニア自身のワークスタイルという点で、ウルシステムズの漆原茂氏、日本マイクロソフトのジニアス平井氏、EBILABの常盤木龍治氏の3人によるパネルディスカッション「俺たち一生楽しい厨二病 ~トッキー、ジニアス、漆原の赤裸々トーク~」では、それぞれの尖った経歴をもとにしたエンジニア論が繰り広げられた。
進行役の漆原氏に付けられたキャラ設定は「エンジニア経営者 うるしばら」。著名企業の社長だが、本人は「ひたすらエンジニアをやりたいだけで、やりたいことをするために社長になった。経営はわからないし、投資家向け説明会とか苦手」という。それでも、チームや企業文化の設計と運用について語った。
平井氏に付けられたキャラ設定は「オタクエンジニア ジニアス」。日本マイクロソフトのテクノロジーセンターで多数のプレゼンを行っている。常に最新のテクノロジーにキャッチアップしていく必要があり、「ちょっとずつ味見してみて、そこから『もうちょっと食べたい』というものを深堀りしていく」という。
平井氏のエンジニアへのアドバイスは「目標は高く腰は低く」。自分にできるちょっと上の目標に向かっていくことと、昔の武勇伝より未来の話をすることを心がけよう、というわけだ。
常盤木氏に付けられたキャラ設定は「パラレルキャリア CTO CSO 軍師 トッキー」。国内から海外までさまざまな企業に関わり、13社の名刺を持つという。いわく「ITだけでなく人もプロトコルが重要で、そこで僕は強い」。情報元としては、読書や、アプリを週に80本インストールして試していることを挙げる。さらにヘビーゲーマを名乗ってオンラインゲームのチーム編成での経験をもとに「ゲームやってる人は優秀」と言い、「チームビルディングもプロダクトだと思っている」と語る。
エンジニアへのアドバイスとしては、「若い人でも、自分でやったことがない技術について受け売りで評論するような“老害”化している人がいる」と警鐘を鳴らし、パラレルキャリアエバンジェリストとして「エンジニアじゃない副業をすると、エンジニアとしてのキャリアパスが広がる」と勧めた。
最後に漆原氏は「未来を作るからエンジニア」「個が輝くような時代になってきて、わくわくするようになってきた」「厨二病のわれわれは、楽しく生き続けるんじゃないかなと思う」とまとめた。
キャラクター召喚装置やZOZO、
楽天がAzureをどう使っているか
そのほか、Azure利用企業の発表もなされた。
Gateboxの久森達郎氏のセッション「GateboxにおけるAzure AD/AD B2Cを基盤としたID Centricな組織・サービス・プラットフォームの設計」では、キャラクターと一緒に暮らすためのキャラクター召喚装置「Gatebox」について、他社との協業を踏まえたビジネスモデルに合わせ、ID中心の設計思想を軸としてどのようにサービスプラットフォームを設計したかについて紹介した。
「機能やスキーマではなく、様々な開発者や企業が参加するプラットフォームという前提で、どういうアクセスコントロールを行うかを考えていくこと」がポイントとして実際のアプローチを語り、エンドユーザーの認証と、プラットフォーム上でアプリケーションを提供しようとしている開発者がどのアプリにアクセスしているかをコントロールする意味での認証で、それぞれAzure Active Directory(Azure AD)とAzure Active Directory B2C(Azure AD B2C)を使い分けていくポイントを語った。
ZOZOテクノロジーズの川崎庸市氏のセッション「我々はZOZOTOWNのクラウドジャーニーを通じて何を学んだのか?」では、バックエンドのデータベース参照まわりを、オンプレミスのモノリシックなシステムから、Azure Kubernetes Servicesを用いてマイクロサービス化に踏み切った事例とクラウド利用から得た知見を紹介した。
楽天の柳本浩一氏と日本マイクロソフトの新井庸介氏のセッション「楽天がモノリス→マイクロサービス&オンプレ→クラウドで経験した光と闇」では、楽天グループ内で利用されてきた画像参照のための共通システムを、AzureやKubernetesによるモダンなアーキテクチャへ移行したことについて、そこでのチャレンジや遭遇したトラブルを紹介した。
* * *
以上のように、特別会場ではMicrosoftによる「ともにつくる」が語られた。GitHubと一緒にオープンソース開発で用いられていた方法を企業内で取り入れた共同開発やインナーソースを推進する。企業も、システムを企業内に集中してそこに接続する形から、クラウドを介して企業の中と外が同じように使える形へ変化し、柔軟な働き方を実現していく。そしてエンジニア以外の人もノーコードやローコードにより「ともにつくる」ことに参加する。そうしたMicrosoftのアプローチが伺えるトラックだったといえよう。
マイクロソフトでは、エンジニアを厚くサポートするさまざまなコンテンツを提供している。いずれも無料で利用できるので、興味のある方はぜひ参照してほしい。
【クラウドデベロッパーちゃんねる】
クラウドを使って開発するITの開発者・デベロッパーの皆様へ様々な技術情報をお届けするYouTubeチャンネル
【Microsoft Learn】
Microsoft Azureについて学習できる無料のオンライン トレーニング コンテンツ一覧
【開発者コミュニティ ニュースレター】
マイクロソフトが配信しているニュースレターで、最新テクノロジ記事、技術ドキュメント、および開発者イベントなど、世界の情報を月イチで配信
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- de:code 2019開催。自動運転車からMicrosoft 365、Azure、HoloLens 2までの基調講演まとめ
- CI/CD Conference 2021 MicrosoftとGitHubの連携をMSKKのアーキテクトが解説
- de:code 2018が開催。基調講演はクラウド、開発ツール、MRが語られる
- 「競争よりもコラボレーション」Azureチームに聞いたOSSを推し進める理由
- 「ソースオープン」から「オープンソース」へ… Go Azure 2015でマイクロソフトが見せた本気
- GitHub Satellite都内で開催。MSによる買収発表後もブレない姿勢を見せる
- 自宅から推しテクへの愛を叫ぼう!「July Tech Festa 2021 winter ~推しテク総選挙~」レポート
- 互換性を維持しつつOSSの潮流に対応。Active DirectoryやSQL Serverの取り組み
- Microsoftはオープンソースで企業のデジタルトランスフォーメーションを支える ーConnect(); Japan 2017
- GitHubが年次カンファレンスで新サービスやAIの応用などを発表