「Kustomize」超入門――複数環境の重過ぎKubernetesマニフェスト、どう管理すればいいのか:Cloud Nativeチートシート(2) Kubernetesやクラウドネイティブをより便利に利用する技術やツールについて概要や使い方を凝縮して紹介していく連載。今回は、「Kustomize」を取り上げます。
runnは、筆者が開発しているオペレーション自動化ツール・パッケージです。 runnのロゴ ここでいう「オペレーション自動化」とは「Runbook Automation」といわれる領域のことを指します。 Wikipediaによると、「Runbook」とはコンピュータシステムやネットワークに対してシステム管理者やオペレーターが実施する定型の手順や操作をまとめたものことを指すそうです[1]。 そこから転じて、Runbook Automationは運用作業の自動化を行うソリューションのことを指すようです。 Runbook Automationの範囲はとても広大ですが、runnのスコープは限定的です。 runnが想定している主なユースケースは次のようなものになります。 APIのシナリオテスト(HTTP/gRPC) 任意のコマンドやHTTP/gRPCリクエスト、データベースクエリを実行可能なワークフ
最近、会社の人からプレゼントしてもらったビールグラスでビールを飲むのにはまっている、クラウドエンジニアのコガです。 ツマミも増えておなかの成長が止まりません。 この記事では、昨年の AWS re:Invent 2022 で発表された Amazon EventBridge Pipes について性能を確認した結果をまとめました。 Amazon EventBridge Pipes を利用することで簡単にサービス同士を結合することができ、 よりシンプルかつ短時間でのイベント駆動アプリケーション作成が可能になります。 Amazon EventBridge Pipes 公式ページより 一般的に、イベント駆動アプリケーションを実際に運用する場合、各イベントハンドラでの処理時間やイベントのトレーシングが重要です。 そこで今回は、Amazon EventBridge Pipes を利用して Amazon S
新年あけましておめでとうございます。 キャプチャ装置を作ったり、パケットを解析したりして暮らしている黒ブラと申します。 無線LANのトラブルシューティング用に新しいパケットキャプチャ装置(Airman)を作ったのでデモを兼ねて動かしてみることにします。 ただ流れているパケットを追っても面白くないので、無線LANのトラブルシューティングでよくある、「他のSSIDが同じチャンネルにいるから遅いのでは?」という疑問を検証して考察します。 対象読者想定は企業の情シス担当者です。 よくある疑問無線LANを扱う指南書には空いている無線チャンネルを使え的な事が書いてあったりするわけですが、なかなか空いているチャンネルがなく、大丈夫かなと思いつつ、おっかなびっくりご近所様と重複したチャンネルを使わざるを得なかったりする今日この頃、皆様いかがお過ごしでしょうか。 無線LANが遅い、ブチブチ切れるといったクレ
Pythonで2面バッファにロギングしつつ、非同期でファイルに書き出す処理を書いてみた。 Fire-and-forgetとちゅうらしい。いわゆるヤリ逃げされるタスク。 動作仕様 ①main()は100msec周期で「日付+ダミーデータ」のCSVデータをバッファに書き込む。 ②dataNumMax(100)個データがたまったらファイル書き出し関数(writeDataToFile)を非同期投げっぱなしで呼び出す。 writeDataToFile()は指定されたバッファをファイルに書き出す。 ③main()はバッファの書き出し面を切り替える。 ※ctrl-Cで抜けてください ※Python3.11です import datetime import asyncio from time import sleep # グローバルな2面のデータバッファ DataBuffer1 = [] DataBuff
※本記事は2023年1月1日に公開された記事の翻訳版です。 メルカリのマーケットプレイスにおける商品検索は、お客さまが欲しい物を発見する最も基本的な方法です。この中核となる機能は、テキストマッチングによる情報検索システムによって実現されています。 しかし最近、私たちは自問自答しました。お客さまの検索体験を向上させる、合理的な機械学習ベースのアプローチはあるのだろうか?という疑問が生まれました。メルカリアプリ上のお客さまの行動を、彼らにとってより関連性の高い検索結果についてのヒントとして捉えることはできないでしょうか?学習データにラベルを付け、単体のユーザークリックという行為をもとにした分析の限界を念頭に置きながら、モデルが学習するための、より情報量の多いコンテキストを構築できないでしょうか?ビジネスKPIとの関係を把握するために、どのようにデータラベリングを利用できるでしょうか? それは、
DRY and maintainable Terraform code. Terragrunt is a thin wrapper that provides extra tools for keeping your configurations DRY, working with multiple Terraform modules, and managing remote state. Get Started Key features Keep your Terraform code DRY Define Terraform code once, no matter how many environments you have. Keep your backend configuration DRY Get rid of duplicated backend code. Define
Solutions All end-to-end solutions Opinionated solutions that help you get there easier and faster
Amazon Web Services ブログ AWSでの動的に制御可能なマルチアカウントCI/CDソリューション (この記事はConfiguration driven dynamic multi-account CI/CD solution on AWSを翻訳したものです。) 多くの組織は、アプリケーションに堅牢で自動化されたコードのデリバリーを必要としています。マルチアカウントの継続的インテグレーション/継続的デプロイ (CI/CD) パイプラインを活用してコードをデプロイし、本番環境にデプロイする前に複数の環境で自動テストを実行します。テスト戦略がリリース固有の場合は、リリースのたびにパイプラインを更新する必要があります。従来のパイプラインのステージは事前定義されていて本質的に静的であり、それらが一度定義されると更新するのは困難です。この投稿では、リポジトリごとの動的に制御可能な C
JANOG51発表資料 https://www.janog.gr.jp/meeting/janog51/dns/ 2017年のJANOG39にて弊社から「DNS権威サーバ向けのDDoS攻撃対策をした話~さくらインターネット編~」というプログラムを行い、実際に発生した障害やその後の取り組みを共有し、DNS権威サーバ向けのDDoS対策について議論いたしました。 それから5年経ちクラウドファースト、クラウドバイデフォルトなどと言われるようにクラウドサービス前提にシステムの構築運用がなされるようになり、DNSにおいても例外なくクラウドサービスが使われ、その重要度がますます高まっております。 その中で2022年にさくらのクラウドのDNS権威サーバサービスにDNS水責め攻撃が発生し、L7ファイアウォールの導入、dnsdistなどサーバ上のミドルウェアで攻撃を緩和する対策、またメトリクス取得の強化を行い
Ever wondered how tRPC works? Maybe you want to start contributing to the project but you're frightened by the internals? The aim of this post is to familiarize you with the internals of tRPC by writing a minimal client that covers the big parts of how tRPC works. infoIt's recommended that you understand some of the core concepts in TypeScript such as generics, conditional types, the extends keywo
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 突然ですが、みなさんへ質問です。「今この瞬間にシステム障害が起こったら、自信を持って対処できますか?」システム運用者であれば、誰しもが考えたことがある内容かと思います。障害の影響範囲がどの程度なのか、ユーザーアナウンスの必要の有無、そして自動復旧のメカニズムが正しく動いたか。そのあたりが気になるポイントなのではないでしょうか。単純な質問ではありますが、とても考えることが多い不安な質問です。 システムは動いて当たり前と思われがちですが、実際は動いている方が奇跡、壊れて当たり前、という点はエンジニアのみなさんなら共感していただけると思います。どうやったら障害にアプローチできるか、ヤフーで取り組んでいるカオスエンジニアリングについて紹介
久しぶりのtblsの新機能紹介エントリです。 ドキュメントのER図出力にMermaidを指定できるようになりました ER図の出力フォーマットにMermaidを指定できるようになりました。次のように er.format: セクションか --er-format オプションに mermaid を指定することで変更できます。 er: format: mermaid 開発裏話 GitHubがMermaid対応したことで「tblsもMermaid対応してほしい」という要望や提案は以前より多く受け取っていました。 しかし、個人的にあまりメリットを見出せずそのままPull Request待ちとなっていたのですが、今回エイッと作ってみました。 Mermaid対応をするにあたって1つとても面倒な仕様がありました。それはMermaidはER図の多重度(カーディナリティ)の指定が必須となっていることでした。 もと
こんにちは。Red Hatでソリューションアーキテクトをしている杉本 拓です。 API基盤の導入を検討されているお客様は多くいらっしゃるかと思いますが、APIを活用していくためには、組織内にどのようなAPIが存在するのか、APIを簡単に発見することができ、そしてそのAPIの仕様がどのようになっているのか、更にどう使うのか、あるいは使用条件など、その詳細情報が見えるようになっている「APIの見える化」が実現されている必要があります。その観点において、APIのデベロッパーポータルというのは非常に重要な役割を持っています。今回の赤帽エンジニアブログでは、Red Hat Application Foundationsに含まれるAPI管理の製品 3scale API Management のデベロッパーポータルをカスタマイズして、APIの見える化を実現する方法について、Red Hat Develop
AWS Lambdaについて 清水崇之(以下、清水):ではさっそくTECH PLAYさんの抱えている課題、相談についてお話を聞いていきたいと思います。1つ目の相談です。「AWS Lambdaを活用するアーキテクチャとデプロイのベストプラクティスについて教えてください」という質問をいただいています。 今回、AWSについての話をしますが、「AWS Lambdaってそもそも何ですか?」と疑問を持つ方もいるかと思うので、まずはAWS側から、Lambdaについて紹介したいと思います。 福井厚氏(以下、福井):AWS Lambdaについて簡単に紹介したいと思います。AWS Lambdaは、いわゆるサーバーレスのサービスの1つになっていて、Lambdaが実行環境を提供するというサービスです。 具体的に言うと、お客さまが書いたアプリケーションのコードをAWS Lambda上にアップロードすると、指定したタ
はじめに こんにちは。ニコニコ漫画の開発をしているyotaとtukiyoです。 この記事はペアブロギングによって執筆しています。 本記事ではニコニコ漫画で利用しているRubyのバージョンを3.2.0へ更新したこととYJITの有効化によるパフォーマンスの変化について紹介します。 ニコニコ漫画のインフラ構成についてにある通り、ニコニコ漫画は4つのプロダクトによって運用されています。 このうち本記事の対象となるのは、Rubyを利用している「新バックエンド」と「課金サブシステム」になります。 今回、Rubyのバージョンが3.2.0になったことでYJITが実験段階ではなくなりました。*1 ニコニコ漫画のバックエンドシステム内では複雑な処理も多く、恩恵に与ることを期待して更新を行いました。 結果として大きなパフォーマンスの向上が見られました。 はじめに 更新に関する作業 更新前後のパフォーマンス比較
はじめに PoCの初期段階などで、いくつかのシステムを組み合わせて動作させるような場面では、 リポジトリが分散し、開発者ごとに違う言語で小規模なシステムを構築していることがあります。 そんな中で、動作確認をしたり、不具合を再現させたりする際、以下のような手作業が発生していました。 1. システムAを実行してCSVを吐く 2. CSVをシステムB直下にコピーする 3. システムBを実行して結果を得る プログラマーの三大美徳の怠惰担当の私は、手動で何かをすることが嫌いなので、自動化するツールを作成していきます。 シェルスクリプトで書いても良いのですが、実行するデータパターンが複雑だったり、分岐したりすると面倒なので、私はgolangで作成することが多いです。 この記事では、そんな中でハマった出来事と、回避方法をご紹介します。 根本解決していないものが多いので要注意&コメントお待ちしています。
いろんな記事でよく見かける処理ですが、本件はCDK(Typescript)、Lambda(Python3)という組み合わせで作りました どーも、データアナリティクス事業本部コンサルティングチームのsutoです。 最近仕事が忙しくなると、AWSにて検証で作ったリソースを削除し忘れたことで余計な課金を発生させてしまうことが増えてきました。 自分の個人検証アカウントではAWS Budgetsを使って予算とアラートを設定していましたが、上限近くになってから気づくより毎日通知で気づくほうが良いと思ったので、今回はAWS CDKを使って作ってみました。 ※CDKをTypescriptで書く練習をしたかったという思いもあり、CDKスタックはTypescript、中のLambdaはPythonという個人的趣向に沿った組み合わせとなっています。 作るもの 以下の図のとおりです。 毎日AM9時10分(JST)
(追記) 自動ログイン機能が利用規約に抵触していたらしく、マーケットプレイスより削除されました。 GitHubにAPIを使ったものは残っているので、知識があれば動作させられるかと思います。(自己責任) これを使った再配布等の行動はトラブルの元なので控えた方がよいでしょう。 ChatGPT いいよね 最近一番メッセージやりとりしてるのChatGPTだし、なんなら1日にしゃべる量よりChatGPTと話してることの方が多い可能性まであります ChatGPTのチャットツール自体はこちらから参加して試せるわけですが、プログラムを書くときに使ったことのない言語やライブラリを開拓する際ここまで有難い存在はありません. このようにネット上を探し回ると地味に時間のかかる情報もチャット形式で手に入ります. さて、今回の話題ですが、我が愛しのテキストエディタ「Visual Studio Code」のChatGP
社員の個性・才能を発掘し、戦略人事を加速させるタレントマネジメントシステム「カオナビ」を提供する株式会社カオナビでは、SaaS移行にあわせてクラウドを全面的に採用し、インフラの自動化などにAWSのマネージドサービスを積極活用しています。とはいえ10年近い運用で、サービス開発におけるシステムのモノリス化が課題となってきました。 こういった全社的な課題は、2020年からCTOを務める松下雅和(@matsukaz)さんを中心にCTO室で対応しています。モノリスなシステムは、全体のモジュラモノリス化を前提に、とくにボトルネックとなる検索処理を非同期の基盤サービスとして切り出しています。 この検索基盤の設計と実装を通して、カオナビはシステムのアーキテクチャ改善をどのように進めようとしているのか。非同期である必要性や、デプロイの工夫、開発組織の文化まで含めて、CTO室の千葉峻秀さんとインフラグループの
テストコード内では条件分岐を書かないようにする 2023.01.21 誰でも読める愚直なコードであることの 1 つの目安として、テストコードの中に if 文や三項演算子などの条件分岐が入り込んでいていないことが上げられます。if 文が存在するコードはアンチパターンであるといえます。実際に if 文がテストコードの中に入り込んだ例を見てみましょう。 テストコードは誰でも読める愚直なコードであることが求められます。テストコードにはある種のドキュメントのような、コードの仕様を説明する役割が求められているためです。テストの期待結果が変数になっていて、定義元までジャンプしないと値を確認できないだとか、条件分岐やループが入り込んでいて複雑性が上がっている状態ですと、素直に読みやすいとは言えません。 コードの中では重複排除をするためにさまざまなテクニックを駆使することがありますが、これは単にテストコード
はじめに この記事では、フロントエンドのレンダリングパターンの 1 つである Islands Architecture について概略した上で、Astro における Islands Architecture の実現方法をチュートリアル的に解説します。Astro は 2022 年の 8 月に v1 がリリースされたばかりの UI フレームワークであり、ユーザーもまだそれほど多くはないと思われるため、なるべく前提知識がない方でも理解できるように各ステップの説明を細かく噛み砕いておこなうつもりです。また最後に補論として、Astro v2 について本論と絡めて簡単に紹介します。 Astro と Islands Architecture Astro は、高いパフォーマンスを実現するウェブサイトをモダンな DX (Developer Experience) のもとで開発することを目指した UI フレーム
Ubie Discoveryというヘルステックスタートアップでプロダクト開発エンジニアをしている丸山@h13i32maruです。 最近、チームの生産性改善をするためにトイル計測をはじめました。今日はこのトイル計測について簡単に紹介します。 「生産性」ではなく「伸びしろ」の計測 手作業、繰り返される作業、自動化が可能、etc 改善可能な作業を計測する トイル40%超え トイルの撲滅は...これからだ! 「生産性」ではなく「伸びしろ」の計測 生産性を改善するにはまずは生産性の計測から始めることが重要です。 計測指標として有名なものにFour Keysがあります。Four Keysは「変更のリードタイム」「デプロイ頻度」「変更失敗率」「平均修復時間」を計測してチームのパフォーマンスを評価するものです。このFour Keysは組織全体としての生産性の結果指標だと理解しています。例えば僕のチームでは
by Jeff Foust メタバースをメイン事業に掲げて社名も変更したMetaのVR部門は、もともとは「Oculus」というVR企業でした。このOculusの最高技術責任者(CTO)を長く務めていたのが、「DOOM」「Quake」などのゲームを開発したことで知られるid Softwareの共同設立者だったジョン・カーマック氏です。カーマック氏はMetaを退職した後に自らが設立したスタートアップ・Keen Technologiesで汎用人工知能(AGI)の研究開発に携わっており、その経緯をIT関連ニュースメディアのDallas Innovatesによるインタビューの中で語っています。 Exclusive Q&A: John Carmack's 'Different Path' to Artificial General Intelligence » Dallas Innovates htt
AI は、Google が現在取り組んでいる中で最も本質的なテクノロジーです。AI は、医師による病気の早期発見の支援や、自国語での情報へのアクセスなど、人々、ビジネス、コミュニティの潜在能力を引き出します。そして、数十億人の生活を大きく改善できる新しい機会を提供します。6 年前から、私たちが Google の方向性を AI 中心に再編し「世界中の情報を整理し、世界中の人がアクセスできて使えるようにする」という Google のミッションを果たす最も重要な方法に AI を据えているのは、これが理由です。 以来、私たちは全面的に AI への投資を継続し、Google AI と DeepMind のチームは最先端のテクノロジーを進化させています。現在、AI の計算規模は半年ごとに倍増していますが、それはムーアの法則よりもはるかに早いペースです。同時に、高度なジェネラティブ AI と大規模言語モ
■本資料の作成者 米山知宏 / @kedamatti ■本資料をテーマにfukabori.fm様に出演させていただいたときの放送はこちら。 https://fukabori.fm/episode/77 ■関連スライドのご紹介 定例会議を活用してプロジェクトを推進する方法 --- リモートワークにおけるファシリテーションの方法論[増補版]を公開します! ■増補版のための序文(2023年10月) 2020年の新型コロナウイルスの世界的流行は、私たちの働き方を大きく変える契機となりました。 空間を共にしながら働くという前提は崩れ、在宅やコワーキングなど、各自が離れた場所から仕事をしていくスタイル(リモートワーク)は特別なものではなくなりました。当時、社会的に移動制限が行われたことによって、オンラインミーティングやリモートワークが普及し、逆説的に「移動からの自由」というものが生まれました。そし
2023年1月現在、Qiitaのコードブロックでも採用されている有名な日本語対応プログラミング用フォントのRictyとRicty Diminishedが、2023年1月28日をもって「正式に」サポート終了しました。具体的には、配布ページの冒頭に、以下の文章が追加されています。 Ricty および Ricty Diminished は、2010 年代前半には欧文・和文合成プログラミング用フォントとして先駆的でしたが、現在は前時代的な存在となっています。不具合もいくつか確認されています。良質なプログラミング用フォントが数多く登場していますので、それらの利用をおすすめします。 よって今後は、他のフォントを使用するのが良いでしょう。 移行先の候補となるフォントの一覧もあるので、ぜひ確認してみてください。 経緯 RictyフォントとRicty Diminishedフォントは、プログラミング用フォント
GoogleのCEOサンダー・ピチャイが、自然な文章で質問に回答するAIサービス『Bard』と、Google検索への組込みを発表しました。 ピチャイ氏によると、BardはGoogleが以前から研究してきたLaMDA (会話アプリケーションのための言語モデル)を元にした「実験的会話型AIサービス」。 Google検索にBardを組み込むことで、複雑なトピックについて文章で概要を答えたり、2つのものを比較したり、複雑な条件にあう答えを返すなど、従来の検索では難しかった答えが出せるようになります。 例のひとつでは、「ジェイムズ・ウェッブ宇宙望遠鏡(JWST)の新発見について、9歳児に話すならどんな内容にすべき?」という問いに対して、 「2023年、JWSTは「グリンピース」という愛称の銀河系を発見しました。小さく、丸く、豆のように緑色だったのでこの名前がつけられました」 「ジェイムズ・ウェッブ宇
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 皆さんは「No Measurement, No Improvement」という言葉をご存じでしょうか。これは「測れないものは改善できない」という意味で、熱力学者であるウィリアム・トムソン博士の言葉とされています。 下図はGoogle社のDORA(DevOps Research and Assessment)を参考にして作成しました。開発スピードとサービスの品質を改善するためには計測が必要です。計測のための4つの指標を紹介します。 四つの指標で計測し、開発スピードとサービスの品質を改善 開発スピードの分析に利用する指標は、1つ目が「Change Lead Time(開発が始まってから本番にデプロイされるまでの時間)」、2つ目が「De
背景 最近、「コンテナはもうわかってきたので、これからKubernetesについて腰を据えて勉強したいが、どのように勉強すればいいかわからない」という相談をいただくことがすごく多くなった。 必要に応じて必要なリソースの挙動などを調べてきたし、僕自身も知らないことばかりなので、全てを伝えることはできない。 とはいえ、「入門しにくいサービスが伸びにくい」というのは、間違いないので、Kubernetesに入門する上でこの順番で学習したら、基本的な内容を身につけられるのではないかというロードマップを一つ公開しておくことで、これから業務でKubernetesを理解していく必要がある方の最初の一歩を助けられるかもしれないと思い、公開する事とした。(このQiitaのリンクを渡すだけで質問に回答できるという状態を作りたいという観点もある。) 自分の今の、Kubernetesに対する理解をうまく表現できてい
To perform a search, we intersect the results of multiple lookups to give us the list of documents where the string appears. With a trigram index you need four lookups: lim, imi, mit, and its in order to fulfill the query for limits. Unlike a hashmap though, these indices are too big to fit in memory, so instead, we build iterators for each index we need to access. These lazily return sorted docum
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く