こんにちは、レッドハットの駒澤です。
今年のRed Hat Forumでは、Apache Camelの魅力について紹介しました。
Apache Camel はオープンソースのインテグレーションフレームワークです。2007年に産まれて10年以上、IT環境の変化とともに進化してきました。
クラウドネイティブなアプリケーションが増えてくると、連携の組み合わせもより複雑になっていきます。そのような連携をシンプルに開発する仕組みとして、EIPを実装しています。今回は、最新のサーバーレス技術である、Camel Kもデモを交えて紹介しました。
セッション資料:http://redhat.lookbookhq.com/rhft2019-matome/65-25?lx=ChT-oZ
今回私がテーマにしたかったのが、「企業システムにおけるインテグレーションのあり方」です。
長年蓄積されたIT資産は、もはや全体を把握することも難しいくらい複雑になっていますが、少し大きな視点でシステムを見つめ直すと解決策が見えてくるのではないかと思います。
そこで私は、「企業システムをシルクロードのような経済圏として見てみませんか?」という大胆な問いかけをしてみました。
デジタル化が進んだ現代では、ものづくりの業界から「デジタルツイン」という言葉が生まれ、現実世界と仮想世界の融合が進んできました。
その考え方は、組織の活動にも浸透してきており、「組織のデジタルツイン」が次に目指すべきシステム像になると考えています。
それが進むと、組織を変えようと思ったら同時にシステムも変え、またシステムを変えれば組織も柔軟に変えることができる、コンウェイの法則、逆コンウェイの法則が成り立つと思うんですね。これまではシステムがガチガチで組織と一体化していなかったし、ERPのようにむしろシステムに組織を合わせようという、本末転倒な現象も起こっていました。
究極は、まるで業務で人間がコミュニケーションをとるように、システムもコミュニケーションをとれれば良いと思うのです。
コミュニケーションには、同期的なコミュニケーション (対面や電話で1対1に会話する)と、非同期的なコミュニケーション(メールで複数に送ったり、チームでまとめて会議したい場合など)があるので、システムも自然と2つのコミュニケーション方法がとられるはずです。
そのコミュニケーション手段がまさにインテグレーションで解決すべき問題領域です。
Apache Camelとは?という解説をこのセッションで行いましたが、今回のブログでは技術的な説明は省略します。
ポイントはまさに人間のコミュニケーションに必要な、文法、マナー、言葉づかいが整理されており、システムのコミュニケーションを取りやすくする仕組みだということです。
ドメインに分けられたシステム群は独自の言語と文化を持つ国家のような動きをしていくことで、自律的に進化を遂げていきます。国家間のコミュニケーションは自然と独自性を吸収した標準化が必要となり、そこでApache Camelは活躍します。
またシステムのインテグレーション機能はデータの永続性を求めない(各サブシステムが永続性を担保する)ので、サーバーレスアーキテクチャーにも向いています。
そこでApache Camel のサーバーレス版である、Camel Kが今後大きく期待される技術となっています。
Apache Camelは、非常に将来性があるオープンソースソフトウェアであり、コミュニティも活発です。
JCUG (Japan Camel User Group) も毎月読書会をやっていますので、ぜひ皆さん参加してコミュニティを盛り上げていきましょう。