Developers Summit(デブサミ)2024で登壇したセッションの資料です。 - https://event.shoeisha.jp/devsumi/20240215 - https://event.shoeisha.jp/devsumi/20240215/session/4777 …
Datadog はモニタリング関連の SaaS ではおそらく最も利用されているサービスでしょうが、公式ドキュメントが豊富にある割には何から読み始めれば良いかわかりにくく、慣れるまでの道が険しい印象です。 本エントリーでは、Datadog が既に導入されている組織で、Datadog モニターを使って監視をしたいけど、モニターの設定方法がよくわからないといった方を対象に、メトリクスモニターの作成に焦点を絞って解説していきます。なお、あくまで Datadog の使い方についての解説であり、どのようなモニターを設定すべきかについては触れません。 メトリクスの収集についても触れたかったんですが、力尽きたので、メトリクスの収集については気が向いたら別エントリーを書きます。 アジェンダ メトリクスモニターの作成方法の基本 クエリの定義について クエリの評価期間・評価方法・アラート条件の指定 クエリの結果
最近実際に開発現場にコンテナを導入してきた経験から、公式ドキュメントに記載されているベストプラクティスに実際どうなんだということを言ってみようと思います。公式に書いてあることを間違ってると指摘という意図はありません 発言は個人の見解に基づくものであり、所属組織を代表するものではありません。 2023/12/3更新: 燃えかけてるのでタイトルを変えました。 補足: こちらの環境は下記を想定しています。 Java CICD/本番環境イントラネット内に整備 WF開発 マルチステージ・ビルドを使う マルチステージビルドの目的 公式ドキュメントには、下記のように記載があります。 マルチステージ・ビルド は、中間レイヤとイメージの数を減らすのに苦労しなくても、最終イメージの容量を大幅に減少できます。 つまり、最終イメージの容量を減らすことが目的であって、その一つの手段としてマルチステージビルドを進めて
Amazon Web Services(AWS)がオープンソースとして開発し、コンテナの実行に特化した軽量な仮想マシン「Firecracker」がバージョン1.0に到達しました。 Firecrackerは2018年11月に行われたAWSのイベント「AWS re:Invent 2018」でオープンソース化が発表されました。コンテナのために作られた仮想化技術で、同社が「マイクロVM」と呼ぶセキュリティにフォーカスして設計されたスリムな仮想マシンです。 AWS Lambdaのような高速なサーバレス環境を実現するために同社が開発しており、実際にAWS LambdaやAWS Fargateで利用されていると説明されています。 基本的な特徴として、小さなメモリフットプリントとオーバーヘッドに加えて、外部から攻撃可能な部分を最小限にするなどのセキュリティ対策を実装しています。 速度にもフォーカスしており
日本ではKubernetesやCI/CDなどが幻滅期に、インダストリクラウドやインフラ自動化は過度な期待。「日本におけるクラウド・プラットフォームのハイプ・サイクル」2024年版発表 調査会社のガートナージャパンは、「日本におけるクラウド・プラットフォームのハイプ・サイクル:2024年」を発表しました。 ハイプサイクルとは ガートナーのハイプサイクルは、技術の登場から安定までを5つのステージに分けて説明したものです。5つのステージは、「黎明期」から始まり、「『過度な期待』のピーク期」「幻滅期」「啓発期」「生産性の安定期」まで。この途中で消えていく技術もあります。 同社はグローバルだけでなく国別などさまざまな切り口でハイプサイクルを発表しています。今回発表されたのは日本のクラウドプラットフォームにおけるハイプサイクルです。横幅の関係上、図を2つに分割しました。まずは前半部分。 黎明期にはFi
はじめに CX事業本部の佐藤智樹です。 先日AWS DevDay Japan 2022 というイベントで「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実」というタイトルで登壇しました。 今回は上記の登壇で使用した資料の公開と発表の補足を記載いたします。 登壇動画 登壇資料 発表理由 1年前に上記の構成を始めた際に、思っていたよりは理想の状態にできないことが多々あり、情報も多くないように感じたので少しでも参考になるように実践例をベースにまとめました。同じような構成を試される際は参考になるかと思います。また発表の1ヶ月以内(2022/09~10)に結構更新があったので、昔同じ構成試してダメだった部分があったかたも参考になる部分あるかと思うのでみてもらえると嬉しいです。 最後に 本当は資料90ページぐらいになってタイトルと関連性の薄い内容(ECS on Farg
概要 ソーシャル経済メディア「NewsPicks」SREチームの中川です。 皆さんはバッチ処理基盤はどうされていますでしょうか。 NewsPicks では少し前まではそれらをEC2、cronの組み合わせで動作させていました。 何年も前からこの仕組みだったのですがSREとしてはEC2の面倒見るのも手間ですし、それ以上にcronを変更する際のオペレーションミスが目立ったのが懸念点でした。 その為、まずはAWSマネージド化するための基盤を整備し、その後バッチアプリを載せ替えていくようにしました。 対応前の基盤構成 同じSREチームの安藤さんが CloudNative Days Tokyo 2023 で登壇されたときの資料をお借りします。 ご覧の通り、大体のサービスはマネージド化していましたがバッチ基盤だけは旧来のままEC2インスタンスを利用していました。 10年モノのサービスのインフラを漸進的
Docker社とAWSがコラボレーションするという驚きとともに、新しくdockerコマンドに組み込まれたdocker ecsの使い心地を試してみました。 「docker ecsコマンド?なにこれ?」 先日、突如、DockerのECSインテグレーションなるものが発表されました! AWS and Docker collaborate to simplify the developer experience | Containers 従来あるdockerコマンドに、なんとdocker ecsコマンドが追加され、docker-composeファイルを利用したECSへのデプロイがAWS CLIなどのAWS製ツールを使わずに、全てdockerコマンドだけで完結するという、ちょっと想像がつかないアップデートです。 まだDocker社ではベータ版の扱いということですが、なかなかにおもしろいアプローチだった
はじめに お久しぶりです。最近は疎かになっていましたが、久々のブログ投稿となります。 今回はタイトルの通り、技術書典#13向けに「Amazon CloudWatch [本格]入門」を執筆しました。 本ブログにて少しご紹介できればと思います🚀 techbookfest.org 今回も表紙がかなりかわゆい感じになっていますが、内容はガチガチの技術書です。 書籍の位置付け 技術書典はかれこれ2019年にオンライン開催された技術書典8が初参加です。 その時はコンテナ(Amazon ECS / AWS Fargate)+CI/CDを主テーマにした「クラウドネイティブファーストストーリー」を執筆しました。 2年後の技術書典11にて、同じくクラウドネイティブシリーズ第2弾として「比べてわかる!IaCの選びかた」を世に送り出しました。 booth.pm booth.pm 今回の書籍は、そのクラウドネイテ
Amazon Web Services ブログ AWS Copilot のご紹介 Amazon Elastic Container Service (Amazon ECS) をご利用中、あるいはご利用を検討されている皆さまへ 本記事でご紹介する AWS Copilot は Amazon ECS CLI の後継に当たるものです。日本はこの ECS CLI を多くのお客様にご利用いただいている地域の1つであることに加え、ECS でのコンテナ実行をもっと簡単に行えるようにしたい、シンプルなワークフローを実現したいというリクエストを多数いただいていることから、本記事を英語記事と同じタイミングで公開することにしました。 Amazon ECS でのコンテナ実行に新たな体験を提供する AWS Copilot の紹介記事です。お楽しみください! −トリ (皆さまからの Copilot へのフィードバック、
スマートキャンプ、エンジニアの入山です。 2020年7月にDockerとAWSのコラボレーションにより、単一コマンドでDocker ComposeのyamlファイルからAmazon ECS上に各コンテナをデプロイできる機能追加が発表され、非常に注目を集めました! From Docker Straight to AWS - Docker Blog AWS and Docker collaborate to simplify the developer experience | Containers ローカルでDockerを利用して開発を行っている方々は、ほぼ間違いなくDocker Composeを利用してアプリの動作に必要な各コンテナを一括管理しているかと思いますが、このECS Pluginを利用するとAmazon ECSへの各コンテナのデプロイとECSの動作に必要な各AWSリソースを一括し
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
Kubernetesの機能は損なわず、PCやRaspbery Piといったエッジの環境へ簡単に導入し運用することにフォーカスしつつ、サービスメッシュのIstio、Linderd、サーバレスのKnative、分散トレーシングのJeager、メトリクス収集のPrometheusなどもバンドルされています。 NvidiaのGPUを用いたGPGPUにも対応。MicroK8sの自動アップデートも可能。導入や構成がシンプルなことから、MicroK8sはローカルの開発環境などによく用いられています。 そのMicroK8sがWindowsとMacに対応したことが発表されました。 #MicroK8s is now available natively on @Windows and #macOS via the command line, as if you were using on Linux. Lea
この記事は fujiwara-ware advent calendar 2024 の20日目です。 mirage-ecs とは mirage-ecs は、Amazon ECS で好きなだけブランチ別の環境を作るためのツールです。 「ブランチ別の環境」とは、例えば以下のようなものです。 main ブランチのコードをデプロイした URL main.example.com feature/xxx ブランチのコードをデプロイした URL xxx.example.com fix/yyy ブランチのコードをデプロイした URL yyy.example.com 多くのメンバーがいるチームで開発をしていると、それぞれのメンバーが作業をしているブランチごとにデプロイされた環境がほしくなります。そのような環境を手動で作るのは大変ですが、mirage-ecs を使えば簡単に作ることができます。 なぜ作ったのか
Read this article in English. はじめに 見つけやすく、インストールしやすいソフトウェアパッケージは、開発者にとって使いやすいです。React、Ruby on Rails、Airflow のような有名な OSS は良い事例です。しかし、社内の非公開のコードは、企業秘密として世間から隠されることが多いです。権限を持っている人のみ見ることができて、オープンソースのように npm gem や pip で簡単にインストールすることもできません。 その結果、社内のコードがうまく再利用されなくなる(あるいはできなくなる)ことがあります。各チームはそれぞれ独立したコードベースを持ち、他のチームにコードを共有したくても、満足がいく解決策を導き出すことが難しかったりします。戦略を立てないままでは、それぞれの独立したコードベースを充実させ続け「社内共通のライブラリー」が遠い夢のよう
docker composeではserviceごとにprofilesという属性を指定できて、起動時にこれを指定することで関連する一連のserviceだけを起動させられる。 どういうシーンで使えるのか。例えばとあるRailsアプリでは、一部の開発者はMySQLやRedisなどのデータストアだけdocker composeで起動して開発し、他の開発者は加えてRubyもdocker composeで起動して開発している。osxfsが遅すぎて、ファイルへの読み書きが頻発する処理がmacOSのDockerでは使い物にならないからだが、この話は今回どうでもいい。さてこのとき、データストア用のserviceに適当な名前のprofileを割り当てておくことで、個々のserviceの名前を逐一指定しなくても起動でき、将来の変更にも強くなって嬉しい。 # profile導入前 docker compose u
概要 Docker コンテナの原則として「1コンテナ1プロセス」1というものがありますが、あえてこの原則を破りたいときがあるかもしれません。 公式: Run multiple services in a container 有志翻訳: コンテナー内での複数サービス起動 上記ドキュメントのラッパースクリプトを利用する方法には重大な問題があり、本番環境で使用するべきではありません。 (よりによって「本番環境でのアプリ運用」の項目にある) 公式ドキュメントに書かれているのに、死ぬというのはおかしいじゃないか それが罠だという証拠 ちなみに supervisord を利用する方法は問題ありません。 また、コンテナ向けに最適化された s6-overlay2 を利用する方法もあります。 ラッパースクリプトの問題点 プロセスの graceful shutdown が実行されない(プロセスに SIGKIL
Docker DesktopとAmazon ECS(Elastic Container Service)が連係可能に。DockerとAWSが協業 WindowsやMacでDocker環境を利用できる「Docker Desktop」と、Amazon Web Services(AWS)のコンテナ環境であるAmazon ECS(Elastic Container Service)との連係が、DockerとAWSから発表されました(Dockerの発表、AWSの発表)。 From Docker Straight to AWS? Why, yes you can. Read about our collaboration with @AWSCloud https://t.co/Hy1Nvq3m0r #AWS #Docker #Containers #Cloud pic.twitter.com/92gL
ちょいとした用途において、カジュアルにFargateの起動/停止を繰り返して、気ままに負荷全開かけていたら、あまりの違和感にCPU割り当てについて調査することにしました。 最近こんなことばっかやってる気がしますが、気に食わんかったからムカムカ解消に書くしかないんや。半分くらいブラックボックス与太話な感じで夜露死苦です。 はじまり とある処理を全開でFargateにやらせて、cpu=1024(100%), 2048(200%), 4096(400%) でどのくらい RPS (requests per second) でるかを計測していると、想定通りならほぼ比例でRPSが伸びるはずが、全然そうならないパティーンに遭遇。 並列過剰やエラー・バグ起因ではないことをほぼ確させた上で、まさかCPUガチャじゃあるまいなと試したら、まんまCPUガチャでしたということで、EC2からある話ではありますが、現在
ラズパイでもAmazon ECSを動かせる、「Amazon ECS Anywhere」が正式リリース。ラズパイやオンプレミスのコンテナ環境をAWSから集中管理可能 Amazon Web Services(AWS)は、AWS上のコンテナ基盤サービスである「Amazon ECS(Elastic Container Service)」を、オンプレミスなど任意のサーバなどで実行可能にする「Amazon ECS Anywhere」の正式リリースを発表しました。 With Amazon ECS Anywhere, you can run and manage container-based applications on customer-managed infrastructure, including on-premises on your own virtual machines and bar
はじめに アプリケーションログは、アプリケーションの動作状況をログファイルに記録するプロセスです。アプリケーションよって、この動作状況は1つ以上のファイルに記録することが多いです。このログファイルは、セキュリティとパフォーマンスの分析の実行、アプリの問題のトラブルシューティングなどに役立ちます。この記事では、ログ、ログの種類およびAWSのCloudwatLogsサービスについて説明したいと思います。 各個人によって好きなAWSサービスがそれぞれだと思います。これが正解という訳ではありませんが、参考にしてただければと思います。 対象者 AWSでログの記録に興味がある方。 AWSでワークロードを運用している担当者。 ログレベル ログレベルについて皆さんご存じだと思いますが、主に3種類のログがあります。 レベル 説明
BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py
色々あって WebAssembly の component model を調べていたら、未来が見えた気がしたのでここに書いておきます。 「今の WebAssembly」 とは何か WebAssembly の Web の部分は忘れてください。これは単に JVM version 20xx です。ポータブルなバイナリ仕様です。 実行にあたっては今はホスト言語として JS が使われていますが、実際にはホストがJSである必要すらなく、なんならホストが不要なスタンドアロン環境すらあります。(wasmtime/wasmer) じゃあ WebAssembly は何かというと、サンドボックスで実行される VM の仕様です。比較的高水準なバイナリで、 V8 や Spider Monkey に付属する WebAssembly Runtime や、 Wasmtime や Wasmer といった WebAssemb
Cloud Run CPU 0.08 ~ 8 Core (2nd gen は最小 0.5~) Memory 128 MiB ~ 32 GiB (2nd gen は最小 512MiB~) Deploy App Engine は Deploy (gcloud app deploy) を実行すると Cloud Build が暗黙的に動いて Deploy が行われるが、これがなかなか時間がかかる。 開発環境だと CI でとりあえず main branch に merge されたら、Deploy したりするけど、Deploy を Skip してもよいような時でも CI 回してると Deploy を待つことになって、ちょっとめんどうに感じる。 更にこの仕組みは成果物は Deploy しないと生まれないので、CI と CDを分離しづらい。 Cloud Run は Container Registry a
こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ
GitHubによるDockerコンテナレジストリ「GitHub Packages Container registry」が正式サービスに GitHubは、Dockerイメージの共有や公開ができるリポジトリサービス「GitHub Packages Container registry」が正式サービスとなったことを発表しました。 Container registry for GitHub Packages is now generally available! Check out how it can improve your development experience.https://t.co/qCe9DteR6d — GitHub (@github) June 21, 2021 GitHub Container Registryは、GitHubでソフトウェアパッケージを扱う機能である「G
GoogleのSREとSecurityによるBuilding Secure Reliable Systems という本の中で「Zero Touch Production (ZTP) 」という考え方が紹介されていた.これはインフラの権限管理やインフラの構築そのものの指針となる概念であり,自分がそうあるべきだとずっと思ってきた考え方でもある.これはどのような考え方なのか?をこれまでの歴史を踏まえて具体的なツールや事例とともにまとめておく. Zero Touch Production Building Secure Reliable Systems においてZero Touch Production (ZTP) は以下のように定義されている. The SRE organization at Google is working to build upon the concept of least
Red Hat、ローカルマシンにコンテナとKubernetes環境などを構築する「Podman Desktop 1.0」正式リリース Red Hatは、ローカルマシンにLinuxのコンテナとKubernetes環境を手軽に構築できる「Podman Desktop 1.0」を正式リリースしました。 Windows、macOS、Linuxに対応し、デスクトップアプリケーションからコンテナエンジンのPodman、Docker、OpenShift Localなどを簡単にインストールでき、最新の状態に保つことができます。 コンテナの実行やKubernetesの操作など Podman Desktopの主な機能は以下の通り。 コンテナとポッド関連 コンテナとポッドのビルド、ラン、マネージ、デバッグ Kubernetes上もしくはKubernetesなしでのポッドの実行 内蔵のターミナル機能でコンテナへの
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く