InfoQ ホームページ 設計/アーキテクチャ に関するすべてのコンテンツ
-
Martijn Verburg、Bruno Borges両氏に聞く - MicrosoftのOpenJDKコントリビューション計画
InfoQは今回、同社でJava担当プリンシパルグループSWEマネージャを務めるMartjin Verburg氏と、同じくプリンシパルプログラムマネージャのBruno Borges氏から、MicrosoftがOpenJDKに対して意図しているコントリビューションの詳細について聞くことにした。
-
開発者調査を調査する - Javaに関する結果を中心に
JRebelとSynkは先頃、Java/JVMテクノロジレポートを公開した。CodingameとTiobeは、言語の使用と採用に関するレポートを発表している。これら報告書の現状と、Javaを含むエコシステムで現在何が起きているのかを調査した。
-
分散システムにおける適度な結合とは - Viadik Khononov氏のDDD Europeでの講演より
我々はこれまで、結合は悪である、と教えられていた。そのために、すべてのものを分割して、独立的に変更できる小さなサービスに分解してきた。一方で、この論法に従った結果として、”混乱の分散”に陥ることが少なくない — 先日アムステルダムで開催されたDDD Europe 2020での講演で、Vladik Khononov氏はこのように述べた。結合に抗うのではなく、システム設計を改善するための設計ツールにするように氏は提案する。
-
コンテキスト境界を考える - Nick Tune氏のDDD Europeでの講演より
システムを分割してモジュール化すべき理由はたくさんある — 先日開催されたDDD Europe 2020の基調講演で、Nick Tune氏はこのように述べた。認知負荷の低減が可能になり、独立性のある開発が実現する。ビジネスの観点からは、より詳細な投資管理ができるようになる。講演の中でTune氏は、コンテキスト境界の設定方法によって設計時のモデリング上の選択肢を多くすることができる、と論じている。
-
正しいイベントソーシング - 最前線での体験から: DDD EuropeでのDennis Doomen氏の講演より
イベントソーシングはツールに過ぎない、トップレベルのアーキテクチャスタイルではないので、場所を選ばず使用するべきではない — Dennis Doomen氏は、アムステルダムで開催されたDDD Europe 2020カンファレンスのEvent Sourcing Dayに行った講演の中でこのように指摘し、イベントソーシングを問題に適用する場合に有用だと氏が考えるプラクティスを公開した。
-
WKSctl- GitOpsを採用したKubernetesクラスタ管理ツール
WKSctlは、アドオンを含むKubernetesクラスタをSSH経由で立ち上げて管理するオープンソースプロジェクトだ。Cluster APII(CAPI)のプロバイダで、GitOpsアプローチを使用している。Kubernetesクラスタの設定はYAMLで定義するが、WKSctlは、Gitへのプッシュ毎にアップデートを実行することで、再現性のあるクラスタをオンデマンドで使用可能にする。
-
コンポーネントのスケールアップ方法 - React Conf 2019でのJed Watson氏の講演より
JavaScriptアーキテクトのJed Watson氏が、先日のReact Conf 2019で講演して、多数のユースケースへの対応によって必然的に拡大するコンポーネントが引き起こす、設計およびメンテナンス性の問題へのソリューションを提案した。Watson氏が論じたのは、npmで毎週250万ダウンロードを数え、ルックアンドフィールをカスタマイズする100以上のオプションを持つ、react-selectコンポーネントのケースである。
-
組織トポロジと品質への影響
August Lilleaas氏は先頃、Microsoftの論文を引用して、組織の複雑性とソフトウェア品質との相関関係に関する記事を書いた。Rapid Software Testing Methotologyを開発したJames Bach氏も先頃、品質のメトリクスの解釈方法について記事を書いている。さらにTeam Topologiesの著者たちは、組織構造がソフトウェアプロダクトの健全性に及ぼす好影響について意見を述べている。
-
クラウドサービスをKubernetesリソースとして操作可能にするGoogle Cloud Config Connector
Google Cloudチームは、Google Cloud Config Connectorの一般提供を開始した。Kubernetsクラスタにインストールすれば、データベースや仮想マシンといったサービスを、Kubernetesリソースとして扱うことが可能になる。
-
DevOpsチームによるセキュリティ改善の取り組み
DevOpsチームは開発、テスト、運用をひとつのチームが担当することにより、ソフトウェアの開発速度を改善している。今後数年間は多くのチームが、予測不能な専門家のゲートに検証作業を任せるのではなく、プロセスの一部としてセキュリティを取り入れるようになるだろう。
-
マイクロサービスの次に来るものは何か? Biligin Ibryam氏の提唱するマルチランタイム・マイクロサービス - QCon Londonの講演より
Bilgin Ibryam氏がQCon Londonで、Kubernetesによる分散システムの進化と将来的なアーキテクチャのトレンドについて講演した。次のトレンドはインフラストラクチャに関連するものをマイクロサービスから分離することだ、と氏は言う。ビジネスロジックを備えたサービスと、状態管理やネットワーク、バインディング、ライフサイクルを担当するサイドカーとを組み合わせたこのアーキテクチャを、Ibryam氏はマルチランタイム・マイクロサービスと呼んでいる。
-
face-api.jsによるJavaScript顔検出
face-api.jsは、畳み込みニューラルネットワークを実行して顔および顔のランドマークを検出・認識するJavaScriptモジュールだ。TensorFlow.jsを利用し、デスクトップおよびモバイルウェブ用に最適化されている。
-
-
純粋関数のプロパティを記述するには - John Hughes氏のLambda Days 2020での講演より
HaskellとQuickcheckの共同設計者のひとりであるJohn Hughes氏が、先日のLamdba Days 2020で、プロパティ(property/特性)ベースのテストについて論じた。講演の中で氏は、プロパティを導入するための5つの戦略を紹介し、それぞれの効率性を比較した上で、結論としてメタモルフィック(Metamorphic)プロパティとモデルベースプロパティが高い効率性を見せたことを報告した。
-
企業規模を問わず広がるKubernetesの利用 - CNCFの調査結果より
Cloud Native Computing Foundation(CNCF)の調査によると、Kubernetesとコンテナの採用が、特に運用環境において高まりを見せている。この傾向は、企業を対象として新たに実施された、VMwareのState of Kubernetes 2020レポートの結果とも一致する。