並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 807件

新着順 人気順

microserviceの検索結果1 - 40 件 / 807件

  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

      マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
    • Kubernetes 1.20からDockerが非推奨になる理由 - inductor's blog

      追記: Kubernetes側での公式のアナウンスが2本出ているのでこちらも合わせてご覧ください。 kubernetes.io kubernetes.io Kubernetesコミュニティを眺めていたら、やたらめったら色んな人達が1.20 RCのリリースノート引っ張り出して「Dockerが非推奨になるからちゃんと対策を検討してね!!!」とアナウンスをしていて、挙げ句SIG Contributexではその対策に追われてバタバタしている自体を観測しました。 CNCF Ambassador Slackでもだいぶ燃え上がっていて、見かねて dev.to に記事を投稿したのでそれをかんたんに日本語にまとめてみようと思います。英語のほうはこちらをご覧ください。 dev.to 追記2. 影響範囲を知りたい場合はまずこちらをお読みください blog.inductor.me 追記2. 影響範囲を知りたい場合

        Kubernetes 1.20からDockerが非推奨になる理由 - inductor's blog
      • 10年モノのサービスをアーキテクチャから再設計─はてなブックマークがScalaとDDDを使う理由 - エンジニアHub|Webエンジニアのキャリアを考える!

        10年モノのサービスをアーキテクチャから再設計─はてなブックマークがScalaとDDDを使う理由 10年以上運用されているサービスには、さまざまな技術的な負債が発生しています。今後の継続的な改善のため、いったん新規開発を止めて4年かけて全面的なリニューアルを実施した「はてなブックマーク」の開発者に、プロジェクトの課題や解決する手法などを聞きました。 改善1つに数カ月かかるなら全てを書き換えられないか 2000年代にトレンドだった開発手法の負債 過去の開発意図を探る考古学的手法 データセンター移行も見据えて刷新しよう ドメインモデル設計とScalaとマイクロサービス化 コアロジックにはScalaを採用 きちんとしたドメインモデルによる設計と実装を継続したい 段階的なリリースとデータの移行という2つの大きな課題 求められる機能に沿ったデータベーススキーマに再構築 新旧の2システムを維持しながら

          10年モノのサービスをアーキテクチャから再設計─はてなブックマークがScalaとDDDを使う理由 - エンジニアHub|Webエンジニアのキャリアを考える!
        • なぜマイクロサービスは失敗するのか? - kawasima

          Eberhard Wolffさんのこのプレゼンの要約です https://www.youtube.com/watch?v=B3O-qYM-Kkw 共通のデータモデル 共通のデータモデルを通信に使う 各サービスで必要となるデータの内部モデルは異なるかもしれない データモデルが、共通ライブラリと同じ意味合いになる すべてのサービスが、最新のライブラリを使わなくてはならない 共通データモデルの変更は、す

            なぜマイクロサービスは失敗するのか? - kawasima
          • なぜMicroservicesか?

            現職においてMonolithアーキテクチャからMicroservicesアーキテクチャへの移行とその基盤の構築に関わって2年近くが経った.未だ道半ばであるがこれまでの経験や日々のインプットをもとにいろいろ書いておこうという気持ちになった.本記事ではそもそもMicroservicesアーキテクチャとは何かを整理し,なぜやるべきか?・なぜ避けるべきかを整理する. Microservices? Microservicesアーキテクチャとは「Single purpose,High cohesion,そしてLoosly Couploedなサービスを組み合わせてシステムを構築する」アーキテクチャ手法である.それぞれの原則をまとめると以下のようになる. Single purpose: 一つのことに集中しておりそれをうまくやること Loose coupling: サービスは依存するサービスについて最小限の

            • Microservices における認証と認可の設計パターン

              マイクロサービスにおける認証と認可の、一般論としての設計パターンを調べたところ、Web 上の複数の記事で似たようなパターンが登場していた。ここでは、まず認証と認可が実現したい一般的な要件と、そのマイクロサービスでの難しさを整理し、認証と認可に分けて調査したパターンをまとめた。 あくまで “一般論” なので、実際には個々のドメインにあわせてアレンジが必要 往々にしてこの “アレンジ” に価値が宿るものだが、まずはセオリーを知っておきたいというモチベーションで調査した Web 上の記事を読んでまとめただけなので、手を動かしての確認はしておらず、理解が甘い部分はご容赦ください 具体的な通信方式やサービス間通信のセキュリティといった具体論までは踏み込めていない。このへんはサービスメッシュやゼロトラストネットワークといったトピックが登場すると思われる これらは次回以降の Todo としています その

                Microservices における認証と認可の設計パターン
              • 100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順 - エンジニアHub|Webエンジニアのキャリアを考える!

                100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順 マイクロサービスの導入事例を、中の人が徹底的に語ります。クックパッドでは、100万行オーバーの超巨大なRuby on Railsアプリのマイクロサービス化に挑みました。アプリをいかに分離し、連携できるようにするか、など、同社が採ったマイクロサービス化の戦略を聞きました。 Ruby on Railsのバージョンアップに1年かかっていた 【マイクロサービス化戦略】まずはコードを減らすことから 【マイクロサービス化戦略】アプリ固有のバッドノウハウを減らす 【マイクロサービス化戦略】まずは分離しやすい部分からお試しで 【マイクロサービス化戦略】データベースが切れていればサービスも切りやすい 【マイクロサービス化戦略】インフラ構成を標準化する 【マイクロサービス化戦略】サービスメッシュを入れて通信の課題をクリ

                  100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順 - エンジニアHub|Webエンジニアのキャリアを考える!
                • DockerとRemote Containersでの開発環境が最高過ぎる - Sweet Escape

                  この投稿がきっかけでソフトウェアデザインに寄稿しています。この投稿の加筆修正ですが、自分のパート以外にもVS Code全般の特集となってますので興味あるかたはぜひそちらも! ソフトウェアデザイン 2021年6月号 作者:tsutsu,吉岩 正樹,中村 充志,西谷 圭介,erukiti(佐々木 俊介),結城 洋志,上田 隆一,八田 昌三,サリチル酸,結城 浩,山川 正美,大串 肇,松本 直人,清水 洋治,広田 望,松田 佳希,田中 宗,中島 明日香,くつなりょうすけ,高橋 永成,金谷 拓哉,佐藤 雄飛,梶原 直人,髙濱 暢明,星川 真麻,八木澤 健人,けんちょん(大槻 兼資),職業「戸倉彩」,森若 和雄,大隈 峻太郎,小野 輝也,河野 哲治,古川 菜摘,石井 将直,杉山 貴章,Software Design編集部技術評論社Amazon はじめに Remote Containers Docke

                    DockerとRemote Containersでの開発環境が最高過ぎる - Sweet Escape
                  • Microservices分割大全 - kawasima

                    Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティでの分割 https://microservices.io/patterns/decomposition/decompose-by-business-capability.html 現在の業務機能にしたがってサービスを分割する。 したがって、コンウェイの法則にしたがった分割とされる。 サブドメインでの分割 https://microservices.io/patterns/decomposition/decompose-by-subdomain.html DDDのサブドメ

                      Microservices分割大全 - kawasima
                    • 作ってわかる! はじめてのgRPC

                      gRPCは主にバックエンド、特にマイクロサービス同士の通信に多く使われる通信方式です。 しかしそれゆえに知名度が低く、「gRPCってどんな通信なんだろう?」「HTTPとは別の仕組みなの?」と思っている方もたくさんいるのではないでしょうか。 この本では、gRPCはそもそもどんなコンセプトで作られた通信方式なのかから、Goでの具体的な実装ノウハウ、AWSにデプロイするための設定までを通貫して解説することで、 「gRPC全くわからない」という人が「自分で実装して動かせそうな気がする……!」と思える段階までたどり着けるようにしました。

                        作ってわかる! はじめてのgRPC
                      • マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ|ハイクラス転職・求人情報サイト AMBI(アンビ)

                        マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ マイクロサービスにおける通信方式の選択について、おおた(ota42y)さんが、GraphQL・gRPC・OpenAPIといった主なWeb APIスキーマの管理の利点と使い分けを解説します。 近年流行しているマイクロサービスアーキテクチャにおいては、「どういった通信方式を選ぶか」が開発の効率やサービスの信頼性、パフォーマンスを大きく左右します。この記事では、GraphQL・gRPC・OpenAPIそれぞれの利点と適切な使い分けについて解説します。 マイクロサービスにおけるWeb API管理の重要性 Schema First DevelopmentとWeb API 人ではなくプログラムが処理できるよう管理する Web APIのインタフェース定義手法の比較 OpenAPI ─ R

                          マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ|ハイクラス転職・求人情報サイト AMBI(アンビ)
                        • PayPayの1秒あたり1000決済への道のり

                          パフォーマンス・チューニングに関するブログの第1回目です PayPayは、日本でもっともよく知られているQR決済サービスとなりました。2018年10月5日のローンチ後、2018年12月より実施した100億円あげちゃうキャンペーンは、その後のプロダクトの急成長に合わせたシステムのスケール拡張という長い道のりのスタート地点でもありました。 ここ数ヶ月の新規ユーザーの増え方[1]を見るにつけても、PayPayが驚異的な成長を続けていることは間違いありません。スタートアップ企業はまるで竹のように成長するとはこのことではないでしょうか。(竹は24時間で最大約90cmも伸びるそうです) PayPayの成長速度は? ユーザー数の伸び 2018年10月に初めてユーザーが増え、キャンペーンや日々メディアで報道されることによるユーザー数の増加もあり、1年後には1500万人を突破しました。2020年5月現在、サ

                            PayPayの1秒あたり1000決済への道のり
                          • メルカリWebのマイクロサービス化、その4年 | メルカリエンジニアリング

                            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年以上の期間がかか

                              メルカリWebのマイクロサービス化、その4年 | メルカリエンジニアリング
                            • エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog

                              未経験からエンジニアになり3年が経ちました。 この3年間はベテランエンジニアとの差を埋めるべく、プライベートの時間の大半を学習に充ててきました。幸い少しずつ成長を感じられ、業務では難易度の高い仕事を任せてもらえるようになったと感じます。このキャッチアップのために100冊以上の技術関連書籍を読んだことでしょう。 ここ最近、知人やTwitter経由で知り合った方から、私が学習に使った書籍について質問を頂くことが多いです。そこで、今後参照していただきやすいように、これまで私が読んで良かった書籍を1つの記事にまとめようと思います。 前提:エンジニアとして経験した技術 書籍について 全エンジニア向け Web / インターネット イラスト図解式 この一冊で全部わかるWeb技術の基本 (★) HTMLコーダー&ウェブ担当者のための Webページ高速化超入門 (★) Webを支える技術 -HTTP、URI

                                エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog
                              • マイクロサービス設計原則: 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
                                • サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ 第一回〜べき等性 (冪等性/idempotency) ってなんだ!? - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

                                  そもそも、べき等性とは、どういうことを言うのでしょうか ? これは「ある操作を 1 回行っても複数回行っても結果が同じである」ことをいう概念です。 例えば、注文処理を考えます。画面インターフェースで、注文確定 / 送信ボタンを押すという操作で二度三度押してしまうユーザーがいます。これで同じ内容の注文が複数回登録されてしまったら問題です。こういったケースでは、画面側で連続して押せないような実装を追加したり (①)、サーバー側で同じ注文の処理であることを認識して適切に一つの処理と判断するようなこと (②) が必要です。 この例では、画面側の制御を入れたほうが簡単なように見えます。しかし、現実には画面とサーバーとの間のネットワークの問題や画面以外からの HTTP コールなどを考えると、このような重複リクエストが起こってしまうという可能性はゼロではありません。 このようなものへの対処として、サーバ

                                    サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ 第一回〜べき等性 (冪等性/idempotency) ってなんだ!? - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
                                  • 今回の転職活動の雑感 - seri::diary

                                    はじめに 転職活動の結果 希望したポジション 転職のために使用した採用媒体 転職ドラフト YOURTRUST 今回の転職活動での気付き Coding testは対策が必須である System design interviewも準備しておいた方がいいが業務経験があればそこまでビビる必要はない 6社同時に受けると毎日のように面接がある 希望年収は自分に嘘をつかずに伝えた方が良い マネージャーやリーダーの経験がないと判断されるとマイナス評価につながる会社が存在する 自分の評価は企業によって差が大きい おわりに はじめに 2021年10月から2022年2月にかけて転職活動をしていた. 今回の転職ではいつもと違い10社近くのカジュアル面談を受け6社に応募した. また,珍しく採用に関するwebサービスを使用したり,初めてCoding test対策を行ったりもした.その雑感をまとめておく. 転職活動の結

                                      今回の転職活動の雑感 - seri::diary
                                    • 7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog

                                      この記事は 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の存在 非エンジニアにもわかってもらおう 「

                                        7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog
                                      • スタートアップのためのマイクロサービス入門 | Amazon Web Services

                                        AWS Startup ブログ スタートアップのためのマイクロサービス入門 こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 以前「スタートアップのためのコンテナ入門 – Kubernetes 編」を出した際に記事内で、マイクロサービスやサービスメッシュにふれる機会がありました。今回は AWS でデベロッパーアドボケイトをしているトリ氏 (@toricls) にマイクロサービスについて記事を寄稿いただきました。 ※ 本記事は Software Design 2020年7月号 に掲載された「スタートアップのためのAWSテクノロジー講座 – マイクロサービスのあるべき姿と特徴を知る」からの転載、改修版です。 目次 マイクロサービスにはコンテナが必要なのか? サービスメッシュは本当に必要なのか? 「マイクロサービス」という言葉の功罪 マイクロサービスが必

                                          スタートアップのためのマイクロサービス入門 | Amazon Web Services
                                        • 外部パートナーとのAPI連携時に気をつけるポイント - 10X Product Blog

                                          はじめに こんにちは!yamakazu (@yamarkz) です。 近所の行きつけスーパーがサミットストアになったのですが、品揃えがとても良く、お店の雰囲気も明るくて、仕事終わりの買い物が最近の楽しみになってます 🥳 🛒🥗 さて今回は、開発方面のナレッジとして外部API連携の話を紹介します。非常にニッチな領域の話題ですが、わかる人にはわかるような内容です。 興味のある方はぜひ最後まで読んでみてください。 動機 新しく外部API連携の開発に着手するメンバーの助けになりたい、より良い外部API連携を実現したいという思いから、これまで開発を経験してきた中で理解した勘所を紹介します。 元々は社内向けに書き溜めておいたナレッジメモの内容ですが、特別社内に留めておく必要性もないので、せっかくならブログにしてしまおうと思い、ここで筆を取りました。 これは社内の同僚に向けた内容でありながら、似た境

                                            外部パートナーとのAPI連携時に気をつけるポイント - 10X Product Blog
                                          • ニンテンドーシステムズ株式会社 - Nintendo Systems Co., Ltd.

                                            MESSAGE メッセージ ニンテンドーシステムズは、任天堂の娯楽をお客様へお届けしやすいシステムを作るため、任天堂とDeNAのエンジニアチームを中心として、2023年4月に生まれました。 世の中に多くの技術革新がある中で、独創の精神と柔軟性を大切にしながら、様々な強みを持ったメンバーが活発に議論し、一人では成し遂げられない大きな成果を目指して、システムづくりに誠実に取り組んでいます。 インターネットを取り巻く技術は、日々目まぐるしく変化し、複雑さを増しています。 ニンテンドーシステムズはその中で、7年以上のパートナーシップで培われた任天堂とDeNAの信頼関係を活かし、任天堂の独創性とDeNAの技術への知見を原動力として、世界へ新たなイノベーションを生み出していきます。 娯楽を取り巻く技術開発は、これからも発展を続けていくことが予想されます。 枯れた技術から最先端の技術に至るまで、多様な技

                                              ニンテンドーシステムズ株式会社 - Nintendo Systems Co., Ltd.
                                            • 認証と認可と課金とコアドメインを分離したシステムは勝てるという話 - まっちゅーのチラ裏

                                              自分が複数のシステムの開発を経験して得た確信として、「認証と認可と課金とコアドメインの分離がめちゃくちゃ重要である」というものがあるので、コレを整理してアウトプットしていく 分離するモチベーションとは Microservice文脈でいうと、デプロイ独立性だったり、リソースの最適配分だったり、障害の局所化だったり、開発組織とのマッピングだったりがメリットとして語られることが多い。 だが、ここで取り上げたいのは戦術的DDD的観点でのコンテキスト分離の有用性である。 ※ちなみにコンテキスト分離のみであればモジュラモノリスだけで実現可能。 戦術的DDD的観点での関心事の分離によるメリットとは コンテキストが分離されていることによって、境界をまたぐ際に「このI/Fは正しいのか?」を都度考えることを強制することができる。 境界がなければ意図しない密結合を生みやすくなってしまう。 もちろん、境界を超える

                                                認証と認可と課金とコアドメインを分離したシステムは勝てるという話 - まっちゅーのチラ裏
                                              • 内製化をすすめる知人へのアドバイス - Kengo's blog

                                                ソフトウェアエンジニアとしての働き方を探求してきた経験と、駐在員として文化の狭間でうろちょろしてきた経験、OSSエンジニアとして多数の多様な人材と交流してきた経験をもとに、果敢にも内製化に挑戦する知人へのアドバイスを気持ちまとめます。 前提 主な利用技術にはJava(Spring Framework)やTypeScriptを想定 FaaSを始めとしたManaged Serviceは(いまのところ)積極採用しない構え Digital Transformationを推し進める一環としての内製化に、エンジニアリングの観点から挑む方を読み手として想定 内製化のターゲットは決まっているか心当たりがある状態 既存の開発チームはほぼ無い想定 1. チームビルディング 1.1. スーツとギークの対立を避ける 我々が若かった頃は"スーツ"と"ギーク"の対立を煽る風潮にありました。Rockstar Engin

                                                  内製化をすすめる知人へのアドバイス - Kengo's blog
                                                • REST vs. GraphQL vs. gRPC · Dan Hacks

                                                  REST, GraphQL, and gRPC are 3 popular forms client-server and server-to-server communication. Choosing can be difficult, so this concise guide can help. In each section, an example will be provided to illustrate retrieving a user. REST Notes HTTP paths describing data, e.g. /users as a collection of users Easily discoverable data, e.g. user ID 3 would be at /users/3. All of the CRUD (Create Read U

                                                  • 「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士

                                                    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の監視サービス

                                                      「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士
                                                    • 金融の基幹システムを1年半かけて.NET 6に移行した話

                                                      はじめに 本稿は「.NET 6移行祭り! C# Tokyo」イベントで発表した「金融の基幹システムを1年半かけて .NET 6に移行した話」の内容を文書化したものです。 [2022.08.28追記] さて、はじめにおことわりを。 おもったより大きな反響があって、想定より多く読まれており、とくに正しく伝えられていない箇所があると思い、少し補足を入れました。 ここで基幹システムといっていますが、金融の勘定系システムという意味ではありません。 基幹システムというとCore Systemという意味(これは勘定システムでしょうね)と、Mission Critical Systemの2つがあると思います。 本稿の対象は後者で、システムのお客様が、Mission Critical Systemと判断されて基幹システムとして扱われています。 金融の勘定系とは規模や複雑性、クリティカルな度合も異なりますが、

                                                        金融の基幹システムを1年半かけて.NET 6に移行した話
                                                      • マイクロサービスでの認証認可 - Qiita

                                                        複数のクラウドサービスを利用している(マルチクラウド)など、単純には閉域網を構築できない環境でマイクロサービスアーキテクチャを採用する場合には、サービス間の認証認可が必要となる。この場合のサービス間の認証認可方式を決める参考となる、OSSやSaaS、Webサービスで採用方式ついて整理した。 Istio サービスメッシュの実装として有名なIstioではサービス間通信を以下のように制御できる。 Istioの認証認可では認証主体がService Identityというモデルで抽象化され、KubernatesやIstioで定義するService Accountに加えて、GCP/AWSのIAMアカウントやオンプレミスの既存IDなどをService Identityとして扱うことができる。 サービス間の認証 (Peer Authentication) は、各サービス (Pod) に設置するSideca

                                                          マイクロサービスでの認証認可 - Qiita
                                                        • マイクロサービスに次に来るかもしれない言葉について - arclamp

                                                          2021年9月18日に開催されたXP祭り2021で「マイクロサービスに至る歴史とこれから」という講演をしました。資料は次の通りです。本来は75分ぐらいかかるのを45分で話そうとして、余裕で時間オーバーしてすみませんでした。 テクノロジーとテクニックによる進化の流れ テクノロジーやテクニックは、ITの改善サイクルを向上させるために進化を続けています。「技術そのもの」であるところのテクノロジーに対して、テクニックというのは「人による技術の活かし方」を示します。なので、基本的にはテクノロジーが生まれ、それを使いこなしたテクニックが登場することになります。 テクノロジーとテクニックの進化の歴史現在、進化中のテクノロジーであるCloud NativeやServerlessを前提としたテクニックを示す用語、つまり、マイクロサービスに次に来るかもしれない言葉というのは、時間軸からすると再来年ぐらいに出て

                                                            マイクロサービスに次に来るかもしれない言葉について - arclamp
                                                          • https://twitter.com/at_sushi_/status/1592673880313057280

                                                              https://twitter.com/at_sushi_/status/1592673880313057280
                                                            • アプリケーションにおけるデータ不整合との戦い - blog.syfm

                                                              これは Aizu Advent Calendar 2019 の 15 日目の記事です。14 日目は uzimaru0000 さん、16 日目は kacky__917 さんです。 はじめに 世の中には日々たくさんの価値ある Web サービスが生まれていますが、その価値を正しく提供するにはアプリケーションが正しく動かなければなりません。 たとえばアプリケーションは適切なユーザに適切なリソースを提供しなければならず、エラーを返す際は十分に定義された仕様に沿って返し、UI 側ではユーザに適切なメッセージを表示しなければなりません。 実際のところ、これらを厳密に実現するのは非常に困難ですが、アプリケーションにはこれら以上に複雑な問題が常につきまといます。 現在の Web アプリケーションはほとんどが分散システムの一形態です。例えばクライアントとサーバや、サーバとデータベースがネットワークを介して接続

                                                                アプリケーションにおけるデータ不整合との戦い - blog.syfm
                                                              • より良いコードレビューをするために気をつけていること | メルカリエンジニアリング

                                                                Merpay Advent Calendar 2019 の22日目は、メルペイスマート払いチーム/Backend Engineer の @oinume がお送りします。今日はコードレビューについて自分が普段から実践していることを書いてみたいと思います。 はじめに 世の中にはコードレビューをする時の観点については数多く共有されていますが、より良いコードレビューをするためにはどうするのが良いか、というHOWについてのノウハウはあまりシェアされていないような気がしています。そのため、今日は自分なりに心がけているコードレビューのやり方と、ついでに気をつけている観点について書きたいと思います。 Slackを閉じる (これが本当に一番大事だと思っているので最初に持ってきたのですが)私は極端に集中力がないため、SlackのDesktop通知が来るとついついそれが気になって見てしまいます。コードレビューの

                                                                  より良いコードレビューをするために気をつけていること | メルカリエンジニアリング
                                                                • マイクロサービス化は本当に難しい

                                                                  はじめに この記事は、AEON Advent Calendar 2023の21日目です🎉 イオンスマートテクノロジー株式会社(通称AST)のCTO室TechLeadチームの@t0doroki_takaです。弊社ではSREチームの発信に勢いがありますが、アプリケーションレイヤーよりの話題も積極的に発信していければと思います。 自分の敗戦の振り返り 以前、大規模ECシステムのリプレース案件に関わった時(そして敗戦したとき)の振り返りです。 今回取り上げるケーススタディは、システム全体(連係するシステム含む)としては段階的移行ではありましたが、主ターゲットとなるシステムは、全EC機能を包括する大規模なシステムで、それをフルスクラッチでリプレースするものでした。 巨大なモノリス構造であったため、マイクロサービスアーキテクチャに移行することで、サービス提供のアジリティを確保することが目的の一つでし

                                                                    マイクロサービス化は本当に難しい
                                                                  • モダンBFFを活用した既存APIサーバーの再構築 - クックパッド開発者ブログ

                                                                    技術部の青木峰郎です。 去年までは主にデータ分析システムの構築を担当していましたが、 最近はなぜかレシピサービスのサービス開発をやっています。 今日は、そのサービス開発をする過程で導入したBFF(Backends for Frontends)であるOrchaについて、 導入の動機と実装の詳細をお話しします。 Orcha導入にいたる経緯 まずはOrcha導入までの経緯、動機からお話ししましょう。 最初のきっかけは、わたしが去年から参加しているブックマークのようなサービスの開発プロジェクトでした。 このプロジェクトの実装のために新しいmicroserviceを追加することになったのですが、 そのときにいくつかの要望(制約)がありました。 1つめは、撤退するとなったときに、すぐに、きれいに撤退できること。 2つめが、スマホアプリからのAPI呼び出し回数はできるだけ増やしたくない、という要望です。

                                                                      モダンBFFを活用した既存APIサーバーの再構築 - クックパッド開発者ブログ
                                                                    • よりよくわかる認証と認可 | DevelopersIO

                                                                      少し早いですが、メリークリスマス!事業開発部の早川です。 早いもので、入社して 1 ヶ月半が経ちました。 現在は、 prismatix の理解を深めながら、導入支援を行っています。 今回はその中から、認証 / 認可についてお伝えします。 と言っても、これまでに同僚達が書いた分かりやすい記事がありますので、これらのガイダンスの形で、整理していきたいと思います。 ジョインしました 以来、初めての記事となりますドキドキ 目標 本記事をご覧いただいた後、こちらのスライドを何となく理解できる気がすることを目標とします。 本スライドに関するブログ記事はこちらです。 AWS Dev Day Tokyo 2018 で「マイクロサービス時代の認証と認可」の話をしてきた #AWSDevDay 目的 まず、認証 / 認可を学ぶ理由を考えてみました。 近年、様々なサービスが API を通じてつながり、より便利

                                                                        よりよくわかる認証と認可 | DevelopersIO
                                                                      • 5年後には標準になっている可観測性のこと - Learning Opentelemetry の読書感想文 - じゃあ、おうちで学べる

                                                                        はじめに 本稿は、オープンソースの可観測性(Observability)プロジェクトである OpenTelemetry を取り上げた書籍「Learning Opentelemetry」の読書感想文です。従来の可観測性の課題であったデータの分断を解消し、トレース、メトリクス、ログなどの様々なテレメトリデータを統合的に扱うことができる OpenTelemetry は、可観測性の分野における革命的な存在と言えます。 過去10年間で、可観測性はニッチな分野から、クラウドネイティブの世界のあらゆる部分に影響を与える数十億ドル規模の産業へと発展しました。しかし、効果的な可観測性の鍵は、高品質のテレメトリデータにあります。OpenTelemetryは、このデータを提供し、次世代の可観測性ツールと実践を開始することを目的としたプロジェクトです。 learning.oreilly.com 本書の想定読者は、

                                                                          5年後には標準になっている可観測性のこと - Learning Opentelemetry の読書感想文 - じゃあ、おうちで学べる
                                                                        • Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開

                                                                          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

                                                                            Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開
                                                                          • GraphQL Client Architecture Recommendation 社外版 | メルカリエンジニアリング

                                                                            この記事は、Merpay Advent Calendar 2022 の15日目の記事です。 こんにちは。メルペイのvvakameです。 最近、社内向けにGraphQL Client Architecture Recommendationというドキュメントを書きました。社内のiOS/Android、そしてバックエンドのエンジニア向けにGraphQLをやるならこの辺りの条件を満たしておかないと恩恵を感じられなくなっちゃうかもよ、と伝えるためのものです。嬉しいことに、今までに100名弱の人たちがこのドキュメントを閲覧してくれたようです。 これをAdvent Calendarで公開するために、ちょっと調整したものがこの社外版です。 すでにGraphQLをやっているけどあまり便利じゃないな…なんでだろ?とか、これから導入したいんだけど何を気をつけるべきかな…と考える時の材料にしてください。 併せて、

                                                                              GraphQL Client Architecture Recommendation 社外版 | メルカリエンジニアリング
                                                                            • gRPCを用いたマイクロサービスのAPI仕様の記述 - Mercari Engineering Blog

                                                                              この記事はMERPAY TECH OPENNESS MONTHの10日目の記事です。 こんにちは、メルペイのバックエンドエンジニアの柴田(@yoshiki_shibata)です。 メルペイのバックエンドは、Google Cloud Platform上でGoogle Kubernetes Engineを使用して、マイクロサービスアーキテクチャを採用した多数のマイクロサービスから構成されています。モノリシックなサービス実装では複数層のライブラリ(あるいはコンポーネント)から構成されるのに対して、マイクロサービスアーキテクチャでは複数層のマイクロサービスから構成されます。 どちらのアーキテクチャにおいても、偶発的プログラミング(Programming by Coincidence)1を避ける2ために、注意を払って作成する必要があるのが、境界部分のAPI(Application Programmi

                                                                                gRPCを用いたマイクロサービスのAPI仕様の記述 - Mercari Engineering Blog
                                                                              • マイクロサービスにおける内部通信の認証について

                                                                                "Backend Engineer’s meetup ~マイクロサービスにおける認証認可基盤~"の発表資料です。 https://connpass.com/event/142624/

                                                                                  マイクロサービスにおける内部通信の認証について
                                                                                • Kubernetes ベスト プラクティス 6 選

                                                                                    Kubernetes ベスト プラクティス 6 選