_architectureに関するstntakuのブックマーク (20)

  • わかりやすいシステム構成図の書き方 - Qiita

    わかりにくいシステム構成図とは こんなシステム構成図を書いてないでしょうか? このシステム構成図のわかりにくい点が3つあります。それは 製品名は書いてあるが「役割」が書いていない データと処理が区別できない データの流れと制御の流れが区別できない の3つです。 わかりやすいシステム構成図 これら3つのわかりにくい点を改善したわかりやすいシステム構成図が↓です ポイントを解説していきます ポイント1. 製品名称ではなく「役割」を書く システム構成図には製品名称ではなくシステムコンポーネントの「役割」を書きます。 役割とは、例えば〇〇データや〇〇処理といったことであり、それを読むだけでシステムの動きを理解できる文字列です。役割をかかずに製品名称のみを書いてしまうと、その製品を知らない人が見たときに理解できません。例えば「Cloud Pub/Sub」という製品はGCPというパブリッククラウドの分

    わかりやすいシステム構成図の書き方 - Qiita
  • RESTful API との比較で GraphQL API を作ることの難しさ|qsona

    上の資料でも書いてるんですが、要点を言うと以下のようなことを主張している。 API の設計手法として、以下の2つのパターンが考えられる ・Resource-based API ・Usecase-based API Usecase-based というのは要はクライアントの要求にそのまま沿った形で API を作るということだ。しかし、UI やその他クライアントの要求というのは変わりやすいものなので、そのたびにいちいち API を変更しないといけないとか、API に一貫性がなくて使いにくいとか、1つの endpoint で多数の要求に対処する "神API" が作られてパフォーマンスが悪化する、というような問題が起こる。 したがって、注意深く RESTful API を設計すると Resource-based になる。ここで言っている Resource というのはテーブル設計にやや近いが、そのまま

    RESTful API との比較で GraphQL API を作ることの難しさ|qsona
  • AWS Well-Architected ドキュメントが読みやすくなりました!!(AWS Well-Architected ドキュメントの歩き方2022) | DevelopersIO

    AWS認定トレーニング講師の平野@おんせん県おおいたです。 さて、2021年に下記のような Well-Architected フレームワークのブログを書きました。 最近AWS Well-Architectedのドキュメントがアップデートされましたので、それに伴いブログも新しくリリースしました。 おもな変更点 ドキュメント構成の改善に対応 ドキュメント自体が読みやすくなりました(詳細は後述)。それに対応して、内容を変更しました。 新しい柱への対応 2021年12月に「持続可能性の柱」が追加されましたので、この新しい柱についての記事を追記しています。 尚、2022.1.9時点で日語化されておりませんので ブログ内の見出しは、私の方で日語訳したもの 各リンク先は英語ページ となっておりますので、ご了承ください。 はじめに AWS Well-Architected フレームワークとは AWS

    AWS Well-Architected ドキュメントが読みやすくなりました!!(AWS Well-Architected ドキュメントの歩き方2022) | DevelopersIO
  • ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白

    の問題意識 ソフトウェアの設計スキルはどのように獲得する(させる)ことが効果的であるのか ソフトウェアアーキテクチャの目的 そもそもソフトウェアアーキテクチャはどのような欲望を満たすための方法か ソフトウェアアーキテクチャの目的は、求められるシステムを構築・保守するための必要な人材を最小限に抑えること である。 (CLEAN ARCHITECTURE) 「求められるシステムを構築・保守するための必要な人材を最小限に抑えたい」 => 構築容易性 と 保守容易性 を確保したい 構築容易性 「構築しやすさ」とは? ソフトウェアを構築するとはどういうことか ソフトウェアの2つの価値: 「振る舞い」と「構造」 振る舞い: 要件を満たすこと => いわゆる機能 構造: 振る舞いを簡単に変更できること => いわゆるアーキテクチャ 構築しやすさ=価値の生み出しやすさ 要件を満たしながら振る舞いを変更

    ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白
  • IBM Dojo 挫折しないドメイン駆動設計 20210825pm

    あらゆる場面でデザインを駆使するための技術 / Techniques for Applying Design in Any Situation

    IBM Dojo 挫折しないドメイン駆動設計 20210825pm
  • BFF(Backends For Frontends)超入門――Netflix、Twitter、リクルートテクノロジーズが採用する理由

    BFF(Backends For Frontends)超入門――NetflixTwitter、リクルートテクノロジーズが採用する理由:マイクロサービス/API時代のフロントエンド開発(1)(1/2 ページ) マイクロサービス/API時代のフロントエンド開発に求められる技術の1つBackends For Frontends(BFF)について解説する連載。初回は「超入門」としてBFFの概要や事例を中心に紹介する。 連載「マイクロサービス/API時代のフロントエンド開発」では、今注目のBackends For Frontends(BFF)について数回にわたって解説します。初回である今回は「超入門」としてBFFの概要や事例を中心に紹介します。第2回はBFFの作り方について、第3回はBFFを使ったフロントエンド開発者主導のマイクロサービス/API化の手順について解説します。 想定読者は、Webア

    BFF(Backends For Frontends)超入門――Netflix、Twitter、リクルートテクノロジーズが採用する理由
  • イーロン・マスクのロケット製造5つのステップがサイコーだった

    イーロン・マスクが YouTube チャネルでスペース X のテキサス工場スターベースの中を歩き回りながらロケット製造や電気自動車について説明しているのを観た。ツイートしたこの件。 これがめちゃくちゃに示唆に富んでいて面白かった。この日のイーロン・マスクは饒舌で楽しそうなので、かなり魅入ってしまった。きっと彼はカンファレンスや会議室の中でインタビューを受けるよりも、工場でみんながロケット作ったり作業している場で語った方が情熱を込めていろいろ説明してくれるんだと思う。 この中で製造工程の話があって、これはロケット製造などの特定分野だけでなく、IT やその他の分野にでも当てはまる普遍的な知見だと思ったので意訳してみた。ざっとビデオを観て印象に残った部分だけを意訳した。あくまで大枠で言ってることをまとめただけなので、もし詳細に興味があればぜひビデオを観てイーロン・マスクの話を直接聞いて確認してく

    イーロン・マスクのロケット製造5つのステップがサイコーだった
  • The Twelve-Factor App (日本語訳)

    はじめに 現代では、ソフトウェアは一般にサービスとして提供され、Webアプリケーション や Software as a Service と呼ばれる。Twelve-Factor Appは、次のようなSoftware as a Serviceを作り上げるための方法論である。 セットアップ自動化のために 宣言的な フォーマットを使い、プロジェクトに新しく加わった開発者が要する時間とコストを最小化する。 下層のOSへの 依存関係を明確化 し、実行環境間での 移植性を最大化 する。 モダンな クラウドプラットフォーム 上への デプロイ に適しており、サーバー管理やシステム管理を不要なものにする。 開発環境と番環境の 差異を最小限 にし、アジリティを最大化する 継続的デプロイ を可能にする。 ツール、アーキテクチャ、開発プラクティスを大幅に変更することなく スケールアップ できる。 Twelve-F

  • 契約による設計事始め

    Object-Oriented Conferenceの発表資料です。 https://fortee.jp/object-oriented-conference-2020/proposal/1224f293-8624-4448-866f-5d1b991d377f カンファレンスの感想はこちら。 https://dnskimox.hateblo.jp/entry/2020/02/22/104342

    契約による設計事始め
  • Webサイト制作をどれくらいの粒度で分解してタスク化するか|重松佑 / Shhh inc.

    プロジェクトが始まるときにかなり初期の段階でWBSを作ることは多いとおもいます。そのWBSの作成、プロマネやディレクターに任せっぱなしになっていないでしょうか。WBSはスケジュールをガントチャートで表したものを指していると思われがちですが、実はスケジュールだけでなく見積もりやアサインを精度高く行うためにも重要なものです。 たとえば「Webデザイン作成」というスコープにどのような実作業が含まれているかはWBSを作ることによって見える化しプロジェクトメンバーやクライアントと共有できるようになります。ときどき下記のように書かれたWBSを見ることがあります。 Webデザイン作成 ・作成 ・確認 ・修正 ・確認2 ・修正2 ・確定 しかし、これでは「Webデザイン作成」に必要な知識、さらには作業量・スケジュール・予算も分かりません。Webデザイン作成の例を続けると、下記のように「作成」のスコープを分

    Webサイト制作をどれくらいの粒度で分解してタスク化するか|重松佑 / Shhh inc.
  • 『現場で役立つシステム設計の原則』 増田亨さん を読んだ。「データしか持たないデータクラスは作らない!」 - エンジニア的なネタを毎週書くブログ

    こちらのを読んででのレポートです。現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法【電子書籍】[ 増田亨 ] 価格:3175円 (2017/11/4時点) 複雑な業務ロジックは「適切な境界」で分離されていれば理解しやすくなる! …が最近の自分の持論なのですが、じゃあ「適切な境界」って何よ? …と言われると、うまく言語化説明できない。 そんな私にたくさんヒントを与えてくれたでした。 なかなか消化しきれていないところもあるのですが、腹落ちさせるためにもブログに落としてみます。 このブログに書いたことをまとめると・・・ 修正が大変なのはロジックが分散しているから データとロジックをひとつのクラスにまとめるとロジックが分散しない! じゃあWeb APIでサービス間連携するときも、データを持つほうにロジックを寄せるべき… と思ったら、そうでもない? こののすごい

    『現場で役立つシステム設計の原則』 増田亨さん を読んだ。「データしか持たないデータクラスは作らない!」 - エンジニア的なネタを毎週書くブログ
  • いまどきの分析設計パターン10選

    JJUG CCC 2024 Spring 複雑な業務ロジックに立ち向かうための実践技法 【初級編】 ①値の種類 ②範囲型 ③階段型 【中級編】 ④状態遷移 ⑤入出金履歴と残高 ⑥未来在庫 【上級編】 ⑦セット演算 ⑧割合と端数 ⑨決定表 ⑩経路探索

    いまどきの分析設計パターン10選
  • AWS JumpStartに参加してきました。 2022/0616~17

    6/16~17にかけて行われたAWS Jupstartに参加してきましたのでそのレポートです。 イベントは完全オンラインでの実施でした。 イベント概要 AWS JumpStart はAWS初学者のエンジニアの方々を対象とした、実践的な研修プログラムです 将来的にAWS活用をリードする人材になるための第一歩をスムーズに踏み出せるようなプログラムをご提供します 単なるAWSサービスの学習だけでなく、要件に合わせて適切なアーキテクチャを検討・設計する経験を積む部分にフォーカスした内容となっております 例えば、以下のような方々にもオススメです! ・AWSの名前は知ってるが使ったことは無い ・EC2等の単体サービスは触ったことあるが、全体のアーキテクティングは経験がない ・クラウドネイティブなアプリケーションを設計する上で重要な観点を知りたい とのことです。実際に参加してみた感じ、AWSが完全にわ

    AWS JumpStartに参加してきました。 2022/0616~17
  • 今年も開催!AWS JumpStart 2024 でAWSを学ぼう #AWS JumpStart | Amazon Web Services

    Amazon Web Services ブログ 今年も開催!AWS JumpStart 2024 でAWSを学ぼう #AWS JumpStart こんにちは!AWS ソリューションアーキテクトの黒木です。 今年のJumpStart 2023のプログラムが無事完了しました。2022年から始まったAWS JumpStart ですが、2023年も多くの皆様にご参加いただき、運営メンバーも大変学びが多い1年となりました。 AWSでは「AWS を学び初めてみる」「AWS をより活用できるようになる」といった目標にしている皆様の力添えとなるべく、AWS JumpStart 2024 を開催していきます。 そこで、この記事ではAWS JumpStart 2024 がどういった内容になるのかについてご紹介します。 AWS JumpStart とは? AWS JumpStartは、新卒を含むAWS初学者のエ

    今年も開催!AWS JumpStart 2024 でAWSを学ぼう #AWS JumpStart | Amazon Web Services
  • はじめてのアーキテクティング

    Webアプリケーションを提供する際に、なぜ大半のケースでサーバー1台構成では不十分なのか、どのような観点を意識し、どのようなアーキテクチャを設計すべきなのかについて学びます。例えば、パフォーマンス・可用性の観点では、ロードバランサの導入やサーバーのスケールアウト、オートスケーリング、キャッシング等について説明し、構築・運用を楽に行うという観点では、マネージドサービスなどの技術を取り入れる意味についても説明します。 0:00 イントロ 6:06 信頼性 12:16 スケーラビリティ・パフォーマンス 21:44 開発や運用 30:56 コスト最適化 35:12 セキュリティ 39:15 リファレンスアーキテクチャ 42:43 アーキテクチャ設計の始め方

    はじめてのアーキテクティング
  • ステージング環境とは結局なんなのか。

    tl;dr できればちゃんと番環境と同じ構成にしようね。 はじめに エンジニアのみなさんならほぼ日常的に耳にする言葉である「ステージング環境」。 そのほかにも「開発環境」「番(プロダクション)環境」と言った環境が一般的に耳にするところだと思います。 当然それぞれには役割があり、開発の工程に応じて必要になってくるものです。 では、それぞれの環境の特徴をざっと確認してみましょう。 開発環境の役割 「開発環境」は、エンジニアがコーディングしたプログラムが動作するかを確認する、まさしく開発するための環境です。 個人のPCに仮想環境を立ち上げるだけだったり、クラウド上に共有のPaaSを一つ置くだけだったり、「動けば良い」というようなイメージです。 言語やミドルウェアのバージョンを番環境と合わせておけば、最低限開発環境としての要件を満たせていると思います。(現場によってはバージョンが違うところも

    ステージング環境とは結局なんなのか。
  • 注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools

    公開日 2024/05/27更新日 2024/05/27注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望 現代のITサービスは、ユーザーに高品質で安定した体験を提供するために、より効率的で柔軟な技術選定が不可欠です。 特集では、注目企業のシステムアーキテクチャ設計に携わるエンジニアの方々より、それぞれの技術選定における工夫と、未来を見据えた展望についてご寄稿いただいています。 各企業がどのように課題を乗り越え、開発生産性や品質を向上させるためにどのようなアプローチを採用しているのか ー この記事を通じて、実際の現場で活用される最先端の技術や戦略を学び、皆さんのプロジェクトに役立つ洞察を得ていただければ幸いです。 ※ご紹介はサービス名のアルファベット順となっております airCloset - 株式会社エアークローゼット エアークローゼットは日初・国内最大級、女

    注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools
  • サーバーレスマイクロサービスを構築するための設計アプローチの比較 | Amazon Web Services

    Amazon Web Services ブログ サーバーレスマイクロサービスを構築するための設計アプローチの比較 AWS Lambda でワークロードを設計すると、コードレベルでもインフラレベルでも表現できるモジュール性のために、開発者に疑問が生じます。また、コードを実行するためにサーバーレスを使用するには、基盤となる機能コンポーネントからビジネスロジックを抽出するためのさらなる検討が必要です。この意図的な関心の分離により、堅牢なモジュール性が保証され、進化的なアーキテクチャへの道が開かれます。 この投稿は同期ワークロードに焦点を当てていますが、他のワークロードのタイプでも同様の考慮が当てはまります。API の境界を特定し、コンシューマと API について擦り合わせた後、その境界と関連するアーキテクチャを構成します。 Lambda 関数を使用して API を構成する最も一般的な 2 つの方

    サーバーレスマイクロサービスを構築するための設計アプローチの比較 | Amazon Web Services
  • 【15分で確認】AWSでクラウド設計する時に覚えておきたい設計原則・アーキテクチャ3選 - Qiita

    何となくAWSでクラウド設計をしていませんか AWSを利用する際、多くの方が「設計」というプロセスを簡単に飛ばしてしまう傾向にあります。しかし、クラウド環境の効果的な活用には、適切なアーキテクチャ設計が不可欠です。世の中には、システム設計をする上で指針となる設計原則がいくつかあります。記事では、以下の3つをピックアップをしてご紹介します。 記事で取り扱う内容 ■ マイクロサービスアーキテクチャ ■ AWS Well-Architected Framework ■ The Twelve-Factor App 1. マイクロサービスアーキテクチャ マイクロサービスは、独立した小さなサービス群でソフトウェアを構築するアーキテクチャです。これにより、迅速なイノベーションと新機能の迅速な展開が可能となります。一方、モノリシックアーキテクチャは、全てが一つのサービスとして結合され、変更や障害が全体

    【15分で確認】AWSでクラウド設計する時に覚えておきたい設計原則・アーキテクチャ3選 - Qiita
  • モダンなWebアプリのあるべき姿 The Twelve-Factor Appとは?�

    概要 先日、弊社の情報システム部門で開催されている勉強会にお呼ばれいたしまして、「モダンなWebアプリのあるべき姿 The Twelve-Factor Appとは?」という内容でお話しさせていただきましたので、その内容についてブログとして記載していきたいと思います。 内容なのですが、The Twelve-Factor AppのそれぞれのベストプラクティスとAWSを使った場合の適合方法、それぞれについての理解とモダンなwebアプリ開発など絡めたものになっております。 Twelve-factor Appって?? モダンなWebアプリケーションのあるべき姿として、12のベストプラクティスにまとめた方法論 Herokuプラットフォーム上で開発・運用・スケールした何百何千ものアプリケーションから得られた知見が基になっている 2012年に提唱。少々古い一面もあるが、現在でも示唆に富む数々のプラクティス

    モダンなWebアプリのあるべき姿 The Twelve-Factor Appとは?�
  • 1