Eberhard Wolffさんのこのプレゼンの要約です https://www.youtube.com/watch?v=B3O-qYM-Kkw 共通のデータモデル 共通のデータモデルを通信に使う 各サービスで必要となるデータの内部モデルは異なるかもしれない データモデルが、共通ライブラリと同じ意味合いになる すべてのサービスが、最新のライブラリを使わなくてはならない 共通データモデルの変更は、す
Author: @urahiroshi, Engineering manager of Web Platform team 2022年8月4日、メルカリで “web-2” と呼ばれるサーバがシャットダウンされました。これはメルカリWeb版の開発に携わっているチームにとって、一つの区切りとなる出来事でした。 web-2はPHPで記述されたwebサーバで、2015年から https://www.mercari.com/jp/ 配下のコンテンツを配信していましたが、現在では複数のWebマイクロサービスがその機能を担っており、 https://www.mercari.com/jp/ 配下のページは後継となるWebマイクロサービスが配信するページへリダイレクトされています。 メルカリWebのマイクロサービス化に向けた開発が始まり、最終的にweb-2がシャットダウンされるまで、実に4年以上の期間がかか
デベロッパーのためのクラウド活用方法 サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ ~ 第一回 べき等性 (冪等性/idempotency) ってなんだ!? Author : 杉 達也 次の新規プロジェクトで、要件が定まりにくいデジタルトランスフォーメーション / DX プロジェクトで、サーバーレス を使ってみようという方が増えています。サーバーレスアプリケーションや マイクロサービス 型アプリケーションを検討すると、いずれぶつかる言葉にべき等性 (冪等性 / idempotency) というものがあります。マイクロサービスやサーバーレス型へのチャレンジは、技術的な変化と同時に、アプリケーション設計としてべき等性についての考慮が求められていきます。べき等性とは何なのか、なぜこれまではあまり言及されていないことがマイクロサービスやサーバーレスでは強調されるのか。これからのモダンな
AWS Startup ブログ スタートアップのためのマイクロサービス入門 こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 以前「スタートアップのためのコンテナ入門 – Kubernetes 編」を出した際に記事内で、マイクロサービスやサービスメッシュにふれる機会がありました。今回は AWS でデベロッパーアドボケイトをしているトリ氏 (@toricls) にマイクロサービスについて記事を寄稿いただきました。 ※ 本記事は Software Design 2020年7月号 に掲載された「スタートアップのためのAWSテクノロジー講座 – マイクロサービスのあるべき姿と特徴を知る」からの転載、改修版です。 目次 マイクロサービスにはコンテナが必要なのか? サービスメッシュは本当に必要なのか? 「マイクロサービス」という言葉の功罪 マイクロサービスが必
この記事は Tech KAYAC Advent Calendar 2021 の20日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。今年のTech KAYAC Advent Calendarは3度めの参戦です!よろしくお願いいたします! 本日の記事は、昨年の記事の続きで、Amazon EC2のプロダクトをAmazon ECS構成へと乗り換えた話になります! techblog.kayac.com 目次 目次 背景 Amazon Linuxのサポート終了 ついでにPerlのバージョンもあげた 苦労したポイント 1,デプロイ方法がめっちゃ変わる デプロイのために都度コンテナイメージを焼く 2階建て作戦 2,batchサーバどうするの問題 sqsjfr + SQS + sqsjkr 作戦 3,泥臭い戦い ecspressoの存在 非エンジニアにもわかってもらおう 「
はじめに こんにちは!yamakazu (@yamarkz) です。 近所の行きつけスーパーがサミットストアになったのですが、品揃えがとても良く、お店の雰囲気も明るくて、仕事終わりの買い物が最近の楽しみになってます 🥳 🛒🥗 さて今回は、開発方面のナレッジとして外部API連携の話を紹介します。非常にニッチな領域の話題ですが、わかる人にはわかるような内容です。 興味のある方はぜひ最後まで読んでみてください。 動機 新しく外部API連携の開発に着手するメンバーの助けになりたい、より良い外部API連携を実現したいという思いから、これまで開発を経験してきた中で理解した勘所を紹介します。 元々は社内向けに書き溜めておいたナレッジメモの内容ですが、特別社内に留めておく必要性もないので、せっかくならブログにしてしまおうと思い、ここで筆を取りました。 これは社内の同僚に向けた内容でありながら、似た境
Ruby on Railsの作者として知られるDavid Heinemeier Hansson(DHH)氏が自身のブログに5月4日付けで投稿した記事「Even Amazon can't make sense of serverless or microservices」(Amazonでさえサーバレスやマイクロサービスを理解できない)が話題になっています。 これはAmazon Prime Videoの技術部門が3月に自社ブログに投稿した記事「Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%」(Prime Videoの音声映像監視サービスにおけるスケールアップと90%のコスト削減の実現)で紹介された、AWS Lambdaのサーバレスで作られたPrime Videoの監視サービス
はじめに 本稿は「.NET 6移行祭り! C# Tokyo」イベントで発表した「金融の基幹システムを1年半かけて .NET 6に移行した話」の内容を文書化したものです。 [2022.08.28追記] さて、はじめにおことわりを。 おもったより大きな反響があって、想定より多く読まれており、とくに正しく伝えられていない箇所があると思い、少し補足を入れました。 ここで基幹システムといっていますが、金融の勘定系システムという意味ではありません。 基幹システムというとCore Systemという意味(これは勘定システムでしょうね)と、Mission Critical Systemの2つがあると思います。 本稿の対象は後者で、システムのお客様が、Mission Critical Systemと判断されて基幹システムとして扱われています。 金融の勘定系とは規模や複雑性、クリティカルな度合も異なりますが、
2021年9月18日に開催されたXP祭り2021で「マイクロサービスに至る歴史とこれから」という講演をしました。資料は次の通りです。本来は75分ぐらいかかるのを45分で話そうとして、余裕で時間オーバーしてすみませんでした。 テクノロジーとテクニックによる進化の流れ テクノロジーやテクニックは、ITの改善サイクルを向上させるために進化を続けています。「技術そのもの」であるところのテクノロジーに対して、テクニックというのは「人による技術の活かし方」を示します。なので、基本的にはテクノロジーが生まれ、それを使いこなしたテクニックが登場することになります。 テクノロジーとテクニックの進化の歴史現在、進化中のテクノロジーであるCloud NativeやServerlessを前提としたテクニックを示す用語、つまり、マイクロサービスに次に来るかもしれない言葉というのは、時間軸からすると再来年ぐらいに出て
はじめに この記事は、AEON Advent Calendar 2023の21日目です🎉 イオンスマートテクノロジー株式会社(通称AST)のCTO室TechLeadチームの@t0doroki_takaです。弊社ではSREチームの発信に勢いがありますが、アプリケーションレイヤーよりの話題も積極的に発信していければと思います。 自分の敗戦の振り返り 以前、大規模ECシステムのリプレース案件に関わった時(そして敗戦したとき)の振り返りです。 今回取り上げるケーススタディは、システム全体(連係するシステム含む)としては段階的移行ではありましたが、主ターゲットとなるシステムは、全EC機能を包括する大規模なシステムで、それをフルスクラッチでリプレースするものでした。 巨大なモノリス構造であったため、マイクロサービスアーキテクチャに移行することで、サービス提供のアジリティを確保することが目的の一つでし
Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開 Googleは分散アプリケーションの開発とデプロイを容易にするフレームワーク「Service Weaver」をオープンソースで公開しました。 Introducing Service Weaver! Service Weaver is an open source framework for building and deploying distributed applications. It allows you to write your application as a modular monolith and deploy as a set of microservices. Learn more → https://t.co/XmnVALYXNC pic
門脇 敦司/ Atsushi @at_sushi_ Knowledge Sense, Inc. CEO ← 東大 / エンタープライズ向け生成AIプロダクトで成長中のスタートアップ(2019年~) / ソフトウェアエンジニアを募集中(800万円~+SO)→DM開放中 / 好きな言葉は「実験と学習」/ 最新の生成AI 事情に少し詳しいです / ソフトウェアエンジニア https://t.co/PwBZaT31cB 門脇 敦司/ Atsushi @at_sushi_ 1/ GitHub 元CTO「マイクロサービスにしたことがアーキテクチャ上の最大のミスだった」 (※少しマニアックな内容ですが、個人的には面白いと感じたので載せます→) twitter.com/jasoncwarner/s… 2022-11-16 09:20:18 Jason Warner @jasoncwarner I'm co
はじめに マイクロサービスアーキテクチャは、独立してデプロイ可能で疎結合サブシステム群によってサービス開発を行うというアーキテクチャパターンです。現在のソフトウェアサービス開発では欠かすことができない考え方です。 従来では一定のコストが掛かり、またパフォーマンス上の問題もあったため、必要に応じての分割には難しい側面も多かったのですが、様々なエコシステムの発達によってわずかな機会費用で実現できるようになってきました。もちろん分散システムとしての本質的な難しさやアーキテクチャの移行の本質的な難しさは解決したわけではありませんが、手軽にコンテナレベルで分割された様々なサービスを作成することのコストは急速に下がってきました。 これらが、うまくサブドメイン境界によって分割されることで、ある開発チームが知らなければならない情報が制限されるため、スピード感のある開発力を維持しながら開発組織のスケールでき
のように書きます。突然でてきた「ランダム値」は何かというと、 クライアントAがロックを取得 クライアントAが何らかの理由により処理遅延(GCとかなんでもいい)し、許可されているロック時間を超えているのに気付かずアンロック ロックがタイムアウトした後、ロックを取得していたクライアントBのロックがアンロックされてしまった といったことが起きないように「自分がかけたロックのみアンロック」するために利用します。 これで解決かというと、厳密にはそうではなく、Redisのレプリケーションが非同期であるため、 クライアントAがロックを取得 レプリに書き込まれる前にマスターがクラッシュ フェイルオーバーし、レプリがマスターになる クライアントBが同じロックを取得 となり、ロック対象をA/B両方同時に保持してしまう可能性があります。 上記が許容できない場合を想定し、Redisチームは、お互いに完全に独立した
大きく変化した「人とシステム」の関係 企業におけるDX(デジタルトランスフォーメーション)の取り組みが加速する中で、「マイクロサービスアーキテクチャ」(以下、マイクロサービス)の注目度が増している。マイクロサービスは、複数の小さなサービスを組み合わせて一つのシステムを構成するという考え方だ。 マイクロサービスのような「疎結合アーキテクチャ」自体は以前からあるが、「クラウド」「モバイル」といった技術や考え方が普及したことで最近特に注目されている。こう語るのは、Scalarの深津 航氏(CEO、COO<最高執行責任者>)だ。 「技術の進歩によって人とシステムの関係が大きく変化した2000年ごろは、社内の情報は社内のシステムに格納され、他社と情報をやりとりするのは主に“人”だった。しかし、2010年ごろになると企業と企業のやりとりも、メールや電話だけでなく、スマートフォンのアプリケーションやWe
自分が在籍している会社でKafkaを利用したマイクロサービスが増えてきているので、昔からオブザーバビリティの向上というものにちゃんと着手したかったのだが、最近になってやっと手を動かせる所まで優先度を上げられた。 という訳で、ここしばらくは社内にあるマイクロサービス群にOpenTelemetryによる計装を入れまくっている訳だが、大分可視化が進んできたので、これを社内のメンバーに周知しなければならない。 とは言え、説明したい内容が余りに一般的な知識なので、社内向けのクローズドなドキュメントとして書くのは勿体無いので、オープンなブログの方にまとめることにする。 (会社のテックブログに書いた方がいいのではという話はあるが、仕事っぽくなると面倒臭い……) 基本的にはOpenTelemetryの公式ドキュメントを自分なりに解釈して要点を絞る、という形で解説していくつもりなので、公式ドキュメントは一通
アーキテクチャの議論でよく出てくるのが、コンウェイの法則と、逆コンウェイ戦略です。これについては、うっかりIT用語をバズらせてしまう達人のマーチン・ファウラーのブログにも詳しい説明があります。角さん、いつも翻訳ありがとうございます。 「逆コンウェイの法則」が持ち出された議論が苦手なんどけど、なんでなのかな。コンウェイの法則はよく理解できるんだがー。 — Kazunori Otani (@katzchang) February 28, 2023 この@katzchangさんのツイートもそうですが、逆コンウェイ戦略に関しては僕も少しモヤモヤするところが個人的にあり、そのあたりを周りの人(@katzchangさんや@tokoroten、@__garsue__氏)と議論したらいろいろ自分が思っていなかった知見も得られたりしたので、まとめてみます。 コミュニケーションがかえって増える問題コンウェイの
はじめに 2023年4月に基盤エンジニアとして Ubie に入社しました nerocrux です。主に Ubie の ID 基盤の開発と保守運用を担当しています。 この記事は、2023 Ubie Engineers アドベントカレンダー 5 日目の記事となります。 Ubie では、モジュラモノリスを採用しつつ、マイクロサービスアーキテクチャも採用しており、領域によってサービスを分けて、それぞれの担当チームが開発と保守運用をしています。 クライアントから一つのリクエストを受け取ったあとに、Ubie のバックエンドではリクエストを受け取ったサービスだけがそのリクエストを処理することもあれば、別のサービスにディスパッチし、複数のサービスがひとつのリクエストを処理して結果を返すこともあります。 マイクロサービス間の通信が Ubie の内部で発生したとしても、必ずしも無制限で自由に行われていいわけで
Amazon Web Services ブログ サーバーレスマイクロサービスを構築するための設計アプローチの比較 AWS Lambda でワークロードを設計すると、コードレベルでもインフラレベルでも表現できるモジュール性のために、開発者に疑問が生じます。また、コードを実行するためにサーバーレスを使用するには、基盤となる機能コンポーネントからビジネスロジックを抽出するためのさらなる検討が必要です。この意図的な関心の分離により、堅牢なモジュール性が保証され、進化的なアーキテクチャへの道が開かれます。 この投稿は同期ワークロードに焦点を当てていますが、他のワークロードのタイプでも同様の考慮が当てはまります。API の境界を特定し、コンシューマと API について擦り合わせた後、その境界と関連するアーキテクチャを構成します。 Lambda 関数を使用して API を構成する最も一般的な 2 つの方
I won't deny there may well be cases where a microservices-first architecture makes sense, but I think they're few and far in between. The vast majority of systems are much better served by starting and staying with a majestic monolith. The Prime Video case study that blew up the internet yesterday is but the latest illustration. Maybe once you reach the scale of Netflix or Amazon, there are areas
はじめに SRE部プラットフォームSREチームの川崎 @yokawasa です。 ZOZOTOWNではモノリシックなアーキテクチャーから、優先度と効果が高い機能から段階的にマイクロサービス化を進めています。本記事では、そのZOZOTOWNの段階的なマイクロサービス移行で実践しているカナリアリリースとサービス間通信の信頼性向上の取り組みについてご紹介します。 なお、ZOZOTOWNのリプレイス戦略ついてはこちらのスライドが参考になります。 speakerdeck.com さて、ZOZOTOWNマイクロサービスプラットフォーム(以下、プラットフォーム)はAWS上に構築しており、コンテナーアプリ基盤にマネージドKubernetesサービスであるEKSを採用しています。また、複数サービスを単一Kubernetesクラスターで稼働させる、いわゆるマルチテナントクラスター方式を採用しています。 下記イ
@1000ch です、今回は新しいメルカリ Web について書きます。この大きなプロジェクトのリリースは、多くの人の多大なる貢献によって成されたものです。そのプロジェクトの立ち上がりから今日まで、リードする役割でプロジェクトを見てきた一部始終を記録するべく書きます。 メルカリにおけるレガシーなソフトウェア ソフトウェアは生モノとよく言われますが、古くなったソフトウェアとどう付き合っていくかは、どの開発組織も抱えている、あるいはいつかはぶつかる課題なのではないかと思います。多くの方々に利用して頂くためには大規模なソフトウェア群を開発し運用する必要があります。しかし、はじめから全てを見越して完璧なアーキテクチャを構築するのは不可能であり、それをビジネスの成長に耐えうるものにソフトウェアを成長させていくのがエンジニアリングの責務です。 2013 年にスタートしたメルカリに於いても例外はなく、急速
こんにちは、かたいなかです。 最近、マイクロサービスアーキテクチャを採用した環境でプレビュー環境の実現方法についていくつかのパターンを比較し整理する機会がありました。 今回の記事では、プレビュー環境を構築するための要件をなるべく特定の技術に依存せずに紹介したあとで、ArgoCD、Istio、OpenTelemetryを使用した実装例をご紹介します。 目次 目次 プレビュー環境とは プレビュー環境の構成要素 PRごとのアプリケーションやルーティングの設定のデプロイ ヘッダ伝播 および ヘッダによるルーティング 実装例 ArgoCD ApplicationSet Istio OpenTelemetry Baggageヘッダ挿入用Proxy 動作確認 まとめ 補足: 実装例で考慮していないこと 画像等のCORS DBのアクセス権限 参考 プレビュー環境とは ここでのプレビュー環境とは、Pull
Amazon Web Services ブログ ソニー銀行が勘定系システム全体をAWSに移行 – 同行が管理する全てのシステムがクラウドに このブログ記事は、AWS ソリューションアーキテクト 太田が執筆し、ソニー銀行様が監修しています。 ソニー銀行株式会社(以下、ソニー銀行)は 2025 年 5 月、同行の勘定系システム全体のアマゾンウェブサービス(以下、AWS)への移行を完了しました(プレスリリースはこちら)。 この新勘定系システムは、主要コンポーネントとしてコンテナ向けサーバーレスコンピューティングサービス AWS Fargate を活用したクラウドネイティブなアーキテクチャで設計されており、マイクロサービス化することで機能拡張にも柔軟に対応可能なシステム基盤上に構築されています。さらに、API(アプリケーション プログラミング インターフェイス)を通じて他のシステムとも容易に接続が
米Tesla(テスラ)が全く信じられない発表をした。驚愕(きょうがく)したという意味であって、信頼できないという意味ではない。 テスラのIR資料*1を確認していると、2021年第2四半期の「株主デッキ(Shareholder Deck)」*2に目が留まる。現在、自動車各社ともに半導体不足で呻吟(しんぎん)しているが、テスラは「我々の開発チームは、半導体不足から引き起こされる製造の問題について対応するために、これまでにない取り組みを開始している。我々のエレキとファームウエアのチームは、19もの新たなコントローラーを用意し半導体不足に対応するために鋭意、設計や検証に取り組んでいる」というのだ*3。 *1 TESLAのIR資料 *2 2021年第2四半期のShareholder Deck *3 原文はOur team has demonstrated an unparalleled abilit
マイクロソフト、オープンソースの分散アプリケーションランタイム「Dapr 1.0」リリース。Kubernetes対応、サービス間メッセージング、ステート管理など提供 マイクロソフトは、オープンソースの分散アプリケーションランタイム「Dapr 1.0」のリリースを発表しました。 We are excited to announce the release of Dapr v1.0! Yes, production ready Dapr is finally here! Get all the details @ https://t.co/hPk8i38iHi This wouldn't have been possible without the amazing Dapr community. Thank you for all the hard work!pic.twitter.com/6
2016年頃「サービスメッシュ」という用語は、マイクロサービス、クラウドコンピューティング、DevOpsの分野に登場しました。楽天的なあるチームは、2016年にこの用語を使用して彼らの製品である Linkerd を説明しました。コンピューティングの多くの概念と同様に、実際には、関連するパターンとテクノロジーの長い歴史があります。 サービスメッシュの登場は、主に IT ランドスケープの最悪の状況によるものでした。開発者は、複数言語 (ポリグロット) アプローチを使用して分散システムの構築を開始し、動的なサービスディスカバリーを必要としていました。運用は一時的なインフラストラクチャの使用を開始し、避けられない通信障害を適切に処理し、ネットワークポリシーを適用したいと考えていました。プラットフォームチームは、Kubernetes などのコンテナオーケストレーションシステムの採用を開始し、Envo
We create and provide access to world-class entertainment through Amazon Originals, Prime Video, Audible, Amazon Game Studios, Twitch, Amazon Music, and more. Amazon’s digital entertainment products enable customers to access the latest apps and games, stream or download movies, TV shows, and music, and gives customers the ability to access their own files anywhere in the world. Audible is the wor
初めまして。弁護士ドットコム株式会社でエンジニアをやっている@komtaki です。弊社でも開発ブログを開設し、情報発信を強化します。サービス開発事例やデザイン活動を発信するので、お楽しみに。 本記事では、事業とマイクロサービスの視点から、基幹事業の 1 つである弁護士ドットコムサービスの進化を振り返ります。 昨今、クラウドネイティブやマイクロサービスといった概念が普及しました。弊社でもサービスの課題を解決するために、クラウドネイティブを掲げて取り組んでいます。 弁護士ドットコムサービスとは ビジネスとアーキテクチャの変遷 1. モノリス期 - EC2 2. マイクロサービス導入期 - EC2 on Owned Kubernetes どう分けるか どう連携するか どう運用するか 大きな知見と新たな課題 3. マネージドマイクロサービス期- AWS ECS 次期基盤候補 EKS vs ECS
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く