「eBPF & コンテナ情報交換会 @ 福岡」の発表資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。 デモの動画は https://asciinema.org/a/BbYc…
背景 本家のruncで実装されているSELinux機能が、Youki (Rustでruncを再実装するOSS)に実装されていないことがわかった。 そこで、SELinux機能をYoukiに導入することになったのだが、SELinux crateが無かったのでRustで再実装することになり、そのプロジェクトにアサインしてもらった。 しかし、SELinuxについて何も知らなかったので、SELiuxについて色々と調べたことをまとめた。 SELinuxとは何か? security-enhanced Linuxの略称。MAC制御を行うことができる。通常のセキュリティに加えてSELinuxを設定することで、システムセキュリティを更に強化できる。 Labelとpolicyを組み合わせたセキュリティ制御が特徴である。process・file・networkなどのobject、process・userなどのsu
Docker互換のコンテナエンジンとしてRed Hatが主導して開発しているオープンソース「Podman」の2年振りのメジャーバージョンアップ「Podman 5.0」が正式にリリースされました。 PodmanはDocker互換のコマンドラインツールを備え、OCI(Open Container Initiative)互換のDockerイメージを操作可能なコンテナエンジンです。 デーモンを使わず軽量で高速に動作すること、ルートレスでコンテナを操作できるためセキュアなことなどを大きな特徴としており、PodmanからKubernetesのYAMLファイルを生成できるため、Kubernetesとの連係も容易とされています。 今回のPodman 5.0では、WindowsやMacの上でLinuxコンテナを利用可能にするための仮想マシンを実行するPodman Machineが全面的に書き換えられ、性能と
WebAssemblyをコンテナイメージとし、コンテナレジストリなどで配布可能にする「Wasm OCI Artifact layout」仕様が登場 WebAssemblyコンポーネントをコンテナイメージとしてDockerレジストリなどで配布可能にする「Wasm OCI Artifact layout」が、「WASI 0.2.1」仕様の一部として公開されました。WASIを推進するBytecode Allianceが発表しました。 WASI(WebAssembly System Interface)は、WebAssemblyをWebブラウザだけでなくサーバサイド上のランタイムなどでも実行可能にする仕様で、W3CのWASIサブグループ(WASISG)が策定しています。 コンポーネントモデルを備えたWASI 0.2が登場 WebAssemblyはもともとWebブラウザ上で高速に実行可能なバイナリフ
セキュリティに限定せず、「コンテナとは何か」から詳細に説明しています。コンテナやセキュリティの深淵に触れてみたい方にお勧めの、遅効性の良書という印象です。 コーヒーが好きな emi です。 コンテナを使ったアーキテクチャは引き合いも多く、私も常々しっかり学ばねばならないと思っていました。そんな折、以下のイベントでコンテナセキュリティに関する内容で登壇をすることになりました。 コンテナセキュリティについて学ぶため「コンテナセキュリティ コンテナ化されたアプリケーションを保護する要素技術」を読みましたので、本記事では本書の概要と感想を記載します。 書籍情報 書籍タイトル : コンテナセキュリティ コンテナ化されたアプリケーションを保護する要素技術 著者 : Liz Rice(著)、株式会社スリーシェイク(監修)、水元 恭平、生賀 一輝、戸澤 涼、元内 柊也(訳) 出版社 : インプレス 出版日
公開日 2024/08/14更新日 2024/08/09メンテナンスコスト削減を実現したOpenTelemetryへの挑戦 ~NTTデータに学ぶ、オブザーバビリティの取り組み~ オブザーバビリティの重要性が高まっている現在、その実現に向けたオープンソースプロジェクトであるOpenTelemetryが注目を集めています。一方、OpenTelemetryの具体的な導入事例やOpenTelemetryを用いたオブザーバビリティの取り組みについては、発信されている情報はまだ多くありません。 そんななか、Findy Toolsでは株式会社NTTデータの取り組みに注目。NTTデータでは、クラウドネイティブ環境やマイクロサービスアーキテクチャの採用増加に伴い、システムが複雑に。この課題に対応するため、OpenTelemetry を軸としたオブザーバビリティの実現に積極的に取り組んでいるといいます。 今回
こんにちは、ビコーペガサスです。この度、「Docker/Kubernetes 実践コンテナ開発入門 改訂新版」を出版します。本書は2018年に出版した初版を全面改訂したものです。 【新刊】2024年2月24日発売『Docker/Kubernetes実践コンテナ開発入門 改訂新版』本体3,600円+税,山田明憲 著,Docker/Kubernetesを実践で使いこなす!コンテナ開発・運用の第一歩!https://t.co/jRfsDFnuKu pic.twitter.com/dd0qo4DZM1 — 技術評論社販売促進部 (@gihyo_hansoku) February 13, 2024 「改訂新版」のモチベーション 初版の出版から早5年半が過ぎ、コンテナ技術の情報は大きく変化しました。コンテナ技術の基本的な部分は変わらないとはいえ、初版の内容が陳腐化するだけの時間が流れたことは否定しよう
おなじみの画像 JavaやScalaといったJVM言語のDockerイメージは、JVMを同梱しなければならない都合で肥大化しがちである。特に何もしなくても、例えば一般的なamazoncorretto:21のイメージサイズは217.7 MBもある。 hub.docker.com これにさらにビルド済みのJARファイルが載ってくるので、結構大きくなってしまうのだ。 そこで、Scalaのコンテナイメージのサイズをなんとか小さくできないかと、考えた。すると、JVMを使ったまま70 MiBくらいに縮めることができた。 github.com コンテナイメージのサイズを小さくするために、何をしたかを書いていく。ちなみに題材としたアプリケーションはちょっとしたHello, Worldをするだけのもので、ライブラリはCatsに依存させた。 JVM使う編 マルチステージビルドを行う Alpineなどの軽量ラン
Ruby on Railsの作者として知られるDavid Heinemeier Hansson氏は、コンテナ・デプロイ・ツール「Kamal 1.0」を9月19日(現地時間)に公開した。同氏は開発したWebサービスをクラウド・プロバイダーから自前のサーバーに移行する手続きを進めており、Kamalはその手続きの中で生まれたという。KamalはMITライセンスで公開しているオープンソース・ソフトウェア。 Kamalは、Dockerでコンテナ化したアプリケーションを配備するツール。設定ファイルに外部の公開IPアドレスを記入して起動すれば、Linuxが動作するコンテナが動き出す。このコンテナにはSSHで接続することも可能だ。 Hansson氏はKamalをWebアプリケーションをクラウドから自前のサーバーに移す目的で使用しているが、クラウド間での移動など、ほかの目的にも利用できる。Kamalを利用す
はじめに PythonのDockerfileを作成する際、ネット上で適切な情報が見つからず、試行錯誤することがあります。そこで、ここでまとめてみます。 完成品 # 開発用ステージ FROM python:3.11.9-slim-bookworm AS developer ENV PYTHONUNBUFFERED=1 ENV PYTHONDONTWRITEBYTECODE=1 WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends \ wget=1.21.3-1+b2 \ && apt-get -y clean \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ RUN pip install --no-cache-dir -
「Kubernetesは難しい」と感じている方におすすめの入門書『つくって、壊して、直して学ぶ Kubernetes入門』(翔泳社)。今回は本書から、実践的な知識を習得する第一歩として、Kubernetesの基礎の基礎であるPodの作り方を解説します。また、本書でどんなことが学べるのかも紹介します。 本記事は『つくって、壊して、直して学ぶ Kubernetes入門』(高橋あおい著、五十嵐綾監修)の「Chapter 3 全体像の説明」と「Chapter 4 アプリケーションをKubernetesクラスタ上につくる」から一部を抜粋したものです。掲載にあたって編集しています。 本書での学習の流れ 本書では3つのパートに分かれています。 ●Part 1:基礎的な知識と環境構築を行います。 ●Part 2:一番ページ数も多く、Kubernetesを扱ううえで大事なことを詰め込んだパートになります。本
Amazon Web Services ブログ 【開催報告】プラットフォームエンジニアリングって何?〜基本から AWS での実現方法について〜 みなさんこんにちは!アマゾンウェブサービスジャパン合同会社 ソリューションアーキテクトの後藤です。 2024 年 2 月 29 日に AWS オンラインセミナー「プラットフォームエンジニアリングって何?〜基本から AWS での実現方法について〜」を開催しました。 本イベントは、プラットフォームエンジニアリングの基本的な概要と現状について解説した上で、SRE や DevOps との関連性、どんな課題をどう解決するのか、実装するとなれば、AWS でどう実現するのかといった点についてご紹介させていただきました。400 名を超える多くの方々にご参加いただきました。ご参加いただいた皆様、誠にありがとうございました! アジェンダ AWS メンバーから、プラット
N予備校のインフラを Amazon EKS に移行した話 はじめまして。ドワンゴの教育事業で SRE エンジニアをしている西永です。 N予備校 では Kubernetes を採用しています。 これまでは Control Planes 含めすべての構成要素を自前で構築し運用していましたが、様々な問題が発生してきたことから Amazon EKS に移行をおこないました。 この記事では、Amazon EKS への移行に取り組んだ事例にについて紹介します。 なぜ移行したのか Kubernetes のバージョンが古い これまでの構成では Kubernetes のバージョンアップが考慮されておらず、Kubernetes を利用した N予備校の提供開始以降バージョンアップができていない状態でした。 そのためバージョン 1.7 を利用し続けていました。 バージョン 1.7 は 2017 年にリリースされ、
はじめに 近年、Kubernetesの採用が進む中、複数のチームが関わり、複数のクラウドプロバイダーへのデプロイを行い、異なるスタックを扱う組織では、その導入の複雑さが新たな問題となっています。本書 『Platform Engineering on Kubernetes』は、Kubernetes に登場しつつあるベストプラクティスとオープンソースツールを活用し、これらのクラウドネイティブの問題を技術的に組織的にどのように解決するかを示してくれます。 learning.oreilly.com 本書では、Kubernetes上に優れたプラットフォームを構築するための要素を明確に定義し、組織の要件に合わせて必要なツールを体系的に紹介しており、実際の例とコードを交えながら各ステップをわかりやすく説明することで、最終的にはクラウドネイティブなソフトウェアを効率的に提供するための完全なプラットフォーム
コンテナクエリがすべてのモダンブラウザの安定版でサポートされ、メディアクエリに代わり、コンテナクエリを使用する機会も増えてきたと思います。 コンテナクエリは親コンテナに基づいてスタイルを定義できるものですが、親のサイズによるクエリだけではありません。親のスタイル値によるクエリ(スタイルクエリ)も可能です。スタイルクエリを使えるようになると、どんな風に便利になるかを紹介します。 Add Superpowers to Your CSS Variables with Style Queries by Jared White 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 スタイルクエリを使えるようになると スタイルクエリは変数と組み合わせると、さらに強力 スタイルクエリを使えるようになると CSSはスタイルクエリの登場により、さらなる
(๑╹◡╹๑) @tsuchie88 みんなの銀行は、アクセンチュアがシステム構築しただけじゃなくて、GCPで稼働するCloud SQLを中核にK8sでコンテナ化されたアプリケーション群を東西リージョンで両現用化したかなり画期的なシステム構成で面白いんだけど、サービスもカードレスでスマホのみ、サブスクモデルと尖りすぎてるんだよな pic.twitter.com/4xMikwGQwf (๑╹◡╹๑) @tsuchie88 アクセンチュアって、海外では勘定系パッケージを販売してるし、Citibankのフロントエンドシステムとか個別構築も手掛けてたりして、何気に金融系システムベンダーとしての存在感があるんだけど、日本ではあんま強くなかっただけにMAINRIはスクラッチで日本で投入したライト勘定系で面白いんだが
CodeBuild プロジェクトを使用して Webhook を設定し、GitHub ACtions ワークフローの yaml を更新して CodeBuild マシン上でホストされているセルフホストランナーを使用できる GitHub への認証は PAT か OAuth App を使う まとめというかわかったこと ※間違ってることや、こうすればいいよなどがあったらコメントください。 良かった点 セットアップは楽 ephemeral である 起動時間は EC2、Lambda 共に 1 分程度だった 個人的には十分速い マネージドイメージに加えて Docker カスタムイメージを指定可能 jobs.<job_id>.runs-on に -<image>-<image-version>-<instance-size> を追記すると、設定不要で様々なアーキテクチャのイメージを使える jobs.<job
コンテナランタイムの代表的な実装の1つである「containerd」の初のメジャーバージョンアップとなる「containerd 2.0」の開発が進んでいます。 今年(2024年)3月に最初のリリース候補版「v2.0.0-rc.0」が登場し、6月には「v2.0.0-rc.3」まで進捗しているため、数カ月以内には正式版が登場すると思われます。 containerdのこれまで もともとcontainerdはDockerコンテナの一部として実装され、2016年に独立したオープンソースプロジェクトとなりました。現在でもDockerのコンテナランタイムとして採用されています。 参考:Dockerエンジンのコアランタイムが「containerd」として分離、独立したオープンソースプロジェクトに。Docker、AWS、Google、IBM、マイクロソフトらが協力して開発推進へ 2017年3月にCloud
こんにちは。Cacooチームの木村です。以前プルリクを起点に検証環境が自動で構築されるようにしたら すぐにレビューできるようになったのでみんなハッピーになれた話をしたのですが、色々課題があったのでKubernetesのJobを使って改善しましたので紹介します。 この記事はヌーラバー真夏のブログリレー2024の12日目の記事です。 【経緯】プルリク環境は便利 前回の記事では、以下のような経緯からプルリク環境を構築しました。 開発中の機能を試せる検証環境がある 検証環境があると複数人でレビューできて便利 便利すぎてみんなが検証環境のリビジョンを変更したがる プルリクエスト用の環境が構築される仕組みをつくった 複数のプロジェクトが同時進行してても、みんながそれぞれの環境を試せて便利 プルリク環境はチーム内でたいへん好評でした。使い方は非常に簡単で、プルリクエストを作成すると、CIがそのブランチの
Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする 春の入門祭り2024の1記事目です。 はじめにTIG真野です。 Testcontainers を用いて、単体テスト実行前に docker compose up -d 無しで、PostgreSQLにアクセスする単体テストを行う、入門記事です。 恩恵は次のような開発者体感の向上が個人的にあります。 テストを実行するうえで、別プロセスのサービスを起動しておく必要があるといった前提条件を考えなくても済むため、テストを行うビジネスロジックに集中できる docker compose up -d 打たないだけだが、テストに必要なコンテナを考慮しなくても済む 停止し忘れて、別のリポジトリの開発するときに混乱しなくても済む 並列テストしやすくなるので、テストの実行速度が向上する Goにおい
はじめまして。Gaudiyでエンジニアをしているあんどう(@Andoobomber)です。 クラウドネイティブ全盛の世の波に乗り、この度 Gaudiy では Cloud Run から Google Kubernetes Engine (GKE) への移行を行いました。 この記事では、その移行プロセスの全体像を共有し、得られた教訓と今後の展望を探ってみたいと思います。 1. Before After: 移行の概観 1-1. Before 1-2. After 2. なぜGKE環境に移行したのか 3. 移行のプロセス 3-1. Kubernetesを学ぶ (1週間: 2023/10/01~) 3-2. Dev on GKE環境作成 (2-3週間) 3-3. Staging on GKE環境作成 (2日) 3-4. Private Clusterへの移行 (1-2週間) 3-5. Prod on
コンテナの仕組みを勉強したかったため、Goでコンテナランタイムを自作した。雑実装だし未実装の機能もたくさんあるが、ある程度形になってきたため現状をまとめる。 リポジトリ github.com kombu/dashi - 自作コンテナランタイム kombu/nimono - eBPFを利用したシステムコールロガー kombu/yaminabe - dashiとnimonoを利用したマルウェアサンドボックス プロジェクト名から和の雰囲気を感じるが、これはリポジトリ名をkombu(昆布)にしたかったため、せっかくなら今回は和風で固めようと思ったから。趣があっていいんじゃないでしょうか。 dashiが自作コンテナランタイムだが、nimonoとyaminabeは実験的な要素で、セキュキャン2023でコンテナを使ったマルウェアサンドボックスを実装した経験があり、今回はその再実装を自作コンテナランタイム
最初に断っておきますと、OpenTelemetry を良く知っていたり真面目に調査しようという人が読むべき内容はここにはありません。 公式ドキュメントなりをご参照ください。これは最近 OpenTelemetry を使いだした一般人の感想記事です。 さて、いけてる Web 開発者、特にバックエンド開発者の方はオブザーバビリティという言葉は聞き及んでいるかと思います。 なかでもオブザーバビリティ三種の神器と言われている(?)ログ、メトリクス、分散トレーシングをどう実装するか頭を悩ませているかもしれません。 頭を悩ませてきた、あるいは頭を悩ませている理由の一つは、これらを実装するときに特定の実装向けになりがちであったためです。 メトリクスであれば最近は Prometheus 向けに /metrics エンドポイントとして提供する実装が多いといった話です。しかしながら、 あらゆる人が Promet
サービスプラットフォームチームで SRE を担当している id:masayosu です。 先月からですが Hatena Developer Blog にて SRE 連載を始めました。先月の記事は はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog です。 毎月はてなの SRE が交代でブログ記事を書きますのでお楽しみに。 この記事は2024年2月の SRE 連載の記事です。 はてなの EKS 利用について 私が所属するサービスプラットフォームチームでは EKS の運用を続けており、先日 Kubernetes 1.23 から 1.28 へのアップグレードを完了しました。 私のチームは少人数で形成されているのですが、担当しているサービスは大小様々あり EKS クラスター上では数十個のサービスが稼働しています。 少
こんにちは!株式会社COMPASSのシステム開発部、SREチームのごーすと(@5st7)です!普段は、k8s周りの運用であったり、アプリケーションのパフォーマンスの監視、改善、インフラ周りの自動化などを積極的に進めています。三度の飯よりも好きなものがプリンで、美味しいプリンの店とかが流れてきたら1営業日以内に馳せ参じます。プリン好きな人はお店で会いましょう。 今日は負荷試験の取り組みについてご紹介できればと思います。COMPASSが提供するキュビナは現在100万人を超えるユーザーに利用していただいていますが、その分トラフィックも大きく、安定してサービスを提供できるようにするために、様々な工夫をしています。その中でも利用の集中する時間帯の負荷に耐えられるかの検証は非常に重要な取り組みの一つです。今回は、COMPASSが今まで負荷試験にどのように取り組んできたのか、その歴史と改善を行っていった
こんにちは。技術部プラットフォームグループのshibatchです。プラットフォームエンジニアとして、主にSUZURIとminneをより良くするおしごとをしています。 さて私が主として携わっているSUZURIですが、2014年のサービス開始以来、一貫してHerokuを利用してきました。このたび、10年間使っていたプラットフォームを卒業し、新たにAmazon EKS(Elastic Kubernetes Service)へ移す方針に決めた経緯についてお話しします。EKSに移すという決定にするまでに多角的に検討し、時に悩みながら決定した過程について明らかにしていきます。 なお、現在プラットフォーム移設の真っ最中であり、移設の詳細な内容はこの記事に含めません。移設作業はほぼ完了に向かっており、また別途お話しする予定です。 この記事は以下の3部構成になっています。 Herokuから移行しようと思った
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く