PHPカンファレンス北海道2024 https://fortee.jp/phpcon-hokkaido-2024/proposal/7d223fcd-ecc8-4cfb-92b2-4987749463d8 Lについての補足記事 https://asumikam.com/entry/2024/0…
SUUMOの公式サイト上でユーザーにお勧めの物件を紹介する「SUUMOレコメンドシステム」。同システムを担当するデータ推進室は、システムの障害に伴うユーザー体験の悪化を防ぐため、安定運用を実現するさまざまな取り組みを行ってきた。安定運用を実現するには、障害そのものの発生頻度を抑える信頼性だけではなく、障害が発生した際に、素早く復旧させる回復力が必要になる。SUUMOレコメンドシステムにおける安定運用に向けた「信頼性」「回復性」の取り組みについて、同推進室でデータエンジニアリング部部長を務める鶴谷誠文氏と、同じく住まいデータエンジニアリンググループの芳賀宣仁氏が紹介した。 システムの安定運用を実現するための取り組み 大学新聞の広告代理店として、人材を求める企業と仕事を求める学生のニーズをマッチングさせる情報誌ビジネスから始まったリクルート。「求職活動や採用活動を支援する人材領域」に加え、今で
ソフトウェアアーキテクチャはシステムの成功に不可欠な要素であり、ソフトウェア開発者にはこの分野における効果的なスキルが求められる。しかし、その学習資料はまだ十分ではないのが現実である。株式会社えにしテックの代表取締役 島田浩二氏は、ソフトウェアアーキテクチャに関する書籍を多数翻訳している。Developers Summit 2023 Summerに登壇した島田氏は、数々の書籍から学んだソフトウェアアーキテクチャの重要なエッセンスを紹介した。 ソフトウェアアーキテクチャとは? 3つの定義を紹介 島田氏は2009年に株式会社えにしテックを設立。2011年からは一般社団法人日本Rubyの会の理事を務めている。島田氏が翻訳に携わった書籍には、『進化的アーキテクチャ』『ソフトウェアアーキテクチャハードパーツ』、『ソフトウェアアーキテクチャの基礎』『Design It!』(いずれもオライリージャパン)
よくある「インシデント管理」の悩みシステム運用には、運用担当をはじめ、開発担当やその双方を担当するDevOpsエンジニアなど様々な役割の人々が関わっています。ここでは、インシデント管理やインシデント対応にあたって、主にシステムを運用する企業が抱える、よくある課題や悩みを3つ紹介します。 1. インシデントへの対応開始・解決の複雑化ITシステムを運用するために自社のサーバを利用するオンプレミスや、複数事業者のクラウドシステムを混在させて利用するマルチクラウドなど、利用するサービスそのものが多岐にわたり、年々複雑になる傾向が強まっています。 自社が運用するシステムが複雑になったことで予期せぬ課題が増え、様々な監視ツールから送られてくる大量のアラートに対応しなくてはいけません。監視ツールが異なると、各アラートの詳細や関連情報を調査するためのツールも異なり、インシデントを特定するまでに時間を要した
はじめに こんにちは、コミューンの中でSuccessHubというプロダクトの開発者をしている中野です。 SuccessHubは正式にローンチされてから1年半弱経過しており、開発初期からドメイン駆動設計を基に開発を進めています。この経験を通じて、コードベースのアプローチ以外の部分でも、開発者としての取り組みに関する課題や成功体験が浮かび上がってきました。今回はその一部を振り返りつつお話しできればと思います。(少し抽象的な話になります) はじめに モデル同士の関係性がうまく表現できない モデルが変化している 共通言語が貧しくなってきた 開発者としての姿勢 コミュニケーション 技術だけで解決しようとしない ドキュメントに起こして満足しない まとめ 最後に モデル同士の関係性がうまく表現できない SuccessHubローンチ直後、新規プロダクト開発記 〜どうしたら業務知識をコードに落とし込めるのか
※品質保証のエンジニアである筆者が自省・戒めのために書いた記事になります 品質管理(Quality Control)、品質マネジメントは国内では製造業を中心に発展し、プロダクトの競争力向上に貢献してきました。 JTCと呼ばれる旧来からのメーカーでは、その実績・年功の蓄積に応じて、独立性を保った品質管理・品質保証部門が権威を獲得し、今でもソフトウェア開発に強い影響力を保持するようになっています。筆者は複数のメーカーを転職やコンサルで巡って来ましたが、例えば品質保証部門が承認しないとマイルストーンで開発がブロックされる、プロダクトがリリースできないといった権限を持つ体制が、今なお普遍的に見受けられます。 この品質保証部門が権力を持ち、品質ゲートの門番として振る舞う体制は、今であっても、ある面で恩恵を提供しています。例えば次のようなものです: 法規制対応、標準化対応、その他公的なガバナンス要求へ
他者と働き、チームで成果を出す方法- 人との関係からみるカケハシ -/KAKEHASHI of the relationship between members
>>さくらインターネットの採用情報を見る 睡眠時無呼吸症候群になった。 睡眠時無呼吸症候群(重症)と診断され、この夏からCPAP(シーパップ)治療を続けている。簡単に説明すると、機械装置で鼻から空気を送り込むことで気道を開き、寝ている間に無呼吸状態にならないようにする治療法だ。鼻に酸素ボンベを装着しているようなイメージ(くわしくはネットで調べてみてください)。 睡眠時無呼吸症候群の原因は不明だ。「肥満」や「鼻の穴が狭い」といった明確な要因がないため、「ストレス」が原因ということになっている。公式には、家庭ではノー・ストレス状態ということになっているので、ストレスを蓄積しているのはもっぱら仕事や職場環境になる。仕事や職場で蓄積したストレスで心身の調子を崩している人は多い。より深刻な病気を患う人もいる。最悪、命を落としてしまう事態もある。 >>さくらインターネットの採用情報を見る ストレス原因
DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日本 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ
虎の穴ラボ株式会社 CEO 野田純一 大学卒業後、受託開発の会社に入社。その後DeNAにてゲーム開発に関わったのち、GMOへ入社。アドテク開発や研究に取り組む。2016年に虎の穴ラボの前身であるユメノソラHDに入社し、当時新規事業だったFantiaの開発の傍ら、開発組織の環境整備やエンジニア採用に取り組む。2019年10月、ユメノソラHDのエンジニア組織が「虎の穴ラボ株式会社」として分社化し、CTOに就任。2023年9月より現職。 美少女のイラストに「エンジニア採用!」「今後もずっとフルリモート!」の文字が踊る。一度は目にしたであろう、あの個性的な採用広告の広告主は「虎の穴ラボ」。同人誌通販「とらのあな」を運営するユメノソラホールディングス株式会社から分社したエンジニア・クリエイター組織です。 現CEOの野田純一さんは元GMOのシニアエンジニア。ユメノソラにはエンジニア組織の立ち上げ・拡大
こんな言葉を聞いたことあるだろうか。 「あの人は技術力が低い」 「あの人は技術力が高い優秀なエンジニアだ」 「あの人は偉いポジションにいるが技術力は低い」 「あの有名な人は,きっと技術力が高いから働いたら色々と学べそうだ」 ある人が言った。 「この会社の従業員は自分より技術力が低い。技術力が高い俺の言うことが正しい」 どうやらその人にとっては設計力含め幅広い技術的な知見を持っていることが技術力らしい。 だが,その人の技術力をプロダクトに適用している姿を見たことがない。その上での主張だった。 主張と行動が相反しているようだが,と尋ねると 「この会社のコードがクソだからだ。」 そして「一から作ればできる」「(業務での)決裁権を与えてくれればできる」 などという反応もあった。 普通に考えれば,ネゴシエーションを取りながらリーダーシップを発揮して進めるべきなのではないか。別にそこに決裁権も何も関係
近年のソフトウェアプロダクト開発組織の活動単位としてよく言われるのは、「少人数で安定したチーム」であろう。表現は違えど、どの文献でもそのように述べられる。 それでは、「少人数」と「安定」の2つの要件を満たせば高パフォーマンスなチームが設計できるかと言えば、そんなはずもない。他にも要件があるはずだ。 そこで、チームに共通して必要だと考える要件を、設計に関わったこれまでの組織から抽出して言語化し、原則としてまとめてみた。それが、「安定」「アトミック」「非兼務」「少人数」「流動性」「イテレーティブ」の6つだ。 初期に携わった組織には欠けていた要素もあるが、何度も失敗を重ねるうちに見いだしたものだ。組織設計のプラクティスとしてよく聞くものもあるが、いずれも実体験を経て必要だと感じたものばかりである。 なお、本記事で取り上げる6つのチーム設計原則だけでは、組織設計として不十分だ。チームにどういった機
Forkwellさん主催の「今から予測する2024年のPlatform Engineering」で登壇した資料です https://forkwell.connpass.com/event/303922/
The Go gopher was designed by Renée French. Illustrations by tottie. はじめに この記事は、ドメイン駆動設計(DDD)の中核概念である「リポジトリ」についての理解を深めることを目的としています。リポジトリの基本的な役割と重要性を確認し、Go言語での実装の例を紹介します。 前提 リレーショナルデータベースからデータを取得(更新)するアプリケーションを想定しています サンプルコードは Go 言語で書かれています リポジトリとは まずは、リポジトリの定義を確認してみましょう。 リポジトリパターンとは: リポジトリは、データベースから取得したデータを構造体にマッピングし、ドメインオブジェクトにアクセスするためのインターフェースを提供します。 これは、一般的なリポジトリの理解と相違ないですね。次に DDDの文脈で、より詳しい定義をみ
マイクロサービスアーキテクチャにおいては、個々が独立に選定したデータベースを持つ複数のサービスにまたがって、データの整合性を維持する必要があります。 そのための方法として、Sagaパターンと呼ばれる設計方法がありますが、Sagaでは分離性が欠如しておりLost Update等の異常が発生しかねません。 そこで本記事では、Sagaの分離性を高めるための実装におけるTipsを解説します。 目次 目次 はじめに 複数サービス間での整合性維持における課題 Sagaパターン Sagaを構成するトランザクション Sagaによって実現される安全性 原子性(Atomicity) 整合性(Consistency) 分離性(Isolation) 永続性(Durability) 異常を防止/軽減する実装 分離性の欠如が引き起こす異常 分離性の欠如への対策 Semantic Lock Commutative Up
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く