InfoQ ホームページ Architecture に関するすべてのコンテンツ
-
RESTlessnessに打ち勝つ
GraphQLやgRPC,Apache Kafkaといった新しいAPIプロトコルが,RESTに基づいたHTTP APIに代わるものとして人気を集めています。RESTの代わりを探すのではなく,ソフトウェアエンジニア産業は,成熟したRESTエコシステムを基盤として,新たなプロトコルの技術的長所を探求する手段を模索するべきです。
-
なぜアーキテクチャ図を必要とするのか?
ソフトウェアアーキテクチャ図は、うまく作ると、開発チーム内および外部ステークホルダーとのコミュニケーションを大幅に改善させることができる。それには、対象読者を理解することと、含めるべきものを慎重に自制することが必要だ。ひどい図がたくさんあったというだけで、図なんて必要ない、役に立たないと考えないようにしよう。
-
サーバーレスによる大変革
この記事では、サーバーレスが他のアプリケーションアーキテクチャとどう異なるのかを定義して説明する。次に、サーバーレスアプリケーションのアーキテクチャは(適切に用いれば)非サーバーレスアーキテクチャよりも優れていることを示す。最後に、アーキテクトや開発者がサーバーレスのメリットを実現するのに役立つ経験則で締めくくる。
-
The EconomistにおけるGoを用いたマイクロサービス構築のふりかえり
Goで書かれたマイクロサービスは、The Economistの新システムの重要コンポーネントだ。これにより、スケーラブルでハイパフォーマンスなサービスを提供し、新プロダクトをすばやくイテレーションできるようになった。Goに組み込まれた並行処理とAPIサポート、および静的コンパイル型言語としての設計のおかげで、大規模にスケール可能な分散イベントシステムを実現できる。全体として、Goを用いたチームの体験はポジティブなものだった。
-
RSocketでRESTに安息(Rest)を
REST(Representational State Transfer)は、マイクロサービス間の通信におけるデファクトスタンダードになっています。これは望ましいことではない、と著者は主張します。現代的なサービスを開発するには、現代的な素材でHTTPを置き換える必要があります。オープンソースのRSocketはサービスのために設計されました。アプリケーションレベルのフロー制御を組み込んだ、コネクション指向でメッセージ駆動のプロトコルです。
-
Apache Kafka: デプロイメントを最適化するための10のベストプラクティス
筆者のBen Bromhead氏が、データストリーミングプラットフォームをより効率的に管理するための、開発者のKafkaのベストプラクティスとして、ログ設定、適切なハードウェア利用、ZooKeeper設定、レプリケーション係数、パーティション数などについて論じます。
-
Kubernetes時代のマイクロサービス
マイクロサービスアーキテクチャは現在もなお、分散システムにおける最もポピュラーな設計方法です。しかしながら、Kubernetesとクラウドネイティブのムーブメントは、アプリケーション設計と大規模開発をある面で再定義しようとしています。現代の開発者はビジネス機能を実装するためにプログラム言語に精通するだけでなく、クラウドネイティブテクノロジにも同じように習熟しなくてはなりません。
-
ソフトウェアアーキテクチャのためのC4モデル
ソフトウェアアーキテクチャ図は非常に便利なコミュニケーションツールではありますが、多くのチームが図を作成することを縮小しています。また、図を作成したとしても、しばしば混乱と不明瞭さを抱えています。C4モデルは、コンテキスト、コンテナ、コンポーネント、コードといった一連の階層的なソフトウェアアーキテクチャ図で構成されています。
-
C#のAPI設計のモデルとインターフェース
従来のMVC、MVP、MVVM、Web MVCの中で共通の要素はモデルです。ビュー、コントローラー、プレゼンターについて解説している記事はたくさんあります。しかし、モデルについてはほとんど取り上げられていません。この記事では、モデルを取り上げ、モデルをが実装する.NETのインターフェースについて解説します。
-
マイクロサービスにおけるデータ管理
この記事では、モノリシックなデータベースからの移行に注目して、マイクロサービスにおけるデータ管理方法の実践例を提供する。最初にモノリスを構築し、実際にスケーリングやその他メリットが必要になってから、マイクロサービスに移行することを推奨する。
-
リアクティブAPIの設計,実装,利用
リアクティブプログラミングはJavaのホットな話題です。非ブロックAPIを使いたいにせよ,マイクロサービスの増加に伴って増加するレイテンシに対処したいにせよ,あるいは単に計算リソースを効率的に使用したいにせよ,今こそ有望なプログラミングモデルとしてのリアクティブに注目すべき時です。今回の記事では,リアクティブAPIの設計,実装,利用に用いるべき選択肢をいくつか紹介します。
-
ETLは過去のものか - Apache Kafkaがデータ処理の未来なのか?
QCon San Francisco 2016で、Nega Narkheda氏は“ETL is Dead; Long Live Stream”と題して講演し、エンタープライズデータ処理の変化する状況について論じました。講演の中心は、オープンソースのストリーミングプラットフォームであるApache Kafkaが、データの転送や処理に関する現在の要求をサポートするに十分な、柔軟かつ統一化されたフレームワークを提供することができる、という主張です。