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

  • The beginning of the end for Terraform?

    Source:imgflip.comAs I write this on the 25th of April, I am still reeling from the announcement of IBM’s acquisition of Hashicorp. When I first heard the rumours yesterday, I was concerned about the future of possibly my favourite Infrastructure-as-code (IaC) tool. It has long been obvious that Hashicorp has been struggling to make money, making a $274 million loss in 2023. This undoubtedly led t

    The beginning of the end for Terraform?
    tmatsuu
    tmatsuu 2024/04/28
    この記事でHashiCorpは2022年に2.90億ドル、2023年に2.74億ドルの赤字だったことを知る。なるほどですね。
  • “Immersed VR” でディスプレイごと作業環境を持ち運ぶ

    この記事は「Eureka Advent Calendar 2023」18日目の記事です。 前回は BI Team Yu Sakamoto による「新卒1年目data engineerがdbt×Dagsterでオーケストレーションしてみた」でした。 こんにちは!いつもVRの記事ばかり書いている Web Front-end Team のBOXPこと竹内( @b0xp2 )です。 今回もまた業務とは直接無関係な内容の記事となりますので、あらかじめご了承ください。 はじめに今年の前半まで続いていた COVID-19 による影響も落ち着きまして、今年は少しずつオフィスでの業務が増えてきた年でした。 しかし、二年以上にも渡るリモートワークで作業環境を整えていたためか、オフィスでの作業が増え始めた頃にはどうオフィスでの作業環境とどう向き合っていくか、四苦八苦していた記憶があります。 そんな中でも悩んでい

    “Immersed VR” でディスプレイごと作業環境を持ち運ぶ
    tmatsuu
    tmatsuu 2023/12/30
    Immersed VR、自分もMeta Quest3にインストールしてみて良い感触を得たが、課金はまだ躊躇している。
  • MariaDB.com is dead, long live MariaDB.org

    Horrible leadership, racism, sexism, abuse, and violations of countless labor laws in both the U.S. and internationally could only lead to one possible outcome. The lawsuits are piling up and the employees are going to take the hit. Payroll is going to be missed. For those that don’t know, MariaDB.com is the commercial for-profit entity while MariaDB.org is the non-profit entity that holds the own

    tmatsuu
    tmatsuu 2023/04/09
    会社としてのmariadb.comがあまりよくないことになってるらしい。非営利団体のmariadb.orgは大丈夫だそうです。
  • Improving Distributed Caching Performance and Efficiency at Pinterest

    IntroductionPinterest’s distributed caching system, built on top of open source technologies memcached and mcrouter, is a critical component of the production infrastructure stack. Pinterest’s cache-as-a-service platform is responsible for driving down application latency across the board, reducing the overall cloud cost footprint, and ensuring adherence to strict sitewide availability targets. To

    Improving Distributed Caching Performance and Efficiency at Pinterest
    tmatsuu
    tmatsuu 2022/07/09
    Pinterestの分散キャッシュ(memcached+mcrouter)は、EC2インスタンス5000台構成、秒間1.8億リクエスト、220GB/sのスループット、約460TB。ワークロードに合わせてインスタンスタイプを使い分け。SCHED_FIFOやTFOの知見など。はーすごい。
  • メディア&エンタメ業界向け CDN、Media CDN リリース!

    こんにちは、メディア・エンターテイメント業界担当 Customer Engineer の Dan です。Google Cloud にメディア&エンタメのユースケースに特化した CDN がリリースされました!その名も Media CDN。そのまんまのネーミングは、自信の表れなんでしょう。公式ブログ記事「Introducing Media CDN — the modern extensible platform for delivering immersive experiences」や公式ドキュメントに概要や使い方は記載されていますので、この記事ではMedia CDN はどのような特徴があり、どのようなユースケースにマッチするのか、また利用上の注意点などについて少し掘り下げてご紹介します。 注)現時点では Media CDN の利用は申請・許可制となっています。興味がある方は Google

    メディア&エンタメ業界向け CDN、Media CDN リリース!
    tmatsuu
    tmatsuu 2022/04/29
    ほう。現時点ではまだ大規模なライブ配信のユースケースに最適化されていない。対応してくると強いな。
  • Dockerからcontainerdへの移行

    https://speakerdeck.com/ktock/dockerkaracontainerdhefalseyi-xing背景: Kubernetes 1.24は組み込み機能としてのDocker対応を打ち切る2014年に公開された初期のKubernetesDockerにのみ対応していましたが、2016年のKubernetes 1.5では Container Runtime Interface (CRI) と呼ばれる共通インターフェースが導入され、 CRIに対応した任意のランタイムが利用可能になりました。以来、様々なランタイムが開発されてきましたが、2022年現在では containerd と CRI-O の 2つが主流です。 CRIが導入されてからも、Kubernetesに組み込まれているDocker対応機能(dockershim)が広く使われていましたが、2022年4月リリース予

    Dockerからcontainerdへの移行
    tmatsuu
    tmatsuu 2022/04/09
    わいわい。Rancher Desktopはcontainerd+nerdctlの構成にできるので、これでnerdctlに慣れておくといいんじゃないかと思います。
  • インフラエンジニアなら気になるQUICのロードバランサ (実装編)

    はじめに前回のQUICのロードバランサの方式解説に続き、今回はQUIC-LBが実際にどのように動くのかOSS実装を紹介したいと思います。 稿では、前半はQUIC-LBの実装状況と問題点、およびNginxを改変した実装についてコンフィグと動作イメージを紹介します。後半については、ロードバランスの基礎となっている5タプルによるフロー識別について考えます。フロー識別は、ポリシルーティングやper flow ECMPによるIP転送など、より低レイヤに対しても適用される技術です。もし、L3スイッチやLinuxカーネルのIP転送に対してQUIC向けの拡張をするとどうなるか? を考えてみます。 QUIC-LBの実装状況と問題点QUIC-LBの提案者である、Martin Duke氏のIETF111での発表によると2つのOSS実装が言及されていました。現状では下記の2つ以外の実装を知り得ていません。 Ma

    インフラエンジニアなら気になるQUICのロードバランサ (実装編)
    tmatsuu
    tmatsuu 2021/09/16
    つづき。わいわい
  • containerd & Lima: Open source alternative to Docker for Mac

    Today, the community was shocked by the sudden news that Docker Desktop for Mac/Win is no longer free [-as-in-beer] for “professional use in larger businesses”. But we have a free, libre, and open source alternative of Docker for Mac: containerd & Lima. $ brew install lima $ limactl start $ lima nerdctl run -it --rm alpine(NOTE: ARM Mac requires installing a patched version of QEMU, see Lima docum

    containerd & Lima: Open source alternative to Docker for Mac
    tmatsuu
    tmatsuu 2021/09/05
    podman意外の選択肢としてlima。brew install limaほう
  • インフラエンジニアなら気になる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のロードバランサ (方式編)
    tmatsuu
    tmatsuu 2021/08/29
    「クライアントとWebサーバ間のエンド-to-エンドでQUICコネクションを成立させながら、ステートレスな振り分けを実現している」おーおもろいな。特性を最大限活用している感じがあるよいLB
  • Rust ハンズオンを開催しました

    言語経験が少なくてもとてもわかりやすく説明していただけました 他の言語と比較しながら、また、参加者とコミュニケーションをとりながら進めていただけたので、理解しやすかったです。 多様な書き方ができるにもかかわらず、実行速度が変わらない点がとても魅力的でした!(これで怒られなくて済む) (by satorunoosheie) 私自身、Rust は知ってはいたものの、詳しいことは知らなかったと同時に、やはり初心者にはとっつきづらい(※)と思っていた側面もあり、今回サポートを受けながら Rust を実際に書いてみたことで言語そのものの特性や魅力を理解することができました。個人的には普段業務で使っている Go 同様、Rust も公式で提供してるツールが充実しており、エコシステムがすでに整備されているのは、安心して使えるポイントだなと感じました。 また、Rust 特有の概念で、最初につまづくポイントと

    Rust ハンズオンを開催しました
    tmatsuu
    tmatsuu 2021/07/23
    Rustハンズオンの資料よさそう。
  • Understanding Allocations in Go

    Cleaning up heap allocations in GoThis is the 18th article of the Eureka Advent Calendar 2020. Yesterday we had a post from Jun Ernesto Okumura on diversity in Spotify’s recommender systems. IntroductionThanks to efficient in-built memory management in the Go runtime, we’re generally able to prioritise correctness and maintainability in our programs without much consideration for the details of ho

    Understanding Allocations in Go
    tmatsuu
    tmatsuu 2021/01/05
    お、わいわい。あとで
  • The cost of tailing logs in kubernetes

    Logging is one of those plumbing things that often gets attention only when it’s broken. That’s not necessarily a criticism. Nobody makes money off their own logs. Rather we use logs to gain insight into what our programs are doing… or have done, so we can keep the things we do make money from running. At small scale, or in development, you can get the necessary insights from printing messages to

    The cost of tailing logs in kubernetes
    tmatsuu
    tmatsuu 2020/07/25
    ログのtailはCPUコストが高め?fluentdのみの問題かtailの一般的な問題かは要検証。
  • Understanding resource limits in kubernetes: cpu time

    In the first post of this two-part series on resource limits in kubernetes I discussed how the ResourceRequirements object was used to set memory limits on containers in a pod, and how those limits were implemented by the container runtime and linux control groups. I also talked about the difference between requests, used to inform the scheduler of a pod’s requirements at schedule time, and limits

    Understanding resource limits in kubernetes: cpu time
    tmatsuu
    tmatsuu 2020/04/29
    k8sのresource limitsについてcpu編。memoryと違ってreuqestの値はcgroupのsharesに設定され、limitsはquota/periodに設定される。なるほどー。自分はcgroupについてもうちょっと勉強したほうが良さそうだ。
  • Understanding resource limits in kubernetes: memory

    When I started working with kubernetes at scale I began encountering something that didn’t happen when I was just running experiments on it: occasionally a pod would get stuck in pending status because no node had sufficient cpu or ram available to run it. You can’t add cpu or ram to a node, so how do you un-stick the pod? The simplest fix is to add another node, and I admit resorting to this answ

    Understanding resource limits in kubernetes: memory
    tmatsuu
    tmatsuu 2020/04/29
    k8sのresource limitsについてmemory編。reuqestの値はcgroupで設定されない。limitは実行時の制限だが、requestはデプロイ時の他oom-killerの対象選択時にも参照される。なるほどー。良い記事だ。
  • OpenTelemetry is Officially in Beta!

    Co-authored by maintainers, community contributors, and members of the OpenTelemetry governance committee. OpenTelemetry has just begun its first wave of beta releases, starting with the Collector, Java auto-instrumentation agent, and the Erlang, Go, Java, JavaScript, and Python SDKs, followed by the .Net SDK. This means that you can begin integrating OpenTelemetry into your applications and clien

    tmatsuu
    tmatsuu 2020/04/04
    わいわい
  • Reducing UDP latency

    Hi! I’m one of Embox RTOS developers, and in this article I’ll tell you about one of the typical problems in the world of embedded systems and how we were solving it. Stating the problemControl and responsibility is a key point for a wide range of embedded systems. On the one hand, sensors and detectors must notify some other devices that some event occurred, on the other hand, other systems shoul

    Reducing UDP latency
    tmatsuu
    tmatsuu 2020/03/28
    chrtコマンドでSCHED_RRに変更。へーchrtコマンド知らなかった
  • OpenTelemetry Beta Release Plan

    tmatsuu
    tmatsuu 2020/02/24
    えーリンク先などの情報をまとめますと、OpenTelemetryのベータ版リリースは2020年3月16日以降とのことです。
  • Go: Discovery of the Trace Package

    Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French.ℹ️ This article is based on Go 1.13. Go provides us a tool to enable tracing during the runtime and get a detailed view of the execution of our program. This tool can be enabled by flag -trace with the tests, frompprof to get live tracing, or anywhere in our code thanks to the trace package. Thi

    Go: Discovery of the Trace Package
    tmatsuu
    tmatsuu 2020/02/24
    メモ
  • Goで標準入力とファイル読み込みを可能にするインタフェース

    シェルではパイプを利用して標準入力から文字列を読み込み、標準出力へ出力することが多いですが、CLIではオプションや引数でファイル名を渡し、直接ファイルを読み込むこともあります。 Go言語でそのようなパターンをサポートするときに皆さんどうやって書いているのか気になったので、自分のテンプレを紹介します。 結論意図はわかったからコード見せろという人向け👾 var r io.Reader switch filename { case "", "-": r = os.Stdin default: f, err := os.Open(filename) if err != nil { return err } defer f.Close() r = f }コマンドで表現するひとまず、 file.dat という名前で適当な文字列が書き込まれているファイルを用意します。 $ cat file.dat f

    Goで標準入力とファイル読み込みを可能にするインタフェース
    tmatsuu
    tmatsuu 2020/02/15
    os.Stdinはio.Closerも満たすのでvar r io.ReadCloserとしてdefer r.Close()でええんちゃうかと思いました。
  • Go: Goroutine and Preemption

    Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French.ℹ️ This article is based on Go 1.13. ℹ️ Go implements an asynchronous preemption in Go 1.14, making some part of this article obsolete. However, those sections will be marked as it, making the article still useful to understand the need for the asynchronous preemption. For more details about asy

    Go: Goroutine and Preemption
    tmatsuu
    tmatsuu 2020/01/02
    runtime.Gosched()