API開発のためのプログラミング言語"Ballerina"の直感的な構文について解説します。認証や承認、OpenAPIツール、可観測性、SQL/NoSQLクライアントライブラリなど、重要な言語機能についても論じます。記事を読み終えれば、Ballerinaが次のバックエンドAPI開発の有力な候補である理由がよく理解できるでしょう。2022年4月InfoQ編集チームが2022年に進化するソフトウェアアーキテクチャと設計のトピックをどのように見ているかの概要です。アーキテクトが今、何を設計しているかに焦点を当てています。Pan氏が、分散データベースシステムにおけるシャーディングアーキテクチャのパターンについて論じます。ShardingSphereプロジェクトがデータシャーディングの課題にいかに対処しているかを説明した上で、DistSQLを使って分散データベースと暗号化テーブルを生成する方法の実例2つを論じています。カルチャー&手法カオステストで、見えない課題からアプリケーションのレジリエンスを改善するこの記事では、Netflixが提唱するカオステストの原則を列挙した。読者は、カオステストが提供するメリットとデメリットを理解できるはずだ。することで、カオステストを行うかどうかの判断材料となる。リスクに対するすべてのメリットを考慮して、カオステストを行うために経営陣を説得すべき理由も説明した。Fowler氏はyagniの法則について説明し、なぜこの原則が重要なのか、仮定の機能を作ることのコストについてブログに書いている。It"の頭文字をとっている。エクストリームプログラミング(XP)の実践であり、プログラマは必要になるまで機能追加をしない、ということだ。Jeffries氏は次のようにいう。必要になった時に実装します。必要になるだろうと予想したときには作ってはなりません。wikiによれば、ある機能が後に必要になると確信しても、今、実装してはなりません。そのような場合は、普通は、全く必要ない機能か、または、実際に必要なものは、必要と予想したものとはかなり違うものになるでしょう。この原則を実践する理由は主にふたつです。不要なコードを書かないようにするため。コードを良くするため。多かれ少なかれ間違っている'予想'コードに汚染されないように。Martin氏によれば、推定に基づく機能を考えるとき、それは間違っているものだ。そのような機能の明らかなコストは、開発にかかったコストのすべてだ。分析、プログラミング、テストなどのすべての努力が無駄になる。氏が言うには、ニーズを正確に理解していても、推定に基づく機能はふたつの深刻なコストを産む。ひとつは、価値の遅れのコスト、もうひとつは、維持のコストだ。氏は次のように説明する。利益を生成する他の機能開発に労力を割くことができる。推定に基づく機能は複雑さをソフトウエアに追加する。この複雑さはソフトウエアの変更やデバッグを難しくし、他の機能のコストを上げる。機能追加のコストが上がり、追加の遅延のコストが発生する。プロダクション環境に適用するまでに時間がかかるからだ。正しい機能を間違った作り方で作ってしまったのを修正するのはさらにコストがかかる、と氏は言う。開発チームはユーザとコードについて常に学習します。使っているツールについて学習しますが、このようなツールは定期的にアップデートされます。コードについても学習します。このような学習によって、6ヶ月前にコーディングされた機能を今見ると、あるべき方法でコーディングされていないことに気付きます。このような場合は、技術的負債を積み増し、修正のコストや回避のコストを考えなければなりません。Martin氏が言うには、yagniは大きな機能でも小さな機能にも適用される。小さなyagniを積み重ねることでコードの複雑さは大きく削減できると同時に、必要な機能は素早く提供できるようになる。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。Inc.プライバシーBT。