タグ

ブックマーク / medium.com (9)

  • Rustが遅すぎる?プロファイリングで性能向上!

    「開発プロセスにプロファイリングを組み込むのはどうだろう?」 ミーティングで、プロファイリングの重要性を発言するだけで、みんながあなたの深い知見、意識の高さに驚くことでしょう。もちろん、あなたは、プロファイリングのやり方を知っている必要はありません。開発の終盤に、性能目標が達成されず、解析が実施される頃には、誰もあなたの発言は覚えていません。しかし、万が一、あなたの意見が採用されても困らないように、この記事を参考にしてください。 Goは、CPU、メモリ、block、mutexなど、使いこなせないほどの種類をサポートするプロファイリングツールpprofを標準機能として提供します。一方、Rustは、そんな機能を提供しません。Rustへの愛が揺らぐかもしれませんが、Rustへの愛は、見返りを求めない純愛です。愛の見返りに何かが与えられると期待してはいけません。 Rustでもpprofあなたは、す

    Rustが遅すぎる?プロファイリングで性能向上!
  • 新人こそリファクタリングをやれ! ~マイクロサービスの最古のサービスをリファクタリングした話 ~

    こんにちは。FiNC Technologies(以下、FiNC)の サーバーサイドエンジニアをしている Ryusei (@ryusei_i_1025)です。 僕はエンジニア1年目なのですが、FiNCのマイクロサービスの最古の巨大サービスのリファクタリングをしてきました。 その内容と学びを一部ご紹介します。 FiNCでは、マイクロサービスを採用しています。 それぞれのチームがサービスのオーナーとなって、担当サービスをプロダクションレディとなるように管理しています。 大抵、マイクロサービスの中には、巨大な神サービスが存在すると思いますが、 僕が所属するチームは、2021年4月にこの最古の巨大サービスの担当になりました。 このサービスは、FiNCの歴史を物語っています。2013年に作られてから、現在までFiNCの中枢機能として、ビジネスを支えてきたサービスです。 現CEOの 南野 (@tente

    新人こそリファクタリングをやれ! ~マイクロサービスの最古のサービスをリファクタリングした話 ~
  • AWS IAM セキュア化の取り組み

    鍵がいっぱいあるよこの記事は Eureka Advent Calendar 2021 の 13日目の記事です。 はじめにこんにちは、エウレカ SREチーム のハラダです! 2020年頃から今年にかけて、 エウレカのSREチームとSecurityチームではAWS IAMのセキュア化を注力ポイントのひとつとして、継続的に取り組んできました。 記事では、その実践から学んできたIAM管理で守るべき大原則および、具体的にどうやってセキュアな理想像に近づけてきたか、今後の方向性などを話したいと思います。 Why “IAM” so important ?そもそもなんでIAMが注力ポイントなの?と疑問に思われる方もいるでしょう。 クラウドの大きな強みである「すべてをAPI経由で操作できる」という性質ゆえに、IAMは大きなAttack Surfaceでもあります。 Gartner社の予測によると、2023

    AWS IAM セキュア化の取り組み
  • インフラエンジニアなら気になるQUICのロードバランサ (方式編)

    図1: QUICコネクションを振り分けるロードバランサはじめに記事では、バックエンドのWebサーバへリクエストを振り分ける装置の意味でのロードバランサ(図1)について、QUIC対応の議論状況を紹介します。方式編と実装編にわけて二編を予定しており、稿は方式についての解説です。 IETFでは、F5 Networksとマイクロソフトから提案されたロードバランシング方式が議論されています。稿では下記のインターネットドラフトをQUIC-LBと表記します。 QUIC-LB: Generating Routable QUIC Connection IDs https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers 執筆時点の -07 をベースとしますが、ドラフトですので今後の議論次第で改版が続きます。あらかじめご承知おき

    インフラエンジニアなら気になるQUICのロードバランサ (方式編)
  • え! QUIC無効化するの? HTTP over QUIC or TCPの接続選択を考える

    図1: QUICの無効化は待ってくださいQUICを無効化?!“Googleが遅く感じるので、QUICを無効化する” そのようなTIPSが散見されます。数年前から見ていましたが、QUICがトレンドになったのと同時に、再び目立ち始めたと感じています。IPv6が普及し始めた時期もそうでしたが、新しいプロトコルの出現時には、決まって現れる文言です。 問題に直面する利用者にとっては切実であり、無効化は間違った解決手段とは言いません。しかしエンジニアならば無効化する前に、原因を探求しなければなりません。 HTTP3/QUIC と HTTP2/TCP どちらが優先?QUICの無効化とは、TCPだけを利用する選択と言えます。はじめにQUIC, TCPの両者が使えるとき、どのように使い分けるのか見ていきます。 ある、HTTPSスキームのURL https://www.example.com/ があったとき、

    え! QUIC無効化するの? HTTP over QUIC or TCPの接続選択を考える
  • RustでLinuxカーネルの機能を拡張しよう!

    Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、GoPythonRustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

    RustでLinuxカーネルの機能を拡張しよう!
  • 完全マネージドな k8s ! GKE Autopilot を解説する

    Kubernetes / GKE ファンの皆様こんにちわ。Google Cloud の Kazuu (かずー) です。GKE Autopilot が GA になりました。弊社公式ブログに続きまして、GKE Autopilot を日語で解説していきたいと思います。 記事は以下、3 部構成となります。 GKE Autopilot 概要GKE Autopilot を試してみるGKE Autopilot がハマりそうなユースケースは? 1. GKE Autopilot 概要GKE Autopilot は GKE の新しいモードです。Control Plane に加えて、Node が完全マネージドになります。これまでの GKE では Node はユーザー自身が必要台数分作成し、以後の Day 2 オペレーション (e.g. アップグレード) 等も気に掛ける必要がありました。GKE Autopil

    完全マネージドな k8s ! GKE Autopilot を解説する
  • Rustの非同期ランタイムが多すぎる?io_uringなやつを使おう!

    AWSGoogleMicrosoftらが、Rust Foundationを設立し、今やRustでなければクラウドネイティブじゃない、と言っても過言ではありませんよね。クラウドネイティブと言えば、スケーラブルなシステム、Gogoroutineを標準機能として提供しますが、Rustのasync/awaitは、標準機能に含まれていない外部ライブラリを必要とします。悪いことに、複数のライブラリ(非同期処理ランタイム)が乱立し、APIの互換性もありません。Rustはクラウドネイティブなのだろうか、という疑問を抱きながら、いくつかのランタイムの性能を、いつものgRPCベンチマークで比較してみました。 比較対象数多くのランタイムの中から、前回の記事で試した、Linuxの新しい非同期I/Oインターフェイスのio_uringを利用しているglommioと、普及している思われる、tokio、smol、a

    Rustの非同期ランタイムが多すぎる?io_uringなやつを使おう!
  • うわっ、私のサイトBootstrapくさすぎ!? たった数文字変えるだけでBootstrapのくさみが抜ける7つのCSSテクニック。

    なんか、このサイトBootstrapくさい。そう感じることはありませんか? その理由はズバリ、欧文ベースでつくられたフレームワークを文字構造の違う日語で適用した際に不都合が出てしまっているからです。 それらが醸し出す違和感を放っておくと、Bootstrapくささを生み出す大きな原因になってしまいます。 そもそもの問題として、欧文と比較して和文は文字の要素が多く、文字自体のリズムも少ないため、どうしても複雑で単調に見えてしまいます。 しかし、和文だからといってあきらめることはありません。BootstrapCSSを少しだけ変えるだけでグッと見た目がよくなる隠し味をご紹介します。 1. line-heightで行間にゆとりを。明朝やゴシックなど、フォントの種類が言葉の印象を表すように、文字の行間は読みやすさ、文章全体の雰囲気を左右します。 欧文をベースに設計されたBootstrapをそのまま

    うわっ、私のサイトBootstrapくさすぎ!? たった数文字変えるだけでBootstrapのくさみが抜ける7つのCSSテクニック。
  • 1