並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 638件

新着順 人気順

gRPCの検索結果241 - 280 件 / 638件

  • NTT Com で OSS を作って公開してみた - やったことリスト共有 - NTT Communications Engineers' Blog

    この記事は、 NTT Communications Advent Calendar 2022 8日目の記事です。 サマリ OSS 公開中の Go による SDN コントローラー Pola PCE の開発ノウハウを紹介 開発・公開・運用に際してやったことと得られた Tips を紹介 (CI・ドキュメント・コンテナ・その他 Go 関連) はじめに イノベーションセンターの三島です。 普段の業務では Multi-AS Segment Routing(SRv6/SR-MPLS)や Telemetry などの技術検証、BGP 技術の検証と AS 運用などを行っています。 この記事では、SDN コントローラーを OSS として公開して得た知見を、Go による開発支援や GitHub を通じた公開・運用の Tips を交えつつご紹介します。 公開した OSS: Pola PCE 経路制御技術の Segm

      NTT Com で OSS を作って公開してみた - やったことリスト共有 - NTT Communications Engineers' Blog
    • Vagrantが開発言語をRubyからGo言語へ切り替え、次のメジャーバージョンアップ「Vagrant 3.0」で。現バージョンとの互換性は維持

      Vagrantが開発言語をRubyからGo言語へ切り替え、次のメジャーバージョンアップ「Vagrant 3.0」で。現バージョンとの互換性は維持 HashiCorpは、仮想環境をプログラミングできるツール「Vagrant」の開発言語を、これまでのRubyからGo言語切り替えることを明らかにしました。 Learn more about the new features, capabilities, and improvements we’re making on our journey toward Vagrant 3.0. https://t.co/49scP0FdqW — HashiCorp (@HashiCorp) June 11, 2021 時期未定ながら、今後約1年のあいだに登場するVagrant 2.3、Vagrant 2.4を経て、Vagrant 3.0でGo言語への移行が完了

        Vagrantが開発言語をRubyからGo言語へ切り替え、次のメジャーバージョンアップ「Vagrant 3.0」で。現バージョンとの互換性は維持
      • サイバーエージェントに入社して5年が経過していました

        現職に入社したときにこういうエントリを投下していたが、いつの間にか5年経過してた。 株式会社サイバーエージェントに入社していました CAにおいては5年在籍すると家賃補助の福利厚生が「2駅ルール(勤務地から2駅圏内で3万円補助)」から「どこでも5(勤務地問わず5万円補助)」にグレードアップするので、社員にとっては勤続5年は一つの区切りとして捉えられている。 所感 まず単純な所感だが、まさか5年いるとは思わなかったということに尽きる。入った当初は2年間で100の新規事業を作ると言って大量採用をやっていた時期で、自分はある程度その流れが落ち着いたタイミングだったので同時期に入社したメンツは結構少なかったと記憶している(ほとんど生存してない説ある)。 最初はプロジェクトが立ち上がって2ヶ月ぐらいのしがないソーシャルゲームのプロジェクトに入ったのだが、既に運用開始していたプロジェクトのソースをメンバ

        • 次世代ウェブカンファレンス #nextwebconf に参加できませんでしたのでお詫びします - kuenishi's blog

          去る10月18日に行われた次世代ウェブカンファレンスは、わたしもサーバーアーキテクチャーというセッションにスピーカーとして呼ばれていた。わたしも話す気満々だったが、当日の朝になって次男が発熱してしまい家庭の予定を変更して妻は次男、わたしは長男を連れて彼の予定をこなすことにした。ので泣く泣く当日朝に参加を断った。当日は盛況だったようで何よりである。 当日はスタッフが充実していて、ストリーミングや録画も行われた。わたしが出るはずだった server_arch セッションの動画も公開されている。ここでは、当日言おうと思っていたことと、この動画を見て言いたいことをここに書いて当日参加できなかった詫びとしたい。すまんかった。 ウェブ is 何 / 次世代 is 何 CERN発祥のHTTP/HTMLで情報伝達する仕組み(昔WWWとか言われていたもの)が普及しきって、あらゆる情報がインターネットを介して

            次世代ウェブカンファレンス #nextwebconf に参加できませんでしたのでお詫びします - kuenishi's blog
          • 今日から分散トレーシングに対応しないといけなくなった人のための opentelemetry-go 入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

            こんにちは。SRE/データストアチーム の飯塚です。 私たちのチームではデータベースを代理で操作したり情報を取得したりするサービスをいくつか作り、それをプロダクトチームが利用できるように gRPC 経由で提供しています。ところで、ある日突然「分散トレーシングを活用していくことになったので、あなたのチームのサービスも対応させてください」とお願いされたらどうすればよいでしょうか?私はこれまでにいろいろなカンファレンスで分散トレーシングや OpenTelemetry についての講演を聞いていたので、理念は理解した、便利そうだ、導入してみたい、と思ったことは何度かありました。しかし実際に導入しようとして SDK のドキュメントを開いてみると、理解しなければいけない(ように見える)概念や、使い方をマスターしないといけない(ように見える)API の数に圧倒されてしまい、後回しにしてしまっていました。

              今日から分散トレーシングに対応しないといけなくなった人のための opentelemetry-go 入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
            • Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes

              昨今Infrastructure from Code (IfC)という概念をよく耳にします。先日もAWSのGregor Hohpeが関連する記事を書いていました。 architectelevator.com この記事では、Infrastructure from Codeとはなにか簡単に紹介し、具体的にどのようなツールがあるか網羅的にまとめます。 Infrastructure from Codeとはなにか Infrastructure from Code (IfC) とは、その名の通り、Infrastructure as Code (IaC) に関連する概念です。IaCとの根本的な違いは、IaCは開発者がインフラを明示的に意識して構成を記述するのに対し、IfCでは開発者がインフラをできるだけ意識しないよう抽象化を試みていることです。これにより、差別化に繋がらない重労働ができる限り排除された高

                Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes
              • Rust初心者がRustで全文検索サーバを作ってみた - Qiita

                情報検索・検索エンジン Advent Calendar 2019 の5日目の記事です。このAdvent Calendarを作った@takuya_aさんより、お誘いいただきました。 @minoru_osuka もし余裕あれば12/5の記事お願いします! https://t.co/YIA9tIB4Gj — takuya-a (@takuya_b) December 1, 2019 ということで、仕事とは別で個人的に始めたプロジェクトについて紹介できたらと思います。 私自身はApache Solrを好んで利用しています。 ただ、最近のサーバサイドの技術の移り変わりや、新しい開発言語の登場など、取り巻く環境が変化してきています。それらの習得も踏まえ、使ったことのない開発言語を用いて軽量な全文検索サーバを作り始めるという内容です。 開発した経緯 インフラの変化 ここ数年でインフラは大きく変化しました

                  Rust初心者がRustで全文検索サーバを作ってみた - Qiita
                • Go vs Rust : 特徴量DBに適するのはどっち!? (2020-04-14 実験追記) - ABEJA Tech Blog

                  ABEJA で Research Engineer をやっている中川です.普段は論文読んだり,機械学習モデルを実装したり,インフラを構築したりしています.今回のブログでは,Insight for Retail の一機能として提供しているリピータ分析に用いる特徴量DBの改善に向けた言語選定について紹介します. ※ たくさんの方々からのコメントありがとうございます.いただいた観点をベースに「2020-04-14 追記」以下に実験を追加しました. モチベーション リピート分析では,任意の特徴量をクエリに最も類似した特徴量を数100msec以内に検索する必要があり,一般的なデータベースでは実現することが難しいという課題がありました.そこで,われわれは python で独自のインメモリデータベースを実装し運用してきました.このデータベースがサービスの成長に合わせて限界を迎えつつあるので,アルゴリズム

                    Go vs Rust : 特徴量DBに適するのはどっち!? (2020-04-14 実験追記) - ABEJA Tech Blog
                  • nginx に実装された gRPC サポートを試してみる - Qiita

                    Announcing gRPC Support in NGINX ということで、nginx 1.13.9 で gRPC サポートが入り、HTTP と同じように gRPC ストリームを扱えるようになるようです。めでたい! grpc_pass ディレクティブが新規に実装され、grpc:// と grpcs:// なバックエンドに対してリバースプロキシを行えるようになるようです。これを使って、 TLS 終端を nginx にやってもらったり 複数のバックエンドを置いて柔軟にロードバランスしてもらったり 同一のエンドポイントに複数 gRPC service を設定して、nginx にルーティングしてもらったり などの設定をすることが可能になるようです。 まだ正式にリリースされているわけではないので、今回は HEAD を持ってきて、リリースに載っている例を試してみます。 下準備 今回は適当に EC2

                      nginx に実装された gRPC サポートを試してみる - Qiita
                    • Ruby on Rails & Vitessによる
DBスケールアウト

                      ソーシャルゲームのような高負荷がかかるWebアプリケーションにおいては、何十, 何百台ものサーバーでスケールアウトするのが当然の時代になりました。特にDBサーバーでは垂直分割、水平分割による複数のDBへの負荷の分散が行われ、アプリケーション側でハンドリングすべきことが増してきています。 今回は、G…

                        Ruby on Rails & Vitessによる
DBスケールアウト
                      • Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。

                        grpc/grpc · GitHub gRPC - An RPC library and framework https://github.com/grpc/grpc gRPC は Google が開発しているRPC(リモートプロシージャコール)のライブラリとフレームワークで、通信層は HTTP/2 を介して行われます。 データ層については、固定されている訳ではなくあくまでデフォルトで Protocol Buffers が使われる様になっています。使用出来るプログラミング言語は現在、C++, Node.js, Python, Ruby, Objective-C, PHP, C# となっています。 実はこれら以外にも grpc-go という、なぜかこのリストに加えられていないオフィシャルリポジトリがあります。 grpc/grpc-go - GitHub gRPC-Go The Go impl

                          Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。
                        • How we migrated Dropbox from Nginx to Envoy

                          In this blogpost we’ll talk about the old Nginx-based traffic infrastructure, its pain points, and the benefits we gained by migrating to Envoy. We’ll compare Nginx to Envoy across many software engineering and operational dimensions. We’ll also briefly touch on the migration process, its current state, and some of the problems encountered on the way. When we moved most of Dropbox traffic to Envoy

                            How we migrated Dropbox from Nginx to Envoy
                          • Neco プロジェクトのスキルシート

                            neco_skills.md Neco プロジェクトのスキルチェックシート Neco は大量の物理サーバーを効率的に管理・運用することを目的とした開発プロジェクトです。 Kubernetes を中心に高度な自律運用の実現を目指しています。 本文書はプロジェクトに参加しているメンバーが身に着けている要素技術を並べたものです。 応募時点ですべてを身に着けている必要はまったくありません。 社内にはチュートリアル資料が多数用意されていますので、必要に応じて学べます。 リストは以下の大項目で分類されています。 ドキュメント 利用しているサービス プログラミング テスト ネットワーク Kubernetes ドキュメント Neco プロジェクトではドキュメントを非常に重視しています。 仕様書はもちろん、各種ポリシーやチュートリアル、調査資料などあらゆる場面でドキュメントを作成しています。 Markdow

                              Neco プロジェクトのスキルシート
                            • Linuxカーネルが難しい?Rustで実装できそう!

                              「ついに、RustでLinuxカーネルを実装できる!」 待ち望んだ感を出してみましたが、2年前に記事を書いてから、すっかり忘れていました。LinuxカーネルのRustサポートについての意見を求められたら、「技術的には面白いけど、実用レベルではないね。」と、上から目線の回答でエンジニアレベルの高さをアピールするつもりでしたが、2年間の間、誰にも聞かれませんでした。 近々、LinuxカーネルにRustサポートが取り込まれそう、ということで、デバイスドライバを実装してみました。 Rust対応カーネルのコンパイルまずは、Rust対応を有効にしたLinuxカーネルをコンパイルする必要があります。「カーネルってコンパイルするものなの?」という読者は、ネットの長老たちに叡智を求めましょう。「インストール直後に、メモリ削減のために不要な機能を無効にして、カーネルコンパイルしたんじゃ。」というような、太古の

                                Linuxカーネルが難しい?Rustで実装できそう!
                              • 資料公開:「Golangを使ったバックエンドの実装入門」で DevelopersIO 2024に登壇しました #devio2024 | DevelopersIO

                                ども、もこ(札幌オフィス)です。 本日開催のClassmethod Odyssey (DevelopersIO 2024) で登壇いたしましたので、資料とソースコードを公開します。 資料 ソースコード DEMOでお見せしたコードは下記にて公開しております。 https://github.com/mokocm/go-task-backend 所感 gRPC、なんとなく難易度が高そうなイメージがありますが、Protocol Bufferとの親和性も高く、非常に洗礼されたエコシステムとなっているため、是非これきっかけで興味を持っていただけると幸いです!

                                  資料公開:「Golangを使ったバックエンドの実装入門」で DevelopersIO 2024に登壇しました #devio2024 | DevelopersIO
                                • C#大統一理論 - Qiita

                                  C#大統一理論とは CySharpのneueccさんが提唱している理論で、ザックリ言えば サーバーサイドもクライアントサイドもC#で完結できるとよくね? という理論です。 そして現状サーバーサイドとクライアントサイドの両方で使える言語はC#を除くとJavaScriptくらいだと思います(なんかあったら教えてください) C#でクライアントサイドを作るにはXamarinやゲームエンジンのUnityが筆頭になります。 C#のよさ いろいろありますが、個人的に上げるなら 比較的言語が若く(C++と比較して)、LINQなどモダンな文法仕様が遂次追加されている(というかLINQは単独で良い)。 単純に.NET Coreがクラスプラットフォームで安定して動作する。マイクロソフトが本気を出してるからサーバーサイド、クライアントサイドから機械学習まで使える範囲がめちゃくちゃ広い。 decimalみたいな型ま

                                    C#大統一理論 - Qiita
                                  • 新リサーチ: 「秘密の質問」を問い直す

                                    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                      新リサーチ: 「秘密の質問」を問い直す
                                    • ECS インフラの変遷 - クックパッド開発者ブログ

                                      技術部 SRE グループの鈴木 (id:eagletmt) です。 クックパッドでは Amazon ECS をオーケストレータとして Docker を利用しています。Docker 自体は2014年末から本番環境にも導入を始めていましたが当時はまだ ECS が GA になっておらず、別のしくみを作って運用していました。2015年4月に GA となった ECS の検討と準備を始め、2016年より本格導入へと至りました。クックパッドでは当初から Hako というツールを用いて ECS を利用しており、Hako の最初のコミットは2015年9月でした。 https://github.com/eagletmt/hako/commit/7f95497505ef78491f3f68e9d648204c7c9bb5e2 当時は ECS に機能が足りずに自前で工夫していた部分も多かったのですが、ECS やそ

                                        ECS インフラの変遷 - クックパッド開発者ブログ
                                      • 【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術

                                        講演者:河合 宜文(株式会社グラニ) こんな人におすすめ ・C#大統一理論について興味のある方 ・UniRxを使ったことがある/使ってみたい方 受講者が得られる知見 ・C#で統一したプロジェクトの作り方 ・UniRxの活用法、メリットとデメリット 講演動画:https://youtu.be/Lvbs22iZFPkRead less

                                          【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
                                        • メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング

                                          ソウゾウの Software Engineer をやっています、@mookjp です。 8/10 の記事「メルカリShopsの技術スタックと、その選定理由」では、メルカリ Shops のアーキテクチャについて、その全体像を紹介しました。 この記事では、そのうちの BFF(Backend for Frontend) レイヤとして用意した GraphQL サーバについて、NestJS を使った実装例を交えて紹介します。 GraphQL とは GraphQL サーバ周辺の構成 NestJS とは GraphQL Module NestJS で Code First なスキーマ定義をする Object types の定義 Query と Mutation の定義 GraphQL スキーマの生成 スキーマの Breaking Change (破壊的変更)を防ぐ DataLoader を使って Bat

                                            メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング
                                          • モバイルアプリでgRPCを使う

                                            Feb 7, 2018 最近は、モバイルアプリとサーバーの通信にgRPCを使っています。gRPCは、サーバー同士の通信では徐々に使われ始めている印象がありますが、モバイルアプリでの使用例はまだ少ないと思うので、動機とか、感想とか、ウチはこうしてるというものを共有します。 リクエストとレスポンスの定義を1箇所にまとめる 今のプロジェクトでは、同じデータをサーバー, iOS, Android, Webで扱う予定がありました。普通のREST APIでは同じデータを4つの言語に翻訳する必要がありましたが、これをprotoへの翻訳の1回だけで済ませたいというのが、gRPCを使う最初の動機でした。 gRPCでは、リクエストとレスポンスの全ての情報をprotoファイル上で表現し、それを元に各言語のコードを自動生成します。APIドキュメントを人間が各言語に翻訳する場合と比べると、コードを書く手間が省けます

                                              モバイルアプリでgRPCを使う
                                            • Dockerのファイルアクセスが最大で2倍から10倍高速に。買収したMutagenのファイル同期技術をDocker Desktopに統合

                                              Docker社は、2023年に買収したMutagenの技術を1月25日付でリリースされたDocker Desktop 4.27に統合し、ファイルアクセスの速度を最大で2倍から10倍に向上させたことを明らかにしました。 Docker Desktopを用いた開発環境の課題の1つは、Docker Desktop環境で開発対象としている仮想マシンにあるファイル群と、仮想マシンをホストしているローカルマシン上のファイルとのやりとりに時間がかかることでした。 これはDocker環境からホストのファイルシステムにアクセスするためのbind mountと呼ばれる仕組みに主に起因するものです。 仮想マシンとホストマシンのファイルを高速かつ低遅延で同期 これを解決するのが、今回Docker Desktop 4.27で統合されたMutagenのファイル同期機能です。これはDocker Desktopが構築したコ

                                                Dockerのファイルアクセスが最大で2倍から10倍高速に。買収したMutagenのファイル同期技術をDocker Desktopに統合
                                              • APIクライアント「Insomnia」で始める、チーム開発効率化 - JX通信社エンジニアブログ

                                                JX通信社の CTO の小笠原(@yamitzky)です。本日は、最近社内で検証している API クライアントの「Insomnia」や、Insomnia を活用したチームでの API 開発の効率化についてご紹介します。 Insomnia とは Insomnia は、オープンソースの API クライアントです。API 通信を GUI で直感的に検証・保存できる、というのが最も基本的な機能です。似たようなツールだと Postman などが有名だと思います。 insomnia.rest Insomnia は一般的な REST API だけでなく、GraphQL や gRPC の API にも対応したツールです。JX通信社では、NewsDigest や FASTALERT などのサービスで GraphQL を活用しているため、GraphQL にネイティブ対応しているのは非常に便利です。 Insom

                                                  APIクライアント「Insomnia」で始める、チーム開発効率化 - JX通信社エンジニアブログ
                                                • 試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab

                                                  世界中のエンジニアから愛されるオブジェクト指向スクリプト言語Ruby。多くの人々がこの言語にコントリビューションし、その成長を支えてきました。なかでも、特定バージョンのリリースの責任を持つ“リリースマネージャー”の功績はとても大きいものです。彼らの存在があったからこそ、Rubyのリリースは滞りなく行われてきました。 しかし、リリースマネジメントの歴史はけして平坦な道のりではありませんでした。歴代の担当者たちが、適切な運用方法について試行錯誤しながら、少しずつ改善を続けてきたのです。その過程には、全てのエンジニアにとって参考になるプロジェクトマネジメントの知見が詰まっています。 今回は、歴代のRubyリリースマネージャーである卜部昌平さん(@shyouhei)、園田裕貴さん(@yugui)、遠藤侑介さん(@mametter)、成瀬ゆいさん(@nalsh)にインタビュー。これまで担ってきた役割

                                                    試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab
                                                  • Protocol Buffers によるプロダクト開発のススメ - API 開発の今昔 - | Wantedly Engineer Blog

                                                    こんにちは、Wantedly People アプリの開発をしている竹野(Altech)です。今回は、Protocol Buffers についての記事になります。 Wantedly People では、2018年に Protocol Buffers (以下、Protobuf と呼ぶ)がとあるマイクロサービスに入って以降、何度か大規模に Protobuf を使った開発をしてきました。またその経験を通じて、Protobuf には単に「型がついて嬉しい」というだけではないパラダイム的な変化があることが分かってきました。 その知見を全社に展開するため、去年「Protobuf によるプロダクト開発速習会」という会を行いました。この記事の内容は、そこで話したことの前半「Protobuf を使うと開発がどう変わるのか?」になります。 なお、Protobuf にはバイナリフォーマットとしての役割とインターフ

                                                      Protocol Buffers によるプロダクト開発のススメ - API 開発の今昔 - | Wantedly Engineer Blog
                                                    • k6を使いこなしてみよう - 生涯未熟

                                                      この記事は MIXI DEVELOPERS Advent Calendar 2022 6 日目の記事です。 負荷試験を行う機会が年に何度かあるのですが、以前まではvegetaを使っていましたがちょっと高めの負荷をかけた時の挙動がよろしくなく、k6を試してみたところ不満が無かったので最近はk6を常用しています。 そんなk6をもうちょっと使いこなすために色々とまとめてみようかと思います。 k6とは? Grafana Labsが開発した負荷ツール。 github.com ツール自体はGo製で、負荷シナリオをJavaScriptで書きます。 負荷シナリオはk6 Browser RecorderというChrome拡張を使えばブラウジングしているだけで作成可能で、k6 Cloudを使ったWeb上でのシナリオ作成・管理・実行が可能です。 わざわざGitHub上でシナリオを管理しなくてもいいというのは個人

                                                        k6を使いこなしてみよう - 生涯未熟
                                                      • “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳

                                                        私が働いているAniqueという会社では、1年前に全てのソフトウェアでTypescriptを採用することにしました。私たちが開発している進撃の巨人のNFTサービス “Attack on Titan: Legacy” でも採用しています。 TypescriptではNestJSという素晴らしいAPIフレームワークを利用することができ、生産性高く開発を続けることができます。また、私たちはフロントエンドでNext.jsを利用しています。言語レベルでのコンテキストスイッチを抑えることで、一人のエンジニアがフロントエンドとバックエンドのどちらもの機能を開発する環境が作れました。 しかし、Nodeならではの作法や設計について、Web上にはたくさんの情報があるものの、あまりにも情報が多すぎて、まとまったプラクティスになかなか出会うことができませんでした。そのため、最初はチーム内での共通認識を作るのに苦労し

                                                          “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳
                                                        • 講義動画と課題 - はてなリモートインターンシップ2020 - 株式会社はてな - 株式会社はてな

                                                          2020年は、はてな初のオンラインでのインターンシップ開催。 その講義の動画とインターン生に取り組んでもらった課題を公開します。 1週間という短い期間の中で、どれだけのものを吸収して持ち帰ってもらえるか、 はてなスタッフが全力で準備したカリキュラムを、 少しでも体験していただけるとうれしいです。 課題では、Kubernetes上に構築されたブログシステムを題材としました。 ブログシステムはマイクロサービスを意識しており、メインであるブログサービスに加えて、 アカウントサービスや、Markdownなどの記法を変換するサービスが用意されています。 それぞれのサービス間はgRPCを使って通信しています。

                                                            講義動画と課題 - はてなリモートインターンシップ2020 - 株式会社はてな - 株式会社はてな
                                                          • gRPCのロードバランシング - はこべにっき ♨

                                                            先日の記事から引き続きgRPCについて勉強してる。 gRPCのサーバをプロダクトで利用する場合に気になるのが、ロードバランシングをどういう風にやったら良いのかということで、その部分について調べてみた。 TL;DR: gRPC Load Balancing を読めばだいたいわかる gRPCのロードバランシングのポイントとしては、gRPCが基本的にはHTTP2上に構築された仕組みである*1ことに注意して考えると良さそうだった。 プロキシ によるロードバランシング まず考えられるのは、gRPCのサーバとクライアントの間にプロキシを設置してロードバランシングを行う方法だ。 よくあるHTTP/1.1の世界で考えると、複数のWebアプリケーションサーバの前段にnginxのようなリバースプロキシを設置してロードバランシングする方法になる。 gRPCはHTTP/2を利用するので、この方法の場合リバースプロ

                                                              gRPCのロードバランシング - はこべにっき ♨
                                                            • 公開後にアプリ品質を向上させる

                                                              .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                                公開後にアプリ品質を向上させる
                                                              • Mercari Microservices Platformの進捗(2019年) | メルカリエンジニアリング

                                                                Microservices Platform TeamでTech leadをしている@deeeeeeetです. 昨年のMTC2018ではMicroservices Platformチームの立ち上げから1年で僕らが取り組んできたことを紹介しました. speakerdeck.com 具体的にはStranglerパターンによるMonolithからMicroservicesへの段階的なリクエスト移行を行うためのAPI gatewayの開発や,Microservicesのインフラのセットアップを簡単にしサービス開発チームのSelf-service化を進めるためのStarter-kitの開発,GoでのMicroservicesの開発を高速で始めるためのTemplateプロジェクトの開発,Spinnakerの導入などについて紹介しました. これらはPlatformとして最低限の機能を整備したにすぎず,さ

                                                                  Mercari Microservices Platformの進捗(2019年) | メルカリエンジニアリング
                                                                • Web API Design // Speaker Deck

                                                                  REST, Activity-oriented, JSON-RPC, gRPC, GraphQL

                                                                    Web API Design // Speaker Deck
                                                                  • gRPC-Web + React + Node.js + TypeScriptでシンプルなチャットサービスを作る - Qiita

                                                                    概要 かねてよりgRPCおよびgRPC-Webに興味があり、これを用いてシンプルなリアルタイムチャットサービスを制作し、公開した。 本稿では、その開発工程について解説する。 ゴール gRPC-Webを用いて「わいわいチャット」を作る。 https://waiwai-chat-2019.aanrii.com/ ※2020年9月現在、公開停止しました。 内容はシンプルなチャットアプリケーションだ。サイトを開くとまず過去ログが表示され、ほかの入室者の投稿が随時流れてくる。任意の名前で入室すると投稿欄が出現し、発言ができる。発言した内容はサイトにアクセスしている全員に、即座に共有される。過去ログは無限スクロールで遡ることができる。 フロントエンドはReactを用いたSPAとし、Netlifyを使って静的サイト生成・配信する。また、バックエンドはGKE上で動くNode.jsアプリケーションとし、かつ

                                                                      gRPC-Web + React + Node.js + TypeScriptでシンプルなチャットサービスを作る - Qiita
                                                                    • プラットフォーム依存しない新しい「Docker Compose」 マルチコンテナをクラウドに簡単デプロイ

                                                                      DockerCon 2021 にあわせて、ひさびさに開催された「Docker Meetup Tokyo」 DockerConの振り返りのほか、Docker 20.10の新機能や、大幅に新しくなったDocker Composeについてお知らせします。ゴリラ氏からは、Docker Composeの概要について発表がありました。 Docker CLIに梱包された新しいdocker compose ゴリラ氏:「新しいDocker Compose」と題して発表します。よろしくお願いします。 軽く自己紹介をします。ゴリラと申します。好きなものはGo、Vim、Dockerとかで、最近はちょっとDenoにハマっています。趣味はVimのプラグインだったり、Goを使ったCLIだったり、開発が多いです。あとは興味がある分野の勉強だったり、記事を書いたりです。最近はジムに行っていて、ムキムキな体を目指しています。

                                                                        プラットフォーム依存しない新しい「Docker Compose」 マルチコンテナをクラウドに簡単デプロイ
                                                                      • Protocol Buffers

                                                                        Protocol Buffers are language-neutral, platform-neutral extensible mechanisms for serializing structured data. What Are Protocol Buffers?Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated sourc

                                                                        • GitHub - ripienaar/free-for-dev: A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev

                                                                          Brainboard - Collaborative solution to visually build and manage cloud infrastructures from end-to-end. Cloud 66 - Free for personal projects (includes one deployment server, one static site), Cloud 66 gives you everything you need to build, deploy, and grow your applications on any cloud without the headache of the “server stuff.”. Pulumi — Modern infrastructure as a code platform that allows you

                                                                            GitHub - ripienaar/free-for-dev: A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev
                                                                          • 社内の基盤を活かして爆速開発を実現するために重視したマイクロサービステンプレートの5つの要点 - MonotaRO Tech Blog

                                                                            はじめに 転職後の二つの喪失感への対応 所属チームの現状とMonotaROのアプリケーション/サービス共通基盤(所謂プラットフォーム) 所属チームの状況 社内プラットフォームの状況 マイクロサービス開発のためのテンプレートの導入 開発のロケットスタート:テンプレートの早期提供 テンプレート作成の5つの要点 1. ベンダー非依存なObservabilityの実装 2. CI/CDを早期に提供(特にLinterを最初期に) 3. APIプロトコルとして、JSON over HTTPとgRPCの双方をサポート 4. 最低限の薄いフレームワーク 5. セントラルProtobufリポジトリの提供 現在の取り組み (2023年10月以降)と今後の展開 さいごに はじめに はじめまして、MonotaROのCTO-Officeに所属する伊藤と申します。 github.com recruit.monotar

                                                                              社内の基盤を活かして爆速開発を実現するために重視したマイクロサービステンプレートの5つの要点 - MonotaRO Tech Blog
                                                                            • ssh-agent のしくみ - eagletmt's blog

                                                                              ssh-agent のように daemon として起動し秘密の情報を保持しつつ別プロセスと通信するようなプログラムを書きたくて、ssh-agent はどう実装しているのかざっくり調べた。 https://github.com/openssh/openssh-portable 通信方法 これは普通に ssh-agent を使っていてもすぐ気付くことだけど、ssh-agent は UNIX domain socket を使って通信している。 eval $(ssh-agent) のように実行すると SSH_AUTH_SOCK と SSH_AGENT_PID の2つの環境変数がセットされ、SSH_AUTH_SOCK は UNIX domain socket のパスを、SSH_AGENT_PID は daemon 化した ssh-agent の pid を指している。 SSH_AUTH_SOCK は

                                                                                ssh-agent のしくみ - eagletmt's blog
                                                                              • とほほのWWW入門

                                                                                はじめに ご使用上の注意 (1) 主な更新履歴 (25) 管理者へのメール (1) 自己紹介 (1) 基本編 用語集 (82) Webページ作成入門 (7) 逆引きリファレンス (32) フォーマット HTML (402) HTML5 (7) XHTML (1) MathML (1) DTD (1) JSON (1) SVG (1) VML (1) GIF (1) CSV (1) セマンティック・ウェブ (1) CSS CSS (ABC順)(719) Bootstrap (61) Less (1) Sass (1) Tailwind CSS (1) CSSフレームワーク (1) リセットCSS (1) プログラミング言語 JavaScript (42) TypeScript (1) Java (26) Perl (6) PHP (14) Ruby (11) Python (14) Go言語

                                                                                • ソケットAPIが遅すぎる?新たなio_uringを試す!

                                                                                  新しいAPIが作られるたびに、私たちは、古いAPIを置き換えるだけで高速化という夢をみます。何度夢破れても、高速なAPIが追加されたと聞けば、試さずにはいられませんよね! 今回は、Linuxカーネル5.1で追加されたio_uringを使って、Rustのasyncランタイムを実装し、gRPCサーバのベンチマークを実行してみました。 io_uringとはio_uringは、ファイルシステムとネットワークの非同期I/Oのために開発されました。同期よりも非同期のほうがおしゃれ、そういう雰囲気ありますよね!クラウドネイティブも、非同期にAPIを介して、なんかやってるやつですよね。 io_uringのインターフェイスは、高い性能を目指し、1)アプリケーションとカーネル間でのメモリコピーを避ける、2)複数のI/O要求を一度にカーネルに伝えることができる、という工夫がされています。 下図のように、アプリケ

                                                                                    ソケットAPIが遅すぎる?新たなio_uringを試す!