4月に出版された「分散システムデザインパターン」を読んだ.サブタイトルに「コンテナを使ったスケーラブルなサービスの設計」とある通り,コンテナを設計/運用するときに,どのようなデザインパターンを知っておくと良いのか?という点を学べる内容になっている.関連情報と合わせて書評を書きたいと思う.なお,今回は貴重な機会を頂き,本書の出版レビューに参加することができた.オライリー本に自分の名前が載っている!という喜びもある. 分散システムデザインパターン ―コンテナを使ったスケーラブルなサービスの設計 作者: Brendan Burns,松浦隼人出版社/メーカー: オライリージャパン発売日: 2019/04/20メディア: 単行本(ソフトカバー)この商品を含むブログを見る 目次 1章 : はじめに 第 I 部 : シングルノードパターン 2章 : サイドカー 3章 : アンバサダ 4章 : アダプタ
今押さえておくべき知識をアップデートし、ノウハウを共有し、さらなるスキルアップを実現する場として開催されている、AWS で最も Developer に特化したカンファレンス「AWS Dev Day Online Japan」。ここでSr. Product Developer Advocate, Elastic Containersの原氏が登壇。まずは、コンテナワークロード超入門として、コンテナのデプロイ時とクラッシュ時に起こることを紹介します。全3回。 自己紹介 原トリ氏:オーナーシップの塊、トリです。本日はタイトルにあるとおり、アプリケーション開発者はAmazon ECSあるいはKubernetesといったコンテナオーケストレータのことを、どこまで知るべきかについて話します。もともと「どこまで知ればいいのか」というタイトルでしたが、思いが強すぎて「知るべきか」に変わりました。 あらためて
Prometheusはクラウド上のシステムに代表される、監視対象となるサーバが増減するような動的な分散環境システムに適した監視ツールとして開発された。2.0では時系列データベースが改善され、性能向上などを実現している。 Prometheusはアプリケーションやコンテナ、Kubernetesのようなオーケストレーションツール、OS、サーバ、ネットワークなど、システムを構成するさまざまな要素を監視対象とすることができ、メトリクスとしてCPUの負荷やメモリ、ストレージの利用率、HTTPのレイテンシなど任意の値を取得、監視できる統合監視ツールです。 状況をグラフで表示しつつ、異常を検知するとアラートを発するなど、システム監視を統合的に行うことができます。さらにリッチなビジュアライズについては「Grafana」などの外部ツールと連携可能。 Prometheusは、Dockerコンテナのオーケストレー
This shop will be powered by Are you the store owner? Log in here
最近では「マイクロサービス」と呼ばれる、機能毎に細かくサービスを分割して開発や運用を行うアーキテクチャの採用例が増えている。本記事ではこのマイクロサービスアーキテクチャや、それに使われる技術について紹介する。 マイクロサービスとは 近年、ITシステムの開発・運用において「Microservice(マイクロサービス)」というアーキテクチャを採用する例が増えている。マイクロサービスアーキテクチャは、簡単に言えばサービスを構成する各要素を「マイクロサービス」と呼ばれる独立した小さなコンポーネントとして実装するという手法で、2011年ごろから提唱されているものだ。 マイクロサービスについては、2014年に公開された「Microservices」という文書が有名だ(有志による日本語訳)。また、さくらのナレッジでも2015年に紹介されている。マイクロサービスの詳しい思想についてはこれら記事を参照してほ
Brendan Burns, David Oppenheimerらの論文「Design patterns for container-based distributed systems」を読んで、コンテナを活用したシステム設計や開発に、とても有用と感じたので、図を中心にした要約にしてみた。 要約内容に誤りや理解不足な部分もあると思うので、原文も参照していただきたい。また、自身の理解のために、論文中に無い図を加えた点、独自の注釈も加えている。 背景 コンテナ化されたソフトウェアコンポーネントから構築されたマイクロサービスアーキテクチャの人気が高まり、分散システム開発においても同様の革命が起っている。 コンテナの境界の壁は、分散システムの基本的なオブジェクトの境界に適している。そこで、コンテナを活用して、コードの低レベルの詳細を抽象化し、アプリケーションやアルゴリズムに共通する高レベルのパター
API Gateway (REST API) では、開発やトラシューに役立つ実行ログ (Execution Logs) を出力することができます。 AWS サポートに問い合わせる際にも、この実行ログがあるとスムーズです。 実行ログは、ステージから設定できます。 設定後、API Gateway にリクエストを投げると、CloudWatch Logs に出力されます。 ロググループ名は、API-Gateway-Execution-Logs_<API ID>/<ステージ名> です。 こちらの実行ログの内容を解説していきます。 リクエスト/レスポンス API Gateway に Postman から以下のようにリクエストを投げます。 パスパラメータ groupId=111、クエリパラメータ userId=222、本文に name=hoge を指定しています。 API Gateway はこのリクエス
本記事は通信業界アドベントカレンダー Advent Calendar 2021の20日目の記事です。 はじめに 通信業界ではNFVをはじめとして、ネットワーク仮想化の検討が行われています。最近では要素技術にコンテナも加わり、DockerやKubernetesを使う機会も出てきました。ネットワーク仮想化を進めてきた背景からすると、業界内では当然の流れだと思いますが、通信業界以外の方に「Kubernetesを触っています」と話すと驚かれるので、自分の勉強もかねて通信業界の仮想化とKubernetes の活用までの流れを簡単にまとめてみました。 ネットワーク仮想化の歴史 VLAN 1990年代に登場したネットワーク仮想化の先駆けの技術 物理スイッチを複数の論理的なスイッチに分割して利用 設定変更のしにくさや障害発生時の切り替えに時間がかかるなどの課題 SDN: Software Defined
Azure にシステム導入・移行するお客様に日頃ご支援をさせていただいているのですが、多くのお客様やエンジニアの皆様から、たびたび似たようなご質問を頂くので、その内容をここに紹介したいと思います。(実際、今日もとあるお客様で下記のご相談を頂いたので) ご質問: お客様からたびたび頂くご質問の例 このシステムを Kubernetes (AKS) 上で構築するのは正しいですか? とあるコンサルから Kubernetes を導入しないと会社の未来はないと言われたのですが、本当ですか? 今、Azure Web App for Container か AKS (Kubernetes) の何れかの選択で悩んでいるのですが、どちらが良いですか? 今、このような Kubernetes(AKS) のシステム構成を考えているのですが、正しいですか? 質問の背景: これらのご質問は、メッセージは異なるのですが基
NTT Tech Conference 2022 での「Dockerからcontainerdへの移行」の発表資料です https://ntt-techconf.connpass.com/event/241061/ 訂正: P2. . 誤: ``` Ship docker run -it --rm alpine Run docker push ghcr.io/ktock/myalpine:latest ``` 正: ``` Ship docker push ghcr.io/ktock/myalpine:latest Run docker run -it --rm alpine ``` Read less
これはWebスクレイピング Advent Calendar 2017の7日目の記事です。こんな感じでAWS FargateとAWS Lambdaを使ってサーバーレス(EC2レス)なクローラーを作ります。 この記事はFargateでのクローリング処理にフォーカスしており、クロールしたHTMLをS3に保存するところまでを主に解説します。Lambdaの方はおまけ程度の扱いで、スクレイピングしたデータの扱い(データベースへの格納など)はスコープ外です。 長くなったので目次です。 背景 AWS Fargateの登場 クローラーの構成 やってみる 1. ScrapyのプロジェクトでSpiderを作る 2. Scrapy S3 Pipelineをインストールする 3. Scrapy S3 Pipelineをプロジェクトに追加する 4. ScrapyのプロジェクトをDockerizeする 5. Amazo
Docker社、WSL 2に最適化した「Docker Desktop for WSL 2」来月リリース。Windows 10でLinux版Dockerを実現、Kubernetesも1クリックでセットアップ Docker社は、WSL 2に最適化した「Docker Desktop for WSL 2」テクニカルプレビューを来月公開する予定であることを明らかにしました。 The Future of #Docker Desktop for #Windows https://t.co/3xNkXc2aoY via @sferquel pic.twitter.com/HKsMraXJKH — Docker (@Docker) 2019年6月17日 WSL 2は、Windows 10上でLinux環境を実現する「Windows Subsystem for Linux(WSL)」の次期版。Windows
Kubernetesはさまざまな環境で利用され、かつ不特定多数がクラスタにアクセスできることを前提に構築されており、そのため非常に柔軟なユーザー認証機構やユーザーの権限を管理する機能が組み込まれている。本記事ではこれらの認証や権限確認機構がどのように働くのかや、その仕組みについて解説する。 Kubernetesにおける認証の必要性 Kubernetesはさまざまな企業・組織が参加するオープンな組織「Cloud Native Computing Foundation(CNCF)」によって開発が進められているが、元々はGoogleによってその開発がスタートしたプロジェクトであり、同社の持つコンテナクラスタ管理技術を元にしている。そのため、Kubernetesは当初から不特定多数がアクセスできるパブリッククラウドでの利用が想定されており、そういった環境でもセキュアかつ柔軟に利用できるよう設計され
tl;dr 手作業で構築した AWS リソースの管理には以前から気になっていた awspec が良いと思ったのでメモ。 二台、三台のインスタンスなら...とうっかりと手作業で構築したインスタンスや、どんな設定で作ったか判らないけど、なんとなく利用されている S3 Bucket の管理をどうしようかなと思っていたら awspec の generate コマンドがリソース情報を生成してくれるので試してみた。 参考 github.com qiita.com memo インストール $ cat Gemfile source "https://rubygems.org" gem 'awspec' gem 'rake' $ bundle 初期化 $ bundle exec awspec init + spec/ + spec/spec_helper.rb + Rakefile + spec/.giti
Rancher Labsは、Kubernetesの標準機能を保ちつつ徹底的にスリムダウンし、わずか40MBのシングルバイナリに納めたKubernetesの新しいディストリビューション「k3s」をオープンソースで公開しました。 k3sはシングルバイナリの中に、Kubernetesクラスタの実行に必要なものはすべて組み込んでいると、次のように紹介されています。 k3s is packaged as a single binary which is about 40 megabytes in size. Bundled in that single binary is everything needed to run Kubernetes, including the container runtime and any important host utilities like iptables
ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。ついでにECS on Fargateの勉強をしています。使ってみたい方は参考にしてください。 こんにちは、臼田です。 みなさん、業務の自動化してますか?(挨拶 今回は少し前に話題になったワークフロー自動化OSSのn8nを触ってみたいと思います。 n8n IFTTTやZapierのようなサービスを自前で構築して使用できるオープンソースn8n このツールはnpmでインストールして使うことが出来ますが、dockerイメージも用意されていたのでECS on Fargateでやってみたいなーと思ったのでやってみます。ちなみに私はECS初心者です。なのでついでにECSやFargateを初めて触る人でも最低限同じように環境構築できるように意識してまとめてみます。 n8nとは n8nについてもう少し説明しま
こんにちは。HRBrainでインフラエンジニアをしている間野(@mano_0307)です。 今年の5月にインフラエンジニアとして入社しました。Kubernetesを使っている弊社で、Kubernetesをまったく触ったことのない私のような人間がインフラエンジニアになれるというのが弊社の素晴らしいところです。合言葉は「トライドリブン」。日々トライができる素晴らしい環境です。 Dev環境という各社共通の悩み 多くの会社で何かと困っているのがdev環境なのではないかと思います。 dev環境今日も空いてないよ・・・フルリモートでどうせバレないし、寝ちゃお あれ?久々に使ったdev5環境がうまく動かないよ。・・・(数時間後)あー、最新のmasterがrebaseされてないからAPIのinterface変わってんじゃん!うわー寝よ・・・ そろそろdev環境増やしたいな・・・でも、あの設定も複製しなきゃ
AWSは、AWSのさまざまなサービスからのメッセージをSlackもしくはAWS Chimeへ通知してくれる「AWS Chatbot」をベータ版として発表しました。 具体的には以下のサービスからのメッセージを扱うことができます。 Amazon CloudWatch AWS Health AWS Budgets AWS Security Hub Amazon GuardDuty AWS CloudFormation AWS Chatbotはこれらから送られてきたメッセージをAmzon SNS経由で受け取り、SlackもしくはAmazon Chimeへ通知します。AWS Chatbotを利用するための追加料金などは発生しません。 ITシステムの開発や運用の現場では、Slackのようなチャットサービスを人間同士のコミュニケーションに使うだけでなく、ビルドやデプロイなどシステムに対する操作や、その結
1) Mercari has transitioned some services to microservices architecture running on Kubernetes in the US region to improve development velocity. 2) Key challenges in operating microservices include deployment automation using Spinnaker, and observability of distributed systems through request tracing, logging, and metrics. 3) The architecture is still evolving with discussions on service mesh and c
グーグルがオープンソースの世界に戻ってきた、それも大々的に。このところファイアーウォールの外に会社の発明を公開するケースが増加中だが、グーグルはさらに大きな一歩を踏み出した。 6月、グーグルが、Linuxアプリケーション・コンテナ管理ツールである「Kubernetes」プロジェクトをオープンソース化して、大ニュースになった。(このコンテナというのは、一種のソフトウェア「ラッパー」で、任意のプログラムをどんなコンピューター上でも、面倒なカスタム化の必要もなく動作させる事ができるものだ)要するに、グーグルは、オープンソース・コミュニティに自社内部用ツールを手本にしたアプリケーション・アーキテクチャを提供したのだ。ちなみにKubernetesはギリシャ語の直訳で「船の操舵手」を意味する。 クレイグ・マクラッキーグーグルは、単独で自社コードを公開したのではない。マイクロソフト、Red Hat、IB
はじめに 2018 年 10 月に Cloud Native Buildpacks は Cloud Native Computing Foundation (CNCF)に Sandbox として受け入れられました。 CNCF には Kubernetes, Prometheus, Envoy, Fluentd など有名プロジェクトも多く受け入れられています。 Buildpacks を使うことで、Dockerfile を書かなくても Docker イメージを作成できます。 また、作成されるイメージはかなり軽量でした。 buildpacks.io 試してみた 今回は、以下のリポジトリの Java アプリケーションの Docker イメージを作成します。 github.com インストール # Mac $ brew install buildpacks/tap/pack # Linux $ wge
こんにちは、入社 3 年目の SRE の id:kizkoh です。 今年から別のチームに異動になったのですが、以前は Mackerel チームで仕事をしていました。 このエントリでご紹介するのは私が以前担当していた Mackerel での Kubernetes(k8s) クラスタ利用の取組みになります。 はじめに 入社してから約 2 年間 Mackerel チームでサービス運用開発の仕事をしていました。直近のトピックでは 2 月に公開された Mackerel コンテナエージェントの開発、検証のお手伝いとして k8s クラスタでの検証や Mackerel のシステムのコンテナ運用として k8s クラスタ基盤の設計構築に取り組んでいました。 昨年 2018 年は国内で Japan Container Days (今年からは CloudNative Days です)が開催され k8s のトピッ
Kubernetesに特化した軽量なLinux「k3OS」。Kubernetesが自動起動、Kubernetesクラスタ構成も自動で。Rancher Labsが公開 Rancher LabsはKubernetesの実行に特化し、あらかじめKubernetesを組み込んだ軽量なLinuxディストリビューション「k3OS」の公開を発表しました(発表は4月24日)。 Rancher Labsは今年3月、Kubernetesの軽量なディストリビューションである「k3s」をリリースしています。今回発表された「k3OS」は、このk3sの最適な実行環境として開発されたもので、k3sも含まれています。 「Announcing k3OS: A Kubernetes Operating System」から、k3OSの説明を引用します。 K3OS is a Linux distro built for the
Product { this.openCategory = category; const productMenu = document.querySelector('.product-menu'); window.DD_RUM.onReady(function() { if (productMenu.classList.contains('show')) { window.DD_RUM.addAction(`Product Category ${category} Hover`) } }) }, 160); }, clearCategory() { clearTimeout(this.timeoutID); } }" x-init=" const menu = document.querySelector('.product-menu'); var observer = new Muta
Kubernetesを統合したDockerがついにリリース。Docker for Mac with Kubernetesのベータ版が公開 Docker社は、Kubernetesを統合したmacOS向けのDockerをベータ版として公開したことを明らかにしました。Community Editionで公開されているため、誰でも無料で利用できます。 Announcing #Docker for Mac with #Kubernetes - available with the latest Edge release for #Mac. https://t.co/o1vR5FNjgj pic.twitter.com/JLtc23ssQB — Docker (@Docker) 2018年1月10日 Docker社は昨年、2017年10月にDockerとコンテナオーケストレーションツールのKubern
概要 Dockerの本番環境で秘密情報を使う際に、環境変数を使うことは推奨されてません。 秘密情報を扱うには、コンテナオーケストレーションのsecret supportを使うことが推奨されてます。 Docker Composeには秘密情報を扱うために、secretsがあります。(Docker ComposeのsecretsはDocker Swarmと併用することが前提の機能です) 環境変数で秘密情報を扱う時の問題点 秘密情報を扱う時に、よくある方法として、環境変数を使う方法があります。 (この記事において、秘密情報とはパスワード、APIキーを想定します。) しかし、Dockerのドキュメントhttps://docs.docker.com/get-started/07_multi_container/ には While using env vars to set connection set
スマートキャンプ、エンジニアの入山です。 弊社で技術的挑戦の意味も込めて始めたKubernetes(k8s)も、小規模ながら運用を開始して1年以上が経ちました! 現在では、k8sでのインフラを採用したプロダクトが無事に本番リリースを迎え、ユーザーが本番稼働を行うまでになっており、躓きながらも少しずつ運用知見が溜まってきています。 今回は、k8sを実際に運用してわかった3つの知見を紹介したいと思います! PodのNode配置が偏る 解決策 ローリングアップデート時にダウンタイムが発生する 解決策 Pod削除時にコンテナによってプロセスが終了するタイミングが異なる 解決策 最後に PodのNode配置が偏る k8sではPodを新規作成する場合に、kube-schedulerが各ノードのリソース使用状況等から判断した最適なNodeへスケジューリング(配置)を行います。 しかし、このスケジューリン
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング統括本部の川口です。 本記事では、2022年2月から3月にかけて開催された超PayPay祭の事例をもとに、クラウドネイティブ環境におけるJavaチューニングの進め方について解説します。 本記事の内容は2022年6月19日に開催された、JJUG 2022 Springで発表した内容をベースにしています。 Yahoo!ショッピングにおける超PayPay祭は高負荷 超PayPay祭は全国のPayPay加盟店とオンラインショップでお得に買い物をお楽しみいただける大規模キャンペーンです。Yahoo!ショッピングにおいても、PayPayポイントがもらえるキャンペーンなどさまざまなお得な施策が実施されます。超PayPay
Amazon ECS(以下ECS)とFargateを用いて、今までEC2で運用されていたサービスをコンテナ化してECS上で稼働させるプロジェクトをしました。 特に、Fargateは2018年7月3日にTokyoリージョンで使えるようになったばかりなので、情報がまだまだ少なく手探りの状況でした。 Posted On: Jul 3, 2018 AWS Fargate is now available in Asia Pacific (Tokyo) region. https://aws.amazon.com/about-aws/whats-new/2018/07/aws-fargate-now-available-in-tokyo-region/ ECS/Fargateで実現したアーキテクチャ・デプロイ方法の全容とその実装方法を記していきます。以下のスライドにもまとめているのでぜひご覧ください
システムの構成を社内で共有したり外部に説明したりする際に、システム構成図を作成した経験のあるエンジニアは多いはず。ダイアグラム作成ソフト「Diagrams」を使うと、AnsibleやSubiquityといった「Infrastructure as Code(IaC)」に関連するサービスのように、プログラミング言語のPythonでコードを書くことで、クラウドやオンプレミスの構成図を描くことができます。 Diagrams · Diagram as Code https://diagrams.mingrammer.com/ まずはDiagramsの動作に必要なパッケージをインストールします。今回Diagramsのインストールに利用するのはUbuntu 18.04です。 sudo apt install -y python3 python3-pip graphviz 続いてDiagramsをインスト
クラウドネイティブを推進する約500団体が参画する CNCF (Cloud Native Computing Foundation)に、クラウドネイティブの定義が公開されている。これは、IT業界で働く者の基礎知識であると言えるので、クラウドネイティブの定義を詳細に調べた結果を以下にまとめる。 CNCFとは CNCFは2015年7月に発表され、約50社が集まり2016年1月に正式発足した。最初の発表から4年後2019年11月のメンバーは約500団体で、大手クラウド事業者、ミドルウェア企業、ハードウェア製造企業、オープンソース・ソフトウェア企業、大学、その他非営利団体などが加入している。 CNCFは、The Linux Foundationの下で運営され、クラウドとコンテナに関連する横並びの活動として、Cloud Foundry Foundation、Xen Project, Open Con
WEBアプリ WEBフレームワークはEchoを利用します。views/index.htmlと、assets/images/orora24O.jpgを読み込んでEC2ローカルに保存した画像を表示するだけページを作成しました。このアプリケーションをEC2インスタンスで実行しWEBサーバとして起動します。 手元でビルドしてEC2へ必要なファイルをコピーする計画です。ディレクトリ構成は以下です。 $ tree . ├── assets │ └── images │ └── orora240.jpg ├── go.mod ├── go.sum ├── main.go └── views └── index.html package main import ( "io" "net/http" "text/template" "github.com/labstack/echo/v4" "gith
YouTube史上初めて「総視聴回数1兆回」を達成したゲームとして記録されるなど世界的に人気を博しているゲーム「マインクラフト」を、コンテナオーケストレーションシステムの「Kubernetes」の管理ツールとして利用できるようにした人物が登場しました。 Minecraft as a k8s admin tool. KubeCraftAdmin : The adventurer’s admin… | by Eric Jadi | Medium https://eric-jadi.medium.com/minecraft-as-a-k8s-admin-tool-cf16f890de42 マインクラフトをKubernetesの管理ツール「KuberCraftAdmin」として仕上げたのはプログラマーのエリック・ジャディ氏。ジャディ氏は管理ツールが動作している様子を以下の動画で公開しています。 K
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く