はじめにSHIFT DAAE の shinagawa です。表題の通りNode.jsで作成したコンテナのイメージサイズの軽量化に挑戦しました。 背景近年の多様化・高速化するビジネスに対応するITシステムの構築を実現する「クラウドネイティブ」の構成要素の一つとして 「コンテナ」という仮想化技術が存在し、当部門でも活用を進めております。 このコンテナイメージを作成するにはアプリケーションコードやライブラリ・モジュールなどの依存物、ランタイム等を1つのイメージとして組み立てて作成しますが、 この構成要素が増えるとイメージサイズが肥大化し保管時のストレージのコストの増加やイメージの転送、環境への展開に時間がかかることになります。 従ってイメージのサイズを削減することは、これらの点を改善することにつながります。 ここではネット上で紹介されている、あらゆる打ち手を組み合わせてコンテナイメージの軽量化に
今押さえておくべき知識をアップデートし、ノウハウを共有し、さらなるスキルアップを実現する場として開催されている、AWS で最も Developer に特化したカンファレンス「AWS Dev Day Online Japan」。ここでSr. Product Developer Advocate, Elastic Containersの原氏が登壇。続いて、運用性に優れたソフトウェアが重要な理由と、運用性を損なう8つの実装例について紹介します。前回はこちらから。 Youbuildit, you runit 原トリ氏:(スライドの「Youbuildit, you runit」を指して)この言葉、聞いたこと、見たことがある方がいるかもしれません。これは、2006年にACM(Association for ComputingMachinery)という団体が、AmazonAWSのCTOで
フロントエンドのパフォーマンス計測は得意なのだが、サーバーサイド node.js のメトリクスの取り方はあまり知らなくて、いつも勘でやりがちだった。最近は業務でこの周辺で困ることが増えたので、勉強しなおした。 また、最近使ってみたかったcloudflare workers の制限で、メモリ 128MB、CPU 時間 50ms という制約があり、このためにも Node.js のCPU のメトリクスを計測できるようになっておく必要があった。 という目的を踏まえて、今回は OS やデータベースの最適化は扱わず、ネットワークとアプリケーション層だけに絞って学習した。あと仕事のDocker イメージのサイズにも悩んでたので、ここも。 (あと ISUCON 参加者が楽しそうだったのもある。 ISUCON のチューニング対象にフロントエンドは含まれないので…) 計測対象 今回実験したリポジトリはこ
データ分析や可視化に伴う複雑なジョブフローの改善にはdigdagが便利です。 少しずつ採用事例も増えているようです。 qiita.com 今回は、そんな便利なdigdagをECS上に構築しました。 *1 事前知識 digdagに関する基本的な知識は、以前のエントリを参考にしてください。 yukiyan.hatenablog.jp コード サンプル用にコードを公開しました。github.com digdagをDockerizeし、設定ファイル(digファイル)も一緒に固めてECRにpushしています。 つまり、digdagの最新の設定ファイルは常にECRにある状態です。 digdagの設定ファイルを変更したブランチがmasterにマージされると、shippableがdockerbuild・digdag check・docker push・ECSに関する処理をおこない、古いdigdagコン
AWS Startup ブログ スタートアップのためのコンテナ入門 – 導入編 こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 今回はコンテナのお話です。今日、多くのスタートアップのお客様が本番環境でコンテナを採用し、ビジネスに活かしております。その一方で、「そろそろコンテナやった方がいいか?」「なんとなく使い始めたけれどこれでいいのか?」「コンテナ自体は分かったけど、サービスでの利用に踏み切れていない」といったご相談も数多く頂いております。本記事ではコンテナ技術のサービス利用を検討されている方向けに、AWS 上でどうコンテナ化を進めていけばいいのかをお話致します。 目次 コンテナとは コンテナオーケストレーション コンテナ利用時・検討時によくある誤解 コンテナへの移行ステップ コンテナとは まずはじめに改めてコンテナ技術についての復習です。
こんにちは。po3rinです。今回はDocker Meetup Tokyo #29 (Docker Bday #6)で少し話題になった小ネタです。タイトル通りDockerfile1つでGoの開発環境(ホットリロード)と本番環境(マルチステージビルド)を記述する方法を紹介します。今回は「この方法をおすすめします!」というよりかは「こういう方法もあるよー」という紹介なので、開発の状況に合わせて方法を選んでいくと良いでしょう。 イントロ 開発環境用と本番環境でイメージビルド過程を分けるモチベーションとしては、開発環境用はホットリロードしたいけど、本番はビルドしたバイナリだけを使いたいという思いなどがあります。 これらを2つのDockerfileに分ける場合、同じディレクトリ階層に「Dockerfile」という名前のファイルを2つ置けません。これに関して、下記の記事のようにdockerbuild
2017年にもうコンテナの未来・一つのカタチはもう確定したと言え、今更感があるものの、改めてDockerとコンテナについて。 今更こんなことを書くのは、情報が溢れてくる今こそ、正しく理解し、正しい順序で学習することが重要だと切に思うから。 内容についてのお断り How Toはかきません あくまでも2018年時点の私見 目新しい情報はない、2016年頃に書けたレベルDockerをこう使えとか、こうするのがいいとかの話ではなく、コンテナとDockerに関して大きな視点で現時点で私の考えを書きます。また、私自身はかなりのコンテナ推進派です。Dockerをよくわかっている人には意味のない記事となります。 コンテナ(Docker)のメリット 何故コンテナがいいのか、コンテナをある程度の学習コストを払ってでもやる理由 コンテナとDocker コンテナ技術はDockerが生まれる前から存在する技術で
Kubernetes のない世界 セクションナイン吉田さんからお声がけいただき、2人で Japan Container Days v18.04 にて『Kubernetesのない世界 -すべてがサーバーレスになる-』というタイトルで発表してきました. 我ながら賛否両論な良タイトルを生み出したと満足しています. 当日の発表が漫談になってしまったのは楽しかったので良いとして、吉田さんと僕ではこのテーマにおける考え方が異なります. そこであらためて僕の考えを脳内整理も兼ねて書いたのがこの記事です. 基本的には僕の妄想ポエムなので、そういうのが苦手な方はそっとタブを閉じると良さそうです. スライド 結論 すべてが「サーバーレス」になる日はいつか来る そのためには FaaS とDocker に代表されるコンテナ技術の間にもう一つ何かが必要 なぜそう思うのか、以下ポエムです. コンピューティングリソー
できる限りプロダクションのクラスタ設定をそのままローカルの開発にも使いたいなー、と思って色々と試行錯誤して、ようやく形になってきたので書いておく。 なぜローカルでkubernetesを動かしたいのか 最近ではInfrastructure as Code、Immutable Infrastructureの考え方と共に、コンテナの上でアプリケーションの環境の構築、運用、開発をすることが増えてきた。 少し前までは、Dockerでローカルの開発環境の構築は楽になったけど、本番にデプロイするのにはハードルがある印象が個人的にはあった。だけど、kubernetesの登場によってそのハードルは大きく下がった。 最近はマイクロサービスアーキテクチャへの注目と共に、様々なコンテナが協調してサービスを形作る構成が増えてきたように思う。kubernetesはこの全てのコンテナを管理する。kubernetesは
2018年3月23日から24日にかけて、レバレジーズ株式会社が主催する国内最大級のエンジニア向け技術イベント「MANABIYA -teratail Developer Days-」が開催されました。同社が運営するITエンジニア向けのQ&Aフォーラム「teratail」の中で解決できない問題を解くため、一流エンジニアたちが一同に会して、プレゼンテーションやパネルディスカッションを行いました。トークセッション「分散処理とコンテナ化インフラの面白い関係」では、Treasure Dataの田籠聡氏が登場。コンテナや分散処理が用いられるモダンシステムの潮流と、その問題点を語ります。 分散処理とコンテナ化インフラの面白い関係 田籠聡氏(以下、田籠):よろしくお願いします。本日は、ぼくが最近やっている分散システムと、コンテナ化されたシステムのことを含めて話します。英語で言うとContainerized
Kubernetesは、コンテナアプリケーションをデプロイするためのオーケストレーションツールです。Kuberenetesは分散環境におけるスケーラブルなコンテナ実行環境をつくるための、さまざまな機能が提供されています。 もともとはGoogleが開発したBorgをもとにOSS化したものですが、今日ではマイクロソフトやRedHatも積極的に開発に加わり、非常に早いスピートで機能拡張していて、追いかけるのも大変です。Kubernetesの大きな特徴は宣言的設定にあります。 この宣言的設定とは、イミュータブルなインフラを作るための基本的な考え方で、「システムのあるべき姿」を設定ファイルにて宣言する!という考え方です。Kubernetesは設定ファイルに書いたとおりのインフラを維持するように設計されています。Kubernetesはコンテナを「Pod」という単位で管理します。このPodをKube
The easy way to save screenshots, GIFs, and websites. Make everyone happy by sharing smarter, faster, and with your… 単純にスクリーンショットを保存するだけなら OS の機能だけでも十分ですが、GIF 動画を保存できたり、いつどこでどんなアプリケーションを利用しているときに撮影したのか、あるいは画面にどんな文字が写っているかといった情報を元に検索できたり、保存した画像をコレクションという単位でまとめて共有できたりと、Gyazo を使って保存しておくと意外と便利なことが多く、個人的にも重宝しているサービスの1つです。 我々が開発環境でDocker を使うメリットGyazo のサーバサイドの実装には、プログラミング言語の観点で見るとRuby、Go、JavaScript などが
本稿は良いDockerイメージを良い方法でビルドすることを探求した記録である。 Supership株式会社 Advent Calendar 2016の21日目にあたる。 2019年現在は@inductor氏の改訂版を見たほうが良い。 この記事で論じた望ましいコンテナイメージの姿は2019年でも変わらない。ただし、multi-stagebuildのような新しい仕組みが普及したりツールの評価が定まってきたりと、実現に用いるツールの状況が2016年からやや変化している。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメ
最近業務で Fluentd を触ることが出てきて入門したんですが、最初のうちはトラブルが起きた時に何が起きているのか、どう対処したら良いのかがさっぱりわからなかったので、「Fluentd ってログの収集とかに使われるやつでしょ?」程度の知識しかなかった過去の自分に向けて「とりあえずこれぐらいは知っておけ!」と言いたい内容をまとめてみました。 トラブルが起きた時にどの処理で問題が起きているのか素早くコードを追うことができて、データの消失を最小限に抑えつつ適切に対処できるようになることを目的としています。 なお、現時点で最新版の Fluentd v0.14.21 を対象にしています。 アジェンダ Getting Started Fluentd のアーキテクチャ Processes Supervisor process Worker process Threads Input thread En
This document provides a high-level overview ofKubernetes in under 30 minutes.It begins with basic concepts like nodes, pods, replica sets, deployments, and services.It then covers additional concepts like secrets, configmaps,ingress, daemon sets, pet sets/stateful sets and services. The documentaims to explain the main components ofKubernetes and how they work together at a high level to d
この記事はリクルートライフスタイル Advent Calendar 2016の10日目の記事です。 DEPRECATED! [2020/12/05追記] この記事内のコマンドは現在のバージョンの挙動と一部異なっていたり、説明に不正確な部分があります。 例えば公式のチュートリアルなど、信頼できる情報を参照ください。 https://kubernetes.io/ja/docs/tutorials/kubernetes-basics/ 2019/05/30追記 下記内容は若干の不正確を含みますので、軽く読み流して雰囲気を掴んでいただいたあとは https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d などご参照いただくとよいかと思います。 こんばんは 「sshするときの-p 443ってなんの数字ですか?」ぐらいの素人がインフラ周りを担当し8ヶ月、kub
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く