InfoQ ホームページ 設計/アーキテクチャ に関するすべてのコンテンツ
-
古典的Javaガベージコレクションを理解する
Javaのガベージコレクションは、25年経った今も大きな関心を集めるトピックです。多くの開発者たちがこの話題について、最も広く使われている実装(Java 8のパラレル)に関してさえ、いまだ困惑しているのが現状です。
-
マルチランタイム・マイクロサービスアーキテクチャ
”マイクロサービス”アーキテクチャと”12-factorアプリ”設計に関するベストプラクティスが現れました。クラウド、コンテナ、コンテナオーケストレータ(Kubernetesなど)の普及により、共通的な統合原則に対処する新たなソリューションが現れたのです。この記事では、”メカ”コンポーネントを使用してマイクロサービス用のエンタープライズ統合パターンを提供するアプローチについて論じます。
-
サービスメッシュ必読ガイド - マイクロサービス時代のサービス間通信管理
このオンラインガイドは、ソフトウェアアーキテクトや技術リーダが当然持つであろう、"サービスメッシュとは何か?"、"サービスメッシュは必要か?"、"さまざまなサービスメッシュのプロダクトをどのように評価すればよいのか?"、といった疑問に答えるためのものです。ソフトウェアアーキテクチャにおけるサービス��ッシュは、マイクロサービス間通信の促進を目的とした特別なインフラストラクチャレイヤで、一般的にはサイドカープロキシとして実装されます。
-
2020年第一四半期のソフトウェアチームとチームワークのトレンドレポート
Culture & Methods編集部では、テクノロジーの導入曲線の最前線にあるトピックについてレポートします。例えば、対面でもリモートでも、チームやチームワークをより効果的にする方法にいても紹介しています。新しいツールや技法があり、アイディアの一部は以前からあります。また、勢いを得ているアイディアもあります。プロフェッショナリズム、倫理的な振る舞い、社会や環境に対する配慮です。
-
Kotlinのコルーチンを実装面から検証する
JVMにおいて最近、リアクティブプログラミングの代替手段としてコルーチンが注目されています。リアクティブストリーム用にコードを再構成するためのコストがメリットを上回ることが多いことから、最初はAndroidにおいて、それに代わるソリューションとしてコルーチンが現れました。この記事では、そのKotlinでの実装がどのように動作するのか、詳しく検証します。
-
Deep Java Library(DJL)の紹介
Amazonは、ディープラーニングモデルをJavaで開発するためのオープンソースライブラリDJLを発表しました。この記事では同ツールキットの導入方法を紹介します。このライブラリは、PythonやRといった新たなテクノロジを導入することなく、Javaによるエンドツーエンドのディープラーニング開発を可能にすることで、ソフトウェア依存性の数を削減することを目的としています。
-
夜のよい睡眠に向けたエンジニアガイド
マイクロサービスの採用の増加は、アーキテクチャとインフラストラクチャが柔軟で短命になるクラウドへの移行によって加速されていますが、私たちが作成、維持するシステムに日々複雑さを加えています。これは、自律的で完全に権限を与えられたチームによる運用モデルと並行して行われるため、各分散システムでは、独自の技術的アプローチ、言語、サービスが複雑に絡み合っています。
-
サーバーレス時代のKubernetesワークロード:アーキテクチャ、プラットフォーム、トレンド
マイクロサービスアーキテクチャがクラウドネイティブアーキテクチャにどのように進化したかを調べましょう。Kubernetesや、サービスメッシュ、サーバーレスフレームワークで提供される抽象化と組み合わせによって多くのインフラストラクチャの問題が生まれました。さらに、サーバーレスエコシステムは、標準およびオープンパッケージ、ランタイム、イベントフォーマットを探求することで進化しています。
-
Java InfoQトレンドレポート - 2019年7月
InfoQ Javaトレンドレポートは、テクノロジーの採用の概要と、2019年のJavaおよびJVM関連の領域の進化についてのコメントを提供します。主な進展として、Java 13のリリース、非HotSpot JVMの台頭、GraalVMの進化、およびJavaマイクロサービスフレームワークの景色の変化があります。
-
アジャイルマニュフェスト:ソフトウェアアーキテクトの視点
ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。
-
WebAssemblyとBlazor: 何十年の問題を解決する
Blazorと呼ばれるフレームワークは、ブラウザーで実行できRazorと呼ばれる「ビューエンジン」テンプレートシステムを利用するため、.NET開発者があきらめていたシナリオを実現できる。それは開発者がクライアントサイドのコードをC#でかけるだけでなく、.NET Standard DLLをプラグインなしでブラウザー上で実行できる。これはWebAssemblyとBlazorの物語である。
-
Redis StreamsとApache Spark Structured Streamingを使用したリアルタイムデータ処理
Apache Spark 2.0で導入されたStructured Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Redis Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。この記事では、著者のRoshan Kumar氏が、RedisおよびApache Spark Streamingテクノロジを使用してストリーミングデータをリアルタイムで処理する方法について説明します。