最近 JVM のヒープ領域とパラメータ、そしてコンテナの関係について調べてました。 案外まとまった情報が少なかったので簡単にまとめました。 Java のヒープサイズを設定 まずは Java のヒープサイズについて簡単なおさらいです。 本番環境で Java アプリケーションを運用する上で、JVM のヒープサイズを決定するのは非常に大事なポイントです。 ヒープ領域の最大サイズを大きくすればガベージコレクション (GC) の回数は減らすことができますが、 必要以上に大きくしすぎると無駄にリソースを消費したり、OOM killer で OS にプロセスを終了させられます。 JVM が使用できるヒープサイズは、Java API の Runtime.getRuntime().maxMemory() で確認できます。 また java の起動オプションに -XX:+PrintFlagsFinal オプショ
docker compose on GitHub Actions 昨今ではDocker(コンテナ)を使った環境整備が主流になってきています。アプリケーションの実行環境自体をコード化できるため、開発環境間の差異や、本番環境の差異を吸収し、アプリケーションの開発に集中することができます。 一方、CIとDockerの相性はなかなかに良くないです。Dockerの肝はイメージやレイヤーのキャッシュにより、初回のダウンロード以降は爆速に使えることですが、環境がある程度リセットされてしまうCI環境で愚直にDockerを動かすコードを書くと数百MB単位のイメージのダウンロード、ビルドが毎回走ることになり、Dockerを準備する処理でCIの処理の大半が使われてしまうこともままあります。 今回はDockerによる環境のカプセル化の恩恵を受けつつ、GitHub Actionsでdocker composeを動か
本文の内容は、2021年3月9日にÁlvaro Iradierが投稿したブログ(https://sysdig.com/blog/dockerfile-best-practices/)を元に日本語に翻訳・再構成した内容となっております。 Dockerfileのベストプラクティスのクイックセットをイメージビルドに適用することで、セキュリティ問題を防ぎ、コンテナ化されたアプリケーションを最適化する方法を学びます。 コンテナ化されたアプリケーションやマイクロサービスに精通している人なら、自分のサービスがマイクロサービスであることに気づいているかもしれません。しかし、脆弱性の検出、セキュリティ問題の調査、デプロイ後の報告や修正など、管理のオーバーヘッドがマクロな問題になっています。 このオーバーヘッドの多くは、セキュリティをシフトレフトし、開発ワークフローの中で可能な限り早く潜在的な問題に取り組むこ
“Build once, deploy anywhere” is really nice on the paper but if you want to use ARM targets to reduce your bill, such as Raspberry Pis and AWS A1 instances, or even keep using your old i386 servers, deploying everywhere can become a tricky problem as you need to build your software for these platforms. To fix this problem, Docker introduced the principle of multi-arch builds and we’ll see how to
Next.jsアプリケーションのDockerイメージのサイズが大きくて困っていたので調べていたところ、Next.jsの公式ドキュメントにDocker Imageというセクションがあり、おすすめ設定が記載されているのを見つけました。以前はここまで詳細な記述はなかったのですが、つい10日ほど前に追加されたようです。 ドキュメントには一番おすすめの方法だけ書かれているのですが、もともと「What is the best way to use NextJS with docker? · Discussion #16995 · vercel/next.js · GitHub」というdiscussionがあり、ドキュメントの記述はここでの議論が元になっているようです。Discussionではいくつか例が示されているのですが、それぞれさまざまな最適化テクニックが利用されており、どれくらいの容量になるか気
Google、最適化されたコンテナイメージを生成する「buildpacks」をオープンソースで公開。Dockerfile不要でJavaやGo、Node.jsをコンテナへビルド Googleは、アプリケーションのコードから最適なコンテナイメージを生成するツール群「buildpacks」(ビルドパック)をオープンソースで公開すると同時に、Google CloudのCloud Run、Anthos、Google Kubernetes Engine (GKE)がこのbuildpakcsに対応したことを発表しました。 We’re launching broad support across @googlecloud for buildpacks, an open-source technology that makes it fast & easy to create secure, product
Collected, curated and written by: Yoni Goldberg, Bruno Scheufler, Kevyn Bruyere and Kyle Martin Welcome to our comprehensive list of Docker best practices that are exemplified under the realm of Node.js. Note that each and every bullet has a link to detailed information and code examples. The entire list can be found in our repository Node.js Best Practices. It covers the basics but goes all the
Introduction to Dockerizing for Production Improve your DevOps skills: learn an iterative process for Dockerizing your code. Get your free ebook Using Alpine can make Python Docker builds 50× slower by Itamar Turner-Trauring Last updated 21 Mar 2023, originally created 29 Jan 2020 When you’re choosing a base image for your Docker image, Alpine Linux is often recommended. Using Alpine, you’re told,
前回はプロセスに設定されているケーパビリティと、ファイルにあらかじめ設定しておくファイルケーパビリティについて説明しました。 今回はまず、execve(2) システムコールを使ってプログラムを実行する際にケーパビリティがどのように変化するのかを説明したあと、Ambientケーパビリティとケーパビリティバウンディングセットについて説明します。 プログラム実行時のケーパビリティ Linux上で実行されるプログラムは、fork(2)やclone(2)システムコールを使って親プロセスを複製して生成し、複製したあとにexecve(2)システムコールで目的のプログラムを実行します。 このexecve(2)でプログラムを実行する際に、カーネルは実行後のプロセスが持つケーパビリティを計算します。このときの計算は次のアルゴリズムが使われます。 P'(ambient) = (file is privilege
CloudNative Days Tokyo 2019 / OpenStack Days Tokyo 2019 そのうちアップされるかもしれませんが公式の発表資料まとめが見当たらなかったのでTwitterなどから拾ってきました。 一部セッションでタイムテーブルとスライドでタイトルが異なっている場合がありますがタイムテーブルのタイトルで記載しています。 「後日アップロードします」って人もいたので見つけ次第更新します。 1日目 【Keynote】Opening Act 【Keynote】Collaboration Without Boundaries 【Keynote】Performing Infrastructure Migrations at Scale 【Keynote】The 10 new rules of open source infrastructure 【Keynote】Dem
Kubernetes撤退、 その後のはてなの取り組み / kubernetes meetup tokyo number 52
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く