タグ

ブックマーク / www.infoq.com (21)

  • 12のソフトウェア・アーキテクチャの落とし穴とその避け方

    これは、多数派が支配すべきだという意味ではない。委員会によって設計されたアーキテクチャは、肥大化し、焦点が定まらない傾向がある。私たちの経験では、理想的なバランスとは、多様な経験と視点を持つ数人の仲間が、より良い情報に基づいた決定を下すために、主張に異議を唱えることである。 再利用の目標が誤った決定を左右するようなことがあってはならない。その代わり、再利用は理にかなった場合のみ行うこと。 コード、コンポーネント、設計、あるいはコンフィギュレーションの再利用は、最初は良いアイディアのように聞こえる。経営陣は、再利用によってコストが削減され、納期が短縮され、品質が向上すると信じて、このコンセプトを推進したがる。チームは、MVPをより早く提供するために既存のアプリケーションの大部分を再利用することを決定するかもしれないし、かなり成功した製品を提供するために作成された既存のアーキテクチャを再利用す

    12のソフトウェア・アーキテクチャの落とし穴とその避け方
  • DevOpsの負の側面について

    トランスクリプト Protsenko氏:私の名前はMykytaです。Netflixで働いています。私の仕事は基的に、他の開発者が遅くまで職場に残らなくてもいいようにすることです。彼らが午後5時に退社しても生産的であることが私の実現したいことです。私はプラットフォーム組織、つまり生産性エンジニアリング部門で働いており、他のエンジニアのために労力を抽象化しようとしているのです。エンジニアが同じ退屈な技術的問題に何度も対処するのではなく、ビジネス上の問題の解決に集中できるようにします。 いくつか質問させてください。あなたたちのうち何人が、自分で作って自分で動かすという哲学を実践している会社で働いてますか?生産現場との間にゲートキーパーがいないこと、機能や修正をより早く提供できることに満足している人はどれくらいいますか?番環境で発生したインシデントに対処しているときに、どうすればいいのか分から

    DevOpsの負の側面について
  • マイクロサービスに失敗する7つの方法

    次の問題は、CV駆動開発(CV-driven development)です。自分のCV(Curriculum Vitae、職務経歴書)を見ます。すると、"マイクロサービス"に関する部分が大きく空いていることに気付きます。これでは都合が悪いので、"自社のスタックを再構築して解決しよう"、と考えるのです — 読者の皆さんは、"Holly、それは皮肉が過ぎるよ"、と思うかも知れません。"自分の履歴書の都合でアーキテクチャを決めるやつがどこにいるんだ?" それが実は ... いるのです。 Red Hatは先日、コンテナベース開発を導入したおもな動機に関する調査を行いました。その結果、最も多かったものは"キャリアアップ"でした。"キャリアアップ"は、CV駆動開発の体のよい言い換えに過ぎません。 現在のマイクロサービスは"新正統派"と言ってもいいものですから、経歴書にマイクロサービスが欠けているのは大

    マイクロサービスに失敗する7つの方法
  • GDPRについてソフトウェアエンジニアは何を知るべきか?

    もう1つの重要なテーマは、プライバシバイデザインとプライバシバイデフォルトです。これは、今後、すべてのアーキテクチャへ実際に統合されるべきです。この規則以前は、プライバシバイデザインとプライバシバイデフォルトは、設計の自動的要素でしたが、人々は何かが起きるまで、セキュリティやプライバシにお金を払いたくありませんでした。GDPRは、今、これに対処する強力な動機付けになります。2,000万ユーロまでの価値を動機付けます。プライバシバイデフォルトはいろいろなことを意味しますが、来、個人識別データとそのプライバシを適切に管理して、保護することを目的とします。これが一般的に要求するのは、例えば、特に個人識別情報の読み取りアクセスを含む、誰がいつ何をしたかという明白な監査証跡です。さらに、そのデータがいつ保存され、様々なレイヤを移動したかに注意を払い、システムからデータが漏洩するのを避けるために、適

    GDPRについてソフトウェアエンジニアは何を知るべきか?
  • サービスメッシュ必読ガイド - 第2版: 次世代のマイクロサービス開発

    2016年頃「サービスメッシュ」という用語は、マイクロサービス、クラウドコンピューティング、DevOpsの分野に登場しました。楽天的なあるチームは、2016年にこの用語を使用して彼らの製品である Linkerd を説明しました。コンピューティングの多くの概念と同様に、実際には、関連するパターンとテクノロジーの長い歴史があります。 サービスメッシュの登場は、主に IT ランドスケープの最悪の状況によるものでした。開発者は、複数言語 (ポリグロット) アプローチを使用して分散システムの構築を開始し、動的なサービスディスカバリーを必要としていました。運用は一時的なインフラストラクチャの使用を開始し、避けられない通信障害を適切に処理し、ネットワークポリシーを適用したいと考えていました。プラットフォームチームは、Kubernetes などのコンテナオーケストレーションシステムの採用を開始し、Envo

    サービスメッシュ必読ガイド - 第2版: 次世代のマイクロサービス開発
  • GitHubのモノリスからマイクロサービスへのジャーニー

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    GitHubのモノリスからマイクロサービスへのジャーニー
  • GraphQLリファレンスガイド: 柔軟でわかりやすいAPIの構築

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    GraphQLリファレンスガイド: 柔軟でわかりやすいAPIの構築
  • メンタルヘルスのための個人的アジャイルの導入

    原文(投稿日:2021/01/21)へのリンク 高い品質の成果物を高い完成度で、常に提供しなければならないという意識は、ストレスを生み出し、燃え尽き症候群(burnout)の原因になる可能性がある。何よりもまず、燃え尽き症候群に陥るのを避ける問題を自分が抱えている、ということを受け入れなければならない。個人レベルでアジャイルを適用することが、ストレスを低減し、燃え尽き症候群の可能性を低めながら、高い目標を達成する上で一助となるはずだ。 Thought Machineで品質管理の責任者を務めるMaryam Umar氏は、Agile Testing Days 2020で、メンタルヘルスのためのアジャイル導入について講演した。 燃え尽き症候群のサインは外部からは分からない、とUmar氏は言う。風邪や咳とは違い、自分の内にある心から来るものだからだ。疲れを感じたり、頻繁に頭痛がしたり、仕事に対する

    メンタルヘルスのための個人的アジャイルの導入
  • モノリスからマイクロサービスへのマイグレーションで学んだ7つの教訓

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    モノリスからマイクロサービスへのマイグレーションで学んだ7つの教訓
  • マイクロサービス設計原則: SOLIDではなくIDEALS

    キーポイント For object-oriented design we follow the SOLID principles. For microservice design we propose developers follow the “IDEALS”: interface segregation, deployability (is on you), event-driven, availability over consistency, loose-coupling, and single responsibility. Interface segregation tells us that different types of clients (e.g., mobile apps, web apps, CLI programs) should be able to inte

    マイクロサービス設計原則: SOLIDではなくIDEALS
  • "プロダクトオーナ”は最悪の発想だ

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    "プロダクトオーナ”は最悪の発想だ
  • Amazonのチームはどのように継続的デリバリーを行っているか

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Amazonのチームはどのように継続的デリバリーを行っているか
  • アジャイルチームに対するメトリックの重要性

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    アジャイルチームに対するメトリックの重要性
  • MongoDBを始めた頃に知っていたら、と思う14のこと

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    MongoDBを始めた頃に知っていたら、と思う14のこと
  • 自己組織化チームにおける協調的意思決定

    原文(投稿日:2020/02/06)へのリンク 自己組織化チームにおいて、メンバが持つすべてのポテンシャルを発揮する機会を与えることは、今日の企業が成功を収める上で最良の方法だ、とLorenzo Massacci氏は主張する。Agile Business Day 2019で、氏は、自らを組織化するチームが継続的かつ効率的な意思決定を可能にする方法について講演した。 協調的意思決定(Collaborative decision-making)は複雑なアクティビティだ。講演の中でMassacci氏は、このような決定を行うための方法として、コンセンサス、多数決、独裁的決定、同意(consent)など、さまざまなアプローチを紹介した。 状況を理解しながら、ひとつひとつの方法を意識的に適用せよ、というのが氏のアドバイスだ。 自己組織化チームによる効果的かつ効率的な意思決定を可能にするためには、意思決

    自己組織化チームにおける協調的意思決定
  • DatadogがKubernetesで大規模クラスタを実現するまで

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    DatadogがKubernetesで大規模クラスタを実現するまで
  • テスト駆動開発:実はそれは設計技術です

    テスト駆動開発(TDD)は、より優れたソフトウェアを持続的に早く提供するための確立された手法です。TDDは単純な考えに基づいている。製品コードを書く前に失敗するテストを書くことです。新しい行動が必要ですか?失敗するテストを書いてください。しかし、この一見単純な考えをうまく実行するには、スキルと判断が必要です。 TDDは当に設計のためのテクニックです。TDDの基礎は、小規模なテストを使用してボトムアップを早急に設計することであり、システムへの信頼を構築しながら迅速に何らかの価値を得ることです。よりよい名前はテスト駆動設計かもしれません。 設計方法としては、集中と単純さです。目標は、開発者が価値を提供する上で不要な余分なコードを書くことを防ぐことです。問題を解決するのに必要最小限のコードを書くことです。 多くの記事がTDDを行うことのすべての利点を誇りにしています。そして多くの技術会議の講演

    テスト駆動開発:実はそれは設計技術です
  • Googleが解説 - 他社のSRE実践はなぜ誤りなのか

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Googleが解説 - 他社のSRE実践はなぜ誤りなのか
  • スタンフォード大がiOSプログラミングの入門コースを無料で提供

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    スタンフォード大がiOSプログラミングの入門コースを無料で提供
  • Heroku Dataclips 2.0 - データ版Gist

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Heroku Dataclips 2.0 - データ版Gist