著者
Raymond Roestenburg(レイモンド・ロエステンバーグ)
経験豊富なソフトウェア職人、多言語プログラマー、ソフトウェアアーキテクトです。Scalaコミュニティの活発なメンバーであり、Akkaのコミッターです。Akka-Camelモジュールに貢献しました。
Rob Bakker(ロブ・バッカー)
並行バックエンドシステムとシステム統合に力を注ぐ経験豊富なソフトウェア開発者です。ScalaとAkkaをバージョン0.7から本番環境で使用していました。
Rob Williams(ロブ・ウィリアムス)
ontometricsの創設者で、機械学習を含むJavaソリューションに力を注いでいます。Robは、アクターベースのプログラミングを10年前にはじめて使用して以来、いくつかのプロジェクトで使用してきました。
翻訳・監修
前出祐吾(まえで ゆうご)
TIS株式会社。TIS株式会社へ入社後、大手電機メーカー向けシステムの開発などSIerの現場経験を経てR&Dに従事。2009年よりSIの生産性向上を目的に、Seasar2をベースとした社内フレームワークの開発から現場展開・支援・教育を行う。2013年頃からSIerでScalaの活用検証に取り組み、リアクティブシステムに出会う。2015年にLightbend社とパートナー契約を結び、現在はリアクティブシステムのコンサルティングのかたわらエンタープライズ領域への当技術の適用検証に従事。Akkaの普及により開発者に幸せが訪れることを願い、ThinkITへのリアクティブシステムの連載、CodeZineなどのメディアへの寄稿やScala Matsuriなどのカンファレンスにも多数登壇。
根来和輝(ねごろ かずき)
TIS株式会社。2011年にTIS株式会社へ入社、大手医療機器メーカー向けWebシステムの受託開発プロジェクトで開発と運用に従事。プロジェクトチームに自動テストやCIを導入し品質と生産性の向上に貢献する。2015年より同社のR&Dに従事。Akkaをメインとしたリアクティブシステム関連の技術をエンタープライズ領域へ適用させることを目指し、技術検証やコンサルティングを行っている。同技術が幅広いエンジニアにとって身近な技術となるよう、入門者向けハンズオンセミナーの開催、ScalaMatsuriなどの技術系カンファレンスにも多数登壇。
釘屋二郎(くぎや じろう)
フリーランスエンジニア。独立系SIer、PaaS技術開発ベンチャーでの勤務を経て現在フリーランス。業務委託でScalaやAkkaを使って広告システムやコミュニケーションツールの開発に従事。
TIS株式会社【監訳】
TISは、SI・受託開発に加え、データセンターやクラウドなどサービス型のITソリューションを多数提供。同時に、中国・ASEAN地域を中心としたグローバルサポート体制も整え、金融、製造、流通/サービス、公共、通信など様々な業界で3000社以上のビジネスパートナーとして、顧客事業の成長に貢献している。新技術の研究開発にも積極的に取り組み、リアクティブシステムのリーディングカンパニーであるLightbendの国内初の認定コンサルティングパートナーとして、Akka/Play/Scalaなどを利用したリアクティブシステムの構築をサポートするコンサルティングサービスを提供している。
推薦のことば
2008年からScalaとアクターベースのシステムに携われていることを大変嬉しく思っています。当時の私が直面した最大の課題の1つは、アクターに基づくアプリケーションを構築するための信頼すべきリファレンスが無かったことでした。『Akka実践バイブル』(原書『Akka in Action』)はまさしく私が必要としていた類の本です。Akkaは時の流れとともに大きく変化してきましたが、私はいまだにこの本を使い続けています。
私はこの本の著者の1人であるRay Roestenburgとはかねてよりの知人です。Rayは最初期のAkkaのプロダクションユーザーの1人でした。彼はヨーロッパの出入国管理をするためのミッションクリティカルなシステムの構築にAkkaを利用していました。Akkaをプロダクションで稼働させた彼の成果は、このようなシステムの優位な点を証明するだけではなく、我々の組織の中で同様のことをしたいと考えていた多くの人すべてがそれを実現するために必要なことを理解する手助けになりました。
原著である『Akka in Action』が出版されてから長い年月が経ちましたが、この本はAkkaが幾年にも渡って変化してきたことを反映するために繰り返し更新されています。私は早い時期にMEAP版の本書を購入しました。Akkaの開発者とコミュニティの規模と成熟度が高まるのに合わせて、この本が新機能と修正されたアプローチを取り込んで進化していく様を見てきました。この本は、アクターの基本からクラスタリング、分散状態管理、ストリーミングのような高度な概念まで、あらゆる事柄に関する深い情報が必要な方に向けた本であり、あなたのための一冊です。
O’Reilly『Effective Akka』著者 Jamie Allen
昨今はエンタープライズシステムでも、クラウドを利用する動きが活発化しつつあります。IaaS層のみでクラウドを活用し、オンプレミスと同じように商用のミドルウェアを導入して環境を構築する場合もありますが、クラウドならではの優位性を引き出すには、各クラウドベンダが提供するサービスを活用した方が有利なケースが多いでしょう。
ただしそのような「クラウドネイティブ」な環境下では、アプリケーション自身が即応性(Responsive)や耐障害性(Resilient)、弾力性(Elastic)といった特性を確保する必要性が生じます。またアプリケーションの粒度の観点では、従来型のモノリシックなものよりも、サービスを小分けにして連携するマイクロサービスの方が、親和性が高いと言われています。
このような新しい要求を実現するため、非同期メッセージパッシングに基づく「リアクティブシステム」への注目が高まっています。本書のテーマであるAkkaは、リアクティブシステムを実現するための代表的なツールキットの一つです。Akkaを利用することによって、アプリケーションは即応性、耐障害性、弾力性といった特性を備えることが可能になります。エンタープライズシステムでの活用という観点では、主要言語の一つであるJavaをサポートしている点も、Akkaのメリットと言えるでしょう。
Akkaは、クラウドネイティブな環境における次世代のアプリケーションアーキテクチャの選択肢の一つとして、大きな可能性を秘めています。ぜひ本書を通じて、その実力を感じ取ってもらいたいと考えています。
三菱UFJインフォメーションテクノロジー 斉藤 賢哉、尾崎 勇一