OutSystems Developer Conference 2021 Day1 キーノートまとめ

Taiji
22 min readNov 19, 2021

KEYNOTE — Building the Future: Technology is Key

みなさまこんにちは、OutSystems Lead Community ManagerのTaijiです。

11月17日、18日と2日間かけて開催されたOSDC 2021も無事終了いたしました。
ブレイクアウトセッションにおいては、12トラックで2日間合計で約60セッション(EMEA、AMER、APACで異なるセッションもあり)と、非常に多くの情報が発信されました。

ここでは、Day1のキーノートセッションについてまとめていきたいと思います。

スポンサー

OSDC 2021ではたくさんの企業がスポンサーとして応援してくれました。

ソーシャルネットワークサービス

OutSystemsはエンタープライズ向けアプリケーションの開発に良く使われる背景から、特に日本ではあまりカジュアルなイメージはないかもしれません。
しかし、そこはポルトガルに本社を置くグローバル企業として、積極的にソーシャルネットワークを活用してイベントを盛り上げます!

ハッシュタグは #OSdevCon

オープニングトーク

Welcomeの文字とともにDay1のキーノートセッションが開始しました!今年は、キーノートを含む一部のセッションをIn-person形式で、その他のセッションをリモート配信で、というハイブリッド開催となりました。

最初に登場したのは、DevRel TeamのDirectorで私の直属のマネージャーでもあるJen Lopezです。彼女はシアトルを拠点にしてますが、今回はこのカンファレンスのためにリスボンから参加です。

OutSystemsが開発者へフォーカスしたグローバルカンファレンスを立ち上げてから数年が経ちますとの話から、記念すべき第一回目の2018年のイベントを振り返ります。

2018年のイベントのハイライトが動画で再生されます。大規模会場で行われるIn-person形式のカンファレンスは今や懐かしくもありますね。

今年のOSDCは、昨年に続きオンラインということもあり、スピーカーの募集もやや多くなるかな?くらいに考えていたところ、何と昨年の2倍以上の200を超える応募があったということです。

私も今回セッションを持たせてもらいましたが、実は応募は入社前に行っていたので選考を通って良かったなと改めて感じました。

このカンファレンスは、開発者、アーキテクト、デザイナー、テクニカルリーダーなど、みなさんによるみなさんのためのカンファレンスだとJenは伝えます。
会場からは大きな拍手が上がりました。

また、今年の特色は3つのタイムゾーンを考慮したスケジュールとのことです。開催時間もそうですが、セッション内容もAMER、EMEA、APACそれぞれの地域からの参加者に合わせて組まれています。全ての地域から、みんな快適にセッションを聴講できるように考慮されています。

セッションは12のカテゴリーから自分に合ったものを選べますとのこと。世界中からのエキスパートが素晴らしいセッションをお送りします。

Jenから、カンファレンス参加についていくつか案内がありました。

1つ目はカンファレンスのモバイルアプリです。これをダウンロードして使いましょうとのことですね。とある3つの団体に奨学金を寄付するゲームも含まれてますよとのこと。これについてはDay2で詳細を伝えますと話しています。

2つ目は、記念すべき第一回目のNEO Awardsの発表です。こちらも受賞者の発表はDay2の最後になりますとのこと。
そしてこのNEO Awardsは、コミュニティのためのもので、コミュニティに顕著な貢献をした方へ送られることになります。

そして話はNextStepで発表されたProject Neoに及びます。この新しいプラットフォームの焦点は開発者のエコシステムの生成とのことです。
このDay1のキーノートではTechnology is Keyということで、Project NeoへDeep Diveしていきます。

コミュニティのあり方

ここで、OutSystems CEOのPauro Rosadoへマイクが渡されます。

Pauroは、自分のパートの後にはより技術的な話と、Project Neoの話が待っていると言います。自分の話はなるべく短く終わらせると宣言します。

まず、この何年もの間OutSystemsをサポートしている素晴らしい経験豊かなDeveloperについての話です。

Pauroは「今の我々があるのはみなさんのおかげである」と声を上げます。まだこの分野の開発アプローチ、ツールが無かった時代に、OutSystemsを使うと決め、舵を切ってくれたみなさんのおかげで、ソフトウェア改革のビジョンを軸に、生産性を高め革新的で独創的なソフトウェアが誕生したのだと言います。それは、OutSystemsユーザーとOutSystemsが協力し、カスタムソフトウェア開発という業界を作ったとのことです。

OutSystemsとコミュニティ

次にPauroはOutSystemsとコミュニティの関係について話します。

投稿することでの参加、Forgeへのコンポーネント開発、ユーザー達が自らの経験で作ったデモやサンプルといった、新しいコミュニティメンバーが使えるパターンの提供など、様々な形でのコミュニティへの貢献があると語ります。

そして、このOutSystemsのコミュニティは、メンバーのとてもあたたかい気持ちで支えられているとのことです。

この後、新しい技術や製品に関する紹介がOutSystemsからありますが、現在OutSystemsが持っている製品の多くは、そのアイデアのおそらく90%以上がコミュニティメンバーからのものである、とPauroは強調しました。

さらに、コミュニティへ新しいメンバーが入ってきても、すぐに効率的に開発を始められるのは、これまでコミュニティを盛り上げてきたメンバーの人たちのおかげですと伝えます。

それと同時に、本格的なアプリケーションを構築しようと思ったとき、それはより真剣なコミットメントを必要とするのだ、とPauroは語りました。

OutSystemsは小さな戦略上の問題を解決するために使われるのではなく、ビジネスを変革し企業の人生を変えているのだ、とPauro。
OutSystemsはミッションクリティカルなアプリを提供し、それを使うみなさんはミッションクリティカルなアプリを開発する。みなさんがOutSystemsに真剣にコミットメントするように、OutSystemsも全力でそれに応えるとPauroは語りました。

全力でユーザーのみなさんに応えさらなる投資とサポートをするつもりだと。我々OutSystemsは真剣なんだ、と伝えました。

コミュニティの現状とこの先

話はコミュニティの具体的な数字に移ります。

  • 今日現在、の数値について次の通りPauroが語ります。
  • OutSystems Community:約52万人のメンバー
  • OutSystemsのForgeの申込書ダウンロード数:約200万件
  • オンラインコース:約45万コース以上が修了
  • 認定試験:過去18ヶ月間で約2万3千人を認定

このように、自らがそのスキルを持って活躍したい人々と、その高い技術力を持った開発者を必要としている人々とで、このコミュニティは形成されています。

しかし、OutSystemsが求めているのはこれだけではなく、さらに全ての人に、コミュニティに、開発者に、賭けることなのだとPauroは言います。

Project Neo

ここから話はProject Neoに移ります。ここでは、本格的なアプリケーションを構築するための実装方法についてPatrickとPedroが説明してくれるのだと、Pauroが切り出します。

OutSystems CTOのPatrick Jeanにバトンタッチします。開口一番こう言います「今日は約束通りNeoのTシャツを着てきたよ!」
そして「これはボーナスだよ!どう?」と赤いNeoの靴下も見せてくれました。

Patrickは、Projet Neoのプラットフォームの中について語ります。この一年間、必死にProject Neoを推進してきたとのことです。

プラットフォームの基本的な設計原則

みんなKubernetesに興味を持っていますか?私もKubernetesが大好きです、とPatrick。しかしProject NeoはKubernetesだけでは無いようです。

メッセージとしては、どのように製品を構築するかよりも、ユーザーのみなさんが何を求めているのか、が大事だということでした。彼は、OutSystemsは最終的に常にお客様に焦点をあわせているのだと言います。

製品の基本3原則が語られました。

  • Build it Fast (迅速に開発する)
  • Build it Right (正しく開発する)
  • Build for the Future (未来のために開発する)

Project Neoではアプリケーションを常に最新の状態に保つことができるのだと、まさにクラウドのど真ん中の説明がありました。

Project Neoでのコアテクノロジーの主な変更点

まずはWindows VM / IISからLinux Container / Kubernetesへの変更について説明がありました。

次に、.Net 4.xから.Net6へ変更されたことにより、驚異的なパフォーマンス向上を得られたとのことです。

そして、セキュリティについては、最新のOAuth2 トークンIDにより、自分独自の認証エンドポイントを使うことができるので、特別に難しい実装をする必要は無いとのことです。独自のIDPを使うことも出来るし、希望であればOutSystemsが用意したものを使うことも出来るとのことです。

次に、トランザクションヘビーなデータベースシステムは、クラウドネイティブに移行されたと説明があります。AWS上のAurora PostgreSQLではダウンタイムのオートスケーリングを可能にします。

さらに、Global CDNについての説明がありました。
CDN、プライベートパスアクセラレーション、キャッシュ、Webアプリファイアウォールなど、多層防御の仕組みを解説します。

Open Telemetryベースでイベント管理ができます。
ユーザーが求めている、ログやイベントへのアクセスを実現します。表立って目立った機能ではないですが、Kubernetesのように裏方として非常に重要な役割だとPatrickは話します。

Project Neoでのコアアーキテクチャの主な変更点

プラットフォームとランタイムのインフラを分離したとPatrickが説明します。Project Neoではこれらは完全に分離され、Kubernetesで実行されます。つまり、アプリケーションとは関係なくDeploymentを拡張することが可能です。コンテナオーケストレーションのメリットを最大限に享受できるわけです。

開発プラットフォームは、それぞれの機能がマイクロサービス化され、それぞれがコンテナアプリケーションとして稼働します。もちろん、それぞれが独立してバージョン管理されます。

オンデマンドでのオートスケーリングについても触れていきます。
多数の開発者が同時に開発をしていて、効率的にそれを統合しながらリリースしていかなくてはならない状況などでも、必要に応じてプラットフォームをスケールアウト必要が出てくるが、Project Neoではこれをオートスケーリングすることが可能になったと語ります。

イベントとメッセージで完全に非同期に稼働するアプリケーションレイヤー。これこそが、Project Neoで動くアプリケーションの設計思想とのことです。
つまり、コンテナオーケストレーション上のマイクロサービスでの設計思想を踏襲しているということですね。

話は、Project NeoのプラットフォームのクラウドインフラであるKubernetesの話に及びます。Deploymentによりノード、ポッドも自動的にスケールアウトするということです。

そして、アプリケーションランタイムとして、このProject Neo上に開発されたアプリケーションもまた、同じ用にKubernetesのDeploymentによりスケーリングを管理されます。

また、ストレージをどのように適合していくべきかの話がありました。
現状では、そのほとんどのデータをトランザクションデータベースへ保管しているけれども、Project NeoではそれをS3へ保管するようになるとのことです。

その他にも、Global Routing、Security by Designについてその重要性が語られました。

リングベースのデプロイ

REST API & Messaging についての話です。 今回のAPIサーフェス合理化はOutSystemsが以下にここに投資をしているか、そしてOutSystemsとしてのオープンアーキテクチャの中核であり、これを重要視しているかが分かるでしょう、と語られました。

Project Neoを使うことの主なメリット

アプリケーションのPublish時にコンテナを必要としていれば、その1CPオペレーションをスケールアウトするとのことです。コンテナ化し、マイクロサービス化したことによるリソースの完全分離が、大幅なパフォーマンス向上をもたらしていると強調しました。

そして、これもコンテナ化による一般的な話ですが、全ての環境において再コンパイルが必要にはならないよ、というお話です。

1CPでは、そのアプリケーションをコンテナレジストリから持ってきます。そして、ユーザーの環境へデプロイします。

このあたりの話は、コンテナアプリケーションを知っている人であればおなじみの内容でしたが、それをOutSystemsでの開発に適用したというところが注目すべきことです。

アプリケーションランタイムのパフォーマンスと拡張性の向上こそが、このProject Neoで焦点を当てたかったことです、と締めました。

Patrickは次にDisaster Recovery、つまり災害などによる復旧とビジネス継続性の話に移ります。

ここでもやはり、コンテナ化による柔軟なAZの選択やNoダウンタイム、ネットワークの維持などについて、そのメリットが語られました。

AWSとの協業

Project Neoの開発にあたり、この1年間作業を共にしてきたAWS Senior Solution Architect ManagerのTom Jonesへバトンタッチします。

Project Neoは前述の通りクラウドのコンテナオーケストレーション、Kubernetes上でマイクロサービスとして稼働します。そのインフラはEKSということでAWSとの共同作業が行われてきました。

このプロジェクトでの主な課題、目的は、コンテナ化はもちろんのこと、コンテナデプロイメントの速度を利用し、デプロイメントからのコンパイルステップの速度向上を図ることでした。
これに対してTomは、AWSを選択したことは正しかったと語ります。

AWS re:Stackプログラムと、AWS Well Architected プログラムの2つのプログラムをOutSystemsは活用しましたとのこと。
これらのプログラムでは5つの異なる視点から開発アーキテクチャを確認するとTomは言います。

  • パフォーマンス効率
  • コスト最適化
  • 信頼性
  • 高度な運用
  • セキュリティ

そしてTomは、Patrickがこだわった次の2つの実装が今回確かに実現できているProject Neoの主要なアーキテクチャのコンポーネントであることを最後に強調しました。

  • 顧客ニーズの無限な拡張性
  • アイデアから実装への迅速な移行

最後に、改めてPatrickからProject Neoの3つの方針が確認されました。

新しい運用のあり方

ここでマイクはOutSystems Product Management DirectorのPedro Girãoへ渡ります。彼は15年間、Product Managementへ携わっているとのことです。

OutSystemsの運用モデル

Pedroは製品管理グループ内で利用している基本的な運用モデルについて、機能の選択、生産性の向上、プラットフォームで使用するツールの強化方法について説明しました。

まずは、前日のNextStepの基調講演で紹介のあった、巨大な銀行組織による新しいビジネス要件をOutSystemsを使って迅速にGo Liveできた件に触れながらトークに入っていきました。

新しいプラットフォームでは、開発者の生産性を今の100倍に上げることを掲げました。そのため、製品チームでは、生産性の向上を測定する必要があったとのことです。

製品のテレメトリーや使用法など、詳細な調査を重ねOutSystems Development Productivity Modelというものに落ち着いたとのことです。

無駄を無くすオペレーション

これは、つまり「重要なことをより速く実装する」ことと「無駄なアクティビティを無くすこと」だと語ります。

例えば現在、多くの開発ではその開発時間の50%が更新、管理、依存関係考慮など、直接的にアプリそのものに関わらない部分に費やされているとPedroは言います。

そして、新しいプラットフォームで、その無駄な開発時間を短縮する方法を紹介していきます。

CI/CDに関する部分を実際の画面で解説しました。これは、Kubernetesなどのコンテナオーケストレーションを使ったことがある人には馴染みのあるUIかもしれませんね。

データの管理

新しく構築されるアプリケーションの80%は外部データを必要としているとのことです。

現在非常によく使われているデータ連携先として、Microsoft Dataverse、Dynamics、Mongo DB、Salesforce、SAPがOutSystemsの製品サポートに組み込まれています。数クリックでかんたんに連携できるとPedroから説明がありました。

アプリケーションレベルの開発モデル

これまで、ミッションクリティカルなアプリケーション開発には、経験やスキル、個人の業務知識など非常に多くのものが必要とされていました。しかし、今は業界標準が進み、アプリケーション稼働のプラットフォームもコンテナベースのマイクロサービスを用いることで、よりシンプルに開発者はアプリケーションレイヤーに集中するだけで良くなると語られました。

また、アプリケーションを拡張する場合は既存のすべてのサービスとエンティティを利用できるとのこと。これにはFirst Class Citizenとしてライブラリの利用を推奨しているそうです。ライブラリは独自のライフサイクルを持っているとのことです。

CI/CD

前述されていましたが、CI/CDの機能についても改めて説明がありました。

開発者は開発、テストに専念でき、共同作業のためのBranching機能も導入されているとのことです。また、ソースコードの管理についても一元したリポジトリ管理の仕組みが導入されます。

これがOutSystemsの新たなAutomated CI/CDだということです。

最後に、テストの手順についても解説がありました。アプリケーションはそれぞれ独立したデリバリーパイプラインをもっており、求められる製品品質を保持するレベルでのテストを細かく追跡でき、ステージングやその承認手順もワンクリックで実行できるとのことです。

これは、これまで数年間KubernetesやOpenShiftに関わってきた筆者の感想ですが、お手本通りのコンテナオーケストレーションの使い方に、上手にOutSystemsの仕組みを乗せてきたなと感じます。

クロージングトーク

再びJenへ交代し、キーノートセッションはクローズに向かいます。

Jenからは「3人のPへ感謝したい」とありました。Pauro、PJ(Patrick)、Pedroのことです。

そして、明日はDay2、キーノートは同じDevRel TeamのSneがリードするからよろしくね!という話と、Live Talk Showもお楽しみに!という感じで締めくくりました。

最後に

OSDCのキーノートはオンラインでReplayが視聴できます。参加登録が必要ですが、ぜひこちらからアクセスしてみてください。

また、本ブログは筆者の個人的な見解で書いており、所属する会社・団体を代表するものではありません。

--

--

Taiji

Datadog Senior Developer Advocate | Ex-OutSystems Dev Community Advocate | Ex-IBM Dev Advocate | Microsoft MVP | 筑波大学、名城大学非常勤講師 | 記事は個人の見解であり、所属する組織とは関係ありません。