Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability
As someone makes more money, expenses once considered luxuries can suddenly become seen as necessities: It’s called lifestyle creep. In the world of software development, we can suffer from a similar affliction: stack creep. Where hardware limitations once restricted developers to a minimalist approach, increased processing power, memory, and storage have led many down a more maximalist path. It’s
こんにちは、ぐるなびのインフラを担当している飯田です。 私の所属するグループでは、ぐるなび全体のサイトインフラの構築や運用を行っています。 私自身は、新卒で入社して今年で四年目となります。現在は、ぐるなび全体の仮想基盤やコンテナ基盤の運用、IaCなどを主に担当しています 。 今回は、我々が開発し提供している社内システムをコンテナ化し、そこでどういう技術に取り組んでいるかという話をしたいと思います。 インフラが提供する社内システムとは ぐるなびでは、サーバの払い出しやミドルウェアの設定変更などが発生する度にインフラへ依頼し、それに対してインフラが対応するフローをとっています。 このフローだと間接工数が増え、サービスの開発スピードが遅くなるなどの課題がありました。 そのため、開発効率やスピードの向上のため一部のオペレーションに対してGUI化やAPI化を実施し、社内システムとして提供しています。
この記事は電通デジタルアドベントカレンダー2020の22日目の記事になります。前回の記事は「ADH APIを効率的に呼び出すために開発したHooksの紹介」でした。 改めましてこんにちは! Docker使ってますか? AWSでDockerを使おうと思うと以下の3つの選択肢があります。 ・Elastic Container Service ・Elastic Kubernetes Service ・EC2に構築する この中でもECSいいですよね、僕も好きです。運用に手間もかからなくて気軽に使えるところに好感もてます。さすがAWSのマネージドサービス。 ただし実際にECSで構築しようとすると周辺のリソースが色々と必要になるので初心者にとってハードルが高く見えるのも事実です。そんなわけで初心者にも使えるようなテンプレートを提供したいと思います。 このテンプレートでは最低限の機能しか提供しません。何
まだ機能的に足りないところもあるが、頑張ったら使える感覚だった。 githubにもfeedbackが送れる所があれば送ろうと思う。 circleciでやっていたことはざっくり書くと以下。 test系 golangのbuild/lint/test helm chartのlint helm templateで吐き出されたyamlのlint build系(only master) base imageのbuild & push k8s上で動かすprod imageのbuild & push deploy系(only master) GKE上にhelm secrets upgrade これをgithub actionsに移行した際にcircleciとの差分を感じた機能は以下。 slack通知 自分のリポジトリでは未実装、デフォルトは失敗するとメール通知が来る 未確認だが多分いろいろな人がbeta向
DockerやECR, ECS, Fargateなど、コンテナ周りのAWS知識を効率的にキャッチアップしたい人のためにAWSDockercontainerECSFargate 概要 私自身がコンテナや、コンテナ関連のAWSサービスについてはほぼ分からない状態だったのですが、そこからできる限り効率的に知識をキャッチアップしたくて学習したときの道のりです。 同じように困っていらっしゃる方のお役に立てばと思い、記事にしてみました。この道のりの通りに進んでいただければ、時間を無駄にすることなく、多少なりともスムーズに知識をキャッチアップできると思います。 主要な概念や全体像を理解するまでの道のり いきなり詳細に踏み込んでも、つまりいきなりFargateなどのAWSサービスを使っても、すぐに迷子になることは目に見えていましたので、まずは全体感や重要な概念、用語を理解しようと思いました。 そこで色々と
TLDR 開発体験が良くなると CI のコストも減る 不必要なジョブ実行を減らし、割れ窓を直すことから始めると良い Self-hosted runners ではクラウドコスト最適化の一般的なプラクティスも併用する GitHub Actions のコスト構造 GitHub-hosted runners GitHub が提供するインフラを利用する。一般的なクラウドより高めの料金設定になっている 1分単位で課金される。ジョブの実行時間が数秒間でも1分間で課金されるので注意 Public repository は無料、Private repository は従量課金になっている Organization 内で利用料金が合算されて翌月請求される。Organization Owner なら請求レポート (CSV) をダウンロードできる Self-hosted runners GitHub では課金され
これは何 Kubernetes クラスタ管理者とアプリケーション開発者が分業しているプロジェクトで,開発者が必ずしも Kubernetes に詳しくない場合を想定し,開発時に使いそうな kubectl のコマンドをまとめたものです。 クラスタ管理者から開発者にこのドキュメントを適宜改変して渡し,開発者がある程度自立して操作できるようになることで,管理者への問い合わせ負荷を減らすのが狙いです。 場合によってはハンズオンで講座を開いてもよいでしょう。 ドキュメント案 ここでは Amazon EKS でクラスタを構築する場合の例を示します。 別のインフラに構築している場合は適宜書き換えてください。 事前準備 インストール kubectl AWS CLI AWS 環境設定 AWS CLI からアカウントを操作できるような設定方法を書きましょう。 コンテキスト作成 操作する対象の Kubernete
こんにちはあんどう(@t_andou)です。 今回はKubernetesを使って並列処理させた記録です。 まだ「とりあえずそれっぽく動くまで試してみた」という段階で、kubernetesを理解できてはいないので自分用のメモを公開しているという認識でご覧ください。 間違っている部分や、よりスマートなやり方がありましたらご指摘いただけると幸いです。 この記事の概要 機械学習に使う特徴量の作成で1週間かかりそうな処理を10分くらいで終わらせられないかと考え、GKE(=GoogleのKubernetes環境)を使い試行錯誤した記録です。 今回は一部失敗して完了時間が1.5時間になったものの、設定を上手く出来れば15分程度で終わる見込みです。 対象読者 ・Kubernetesの概要は知っているくらいのレベルの人 ・KubernetesのJobを使った並列処理をしたい人 目次 この記事の概要 対象読者
ECS on Fargate は AWS のアプリケーション実行環境として近年定番の選択肢です。 そんな ECS on Fargate について、Infrastructure as Code や CI/CD などを含めて環境を整えようとすると、何かしらのツールが必要になります。 2020 年時点の情報としては AWS Dev Day Japan の「第2回 AWS Fargate かんたんデプロイ選手権」という資料があり、ECS on Fargate のデプロイツールを比較するうえでとても参考になるのですが、AWS のアップデートはとても早いです。 2022 年 12 月の時点で ECS on Fargate のデプロイツールをいくつか試してみたので、得られた知見をまとめておきます。 調査したツール 今回 ECS on Fargate のデプロイツールを調査した理由は、実際に ECS on
はじめに 世の中ではGrafana Weekということで、Raspberry Pi 5複数台をクラスタリングしてKubernetesを作成し、Grafanaを載せてみたいと思います。 というのは冗談ですが、最近趣味で安価に常駐プロセスをデプロイできるホスティング環境に悩んでいました。常駐しないなら最近はゼロコールドスタートなV8 Isolateを使ったCloudflare WorkersやDeno Deployが無料枠が大きくいい感じです。 一方常駐プロセスはHerokuの無料プランがなくなりました。AWS AppRunnerは起動時間を人間が稼働している時間のみに絞っても10$はかかります。fly.ioは、Legacy hobby planでCPU-1x 256mb VM 3つと3 GB 永続ボリュームストレージは無料で扱えます。fly.ioはCLIもよくできているので、軽い検証の場合こ
こんにちは。ABEJAのインフラ管理してる村主 @rwle1221 です。 本ブログは Datadog Advent Calendar 2019 の8日目です。 今日は ABEJA Platform というプロダクトで、なぜ Prometheus から Datadog に変えたのか。というお話したいと思います。 一人の方でも採用基準の参考になればと思います。 第一フェーズ:実は元々Datadogを使っていた 実は Prometheus の前は Datadog を使っていました。 なぜ Datadog を使っていたかというと、Za○bix や Na○ios などは古い思想なので使う気になれなかったという単純な理由です。 ただ、 Datadog は $18/host という値段で 当初は数十台だったので数万円ほど発生していました。やはり少し高いなという印象です。 第二フェーズ:Promethe
Programming Kubernetesの紹介 「Programming Kubernetes」はO’Reilly社から出版されているKuberntesのアーキテクチャやCustom Controllerの実装、Custom API Serverの実装などについて掘り下げている本です。 Kubernetesのハイレベルアーキテクチャに触れている本は、日本語でもいくつかありますが、ソースベースのローレベルアーキテクチャで触れている本は本書しかないのではないかと思います(私が知らないだけかもしれません)。 著者は元Red Hat → AWSのDeveloper AdvocateのMichael HausenblasさんとRed Hatのprincipal engineerのStefan Schimanskiさんです。 www.oreilly.com 2019/07/21に購入し、2019/
SOAは優れた原則に基づいており、その大半はまだ有効です。それは契約優先開発、疎結合、構成可能、ステートレスなサービスであり、自律的で再利用可能です。 ESBフレームワークは、プロトコル変換、テクノロジーコネクタ、ルーティングおよびオーケストレーションメカニズム、エラー処理、高可用性プリミティブなどの優れた機能セットを提供しました。 分散アーキテクチャの進歩 SOAとESBの主な問題は、アーキテクチャと組織の両方の観点からの集中化でした。SOAの重要な原則は、サービスとコンポーネントの再利用でした。これにより、再利用を可能にするが、緊密なアーキテクチャ上のサービスカップリングを引き起こす階層化サービスアーキテクチャが作成されました。組織的には、ESBは単一のチームによって所有されていました。それによって、ミドルウェアは、スケーラビリティの観点で、さらに重要なことに急速な進化の観点で技術的お
コンテナセキュリティについてなんとなく不安を感じている方に向けた、ドキュメントと無料ツールの紹介です! 「コンテナセキュリティってなんか必要そうやねんけど、実際なにすんの?」 先日、我らがDevelopers.IO Cafeにおいて、クリエーションライン株式会社 (CREATIONLINE, INC.)様と共催で、以下のイベントを開催しました。 あなたのコンテナ運用大丈夫?コンテナセキュリティの考え方と対応策 - connpass 全部で3セッションで構成されているのですが、私の方では、「コンテナセキュリティ関連OSSの紹介」と題して、コンテナセキュリティこれから検討始めようという方に向けて、そのとっかかりに有用なドキュメントと無料ツールを紹介させていただきました。 ドキュメントもツールもどれも有用なものなので、コンテナセキュリティについて不安や必要性を感じている人は、これらの中から実際に
CloudWatchだけでは実現できない超高速なFargateのスケール処理をCDKをつかったStep Functionsで実装しているリポジトリです。是非参考にしてみてください。 「Fargateをいかに早くスケールさせるか、そこに命をかけた男がいた…」 先日参加したセミナー(コンテナ好き4名がコンテナの魅力を喋り倒すJAWS-UGコンテナ支部に行ってきた)にそんな男がいたわけですが、その仕組を改めて動かす機会があったので、紹介します。 CloudWatchを利用しないStep Functionsを利用した爆速スケールの仕組み CDKによる環境一式のデプロイ という両面で非常に参考になるリポジトリです。そのあたり興味があるかたは是非一度この記事を読んでいただきながら皆さんの環境でためしていただきつつ、今後のStep Functionsの使い方やCDKのサンプルとして活用いただければと思い
こんにちは、Necoプロジェクトの池添(@zoetro)です。 今回は、安全なKubernetesクラスタを構築するために、我々がどのようなポリシーを適用しているのかを紹介したいと思います。 Kubernetesクラスタのセキュリティ対策 安全なKubernetesクラスタを構築するためには、非常にたくさんの項目について検討しなければなりません。 ざっと挙げてみただけでも以下のような項目があります。(詳細は Kubernetesの公式ガイド を参照) Role-Based Access Control (RBAC) ネットワークアクセスの制御(Network Policy) コンテナの権限(Pod Security Policy) 通信の暗号化 Secretの暗号化 信頼できるコンテナイメージの利用 安全なコンテナランタイムの利用 ユーザー/グループの管理 API ServerのAudit
GitLab、有償版の機能をオープンソースへ移植すると発表。カンバン表示やカナリーデプロイ、複数のKubenretesクラスタの使い分けなど18機能 ソースコード管理ツールのGitLabを提供するGitLab ,Incは、これまで有償版の製品に含まれていた18の機能を、オープンソースで開発されている無償版GitLabへ移植することを明らかにしました。 同社の共同創業者兼CEOのSid Sijbrandij氏がブログに投稿した記事「18 GitLab features are moving to open source | GitLab」で発表しました。 I'm really excited about the 18 GitLab features we're open sourcing today https://t.co/xRG9Dnkhnn It includes package su
ここで話すこと ここで話さないこと SRE/DevOps/Kubernetesをテーマにブログを書き始めた理由 気をつけていること オススメWebページ7選 The Blameless Blog Netflix Technology Blog Facebook Engineering Datadog blog The GitHub Blog Julia Evans The Kubernetes Podcast from Google ブログによる変化 反響 やってみて思ったこと 異動による変化(2020年4月) コミュニティー活動による変化 今後の目標&告知 これは エーピーコミュニケーションズ Advent Calendar 2020 の20日目の記事です。 自身の中で多くの変化があった2020年をふりかえりつつ、タイトルにあるテーマ(SRE/DevOps/Kubernetes)を追いか
はじめに こんにちは。ZOZO研究所のshikajiroです。主に研究所のバックエンド全般を担当しています。ZOZOでは2019年夏にAI技術を活用した「類似アイテム検索機能」をリリースしました。商品画像に似た別の商品を検索する機能で、 画像検索 と言った方が分かりやすいかもしれません。MLの開発にはChainer, CuPy, TensorFlow, GPU, TPU, Annoy、バックエンドの開発にはGCP, Kubernetes, Docker, Flask, Terraform, Airflowなど様々な技術を活用しています。今回は私が担当した「近似最近傍探索Indexを作るワークフロー」のお話です。 corp.zozo.com 目次 はじめに 目次 画像検索の全体像説明 Workflow Develop Application 推論APIの流れ 近似最近傍探索とAnnoy 近似
この記事の初出は、Software Design2022年3月号「設計方針から変えていく、モノリシックなアプリの過去と未来(最終回)」で、加筆修正されています。過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか - MonotaRO Tech Blog 第2回 Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog 第3回 Software Design連載 2021年10月号 スナップショットテストの可能性を追求する - MonotaRO Tech Blog 第4回 Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する - MonotaRO Te
社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 皆さんがdocker, kubernetesを使う環境にはhttp proxyがありますか? 多くのエンタープライズネットワークがそうであるように、IIJのオフィスでもProxyを通らないとInternetへアクセスすることはできません。今回はそんなProxy環境下でKubernetesを使う話です。 Proxyの存在がどれほど生産性を低下させていることか。多くのエンジニアが一度は思ったことがあるのではないでしょうか。昨今はリモートワークの機会が多く、VPNとの合わせ技で以前にも増してProxyに苦しめられる場面が増え
Repsona LLCの@GussieTechです。無料ガントチャート、無料カンバン、無料ドキュメント管理が便利な「理想のプロジェクト管理ツール」を作っています。 タスク管理ツール、情報共有ツール、便利ですね! これまでいろんな仕事で、いろんなツールを使ってきました。それぞれ、特に不自由もなく、乗り換えるほどのモチベーションもなく使い続けていたんですが、不満が全くなかったわけではありませんでした。 ・遅い ・ダサい ・わかりにく ・カンバンがない ・ガントチャートがない ・Wiki的なものがない ・なぜか仕事がうまく進まない ・SNSみたいな感じで、社員がもっと楽しくつながれたらおもしろそう ・スキルがレベルアップしてる様子とか、可視化されたらおもしろそう ・勝手に仕事してくれたりしないかな、AIとかで ・使ってたら無意識にPMBOKみたいになるように、レールが敷かれていると便利な気がする
[速報]マイクロソフト、「Azure Arc」発表。マルチクラウド基盤としてAWSやオンプレミスへもAzure DBをデプロイ可能、サーバやクラスタも統合管理。Ignite 2019 米フロリダ州オーランドで11月4日(日本時間11月5日未明)、マイクロソフトのイベント「Microsoft Ignite 2019」が開幕しました。 基調講演で同社CEOのサティア・ナデラ氏は、Microsoft Azureを中心とするマルチクラウドプラットフォーム「Azure Arc」を発表しました。 Azure Arcはおもに以下の3つの機能を提供することで、Azureと同じ体験をマルチクラウド環境においても提供すると説明されています。 Azure SQL DatabaseおよびAzure Database for PostgreSQL Hyperscale(シャーディングによるスケールアウト機能)をAW
以前の記事でも紹介した通り、一休では、gRPCを使ったサービスを導入し始めています。 user-first.ikyu.co.jp この記事では、このサービスをAmazon EKSで提供するための設計や気をつけたポイントについて紹介します。 背景 一休では、ウェブアプリケーションの実行環境としてAWS Elastic Beanstalkを採用しています。 そして、この4月からElastic BeanstalkをAmazon EKSへ移行するプロジェクトを進めています。 このgRPCサービスもElastic Beanstalkで運用をしていましたが、以下の問題を抱えていました。 適切にロードバランシングできない。 Elastic BeanstalkでgRPCサービスを運用しようとするとNetwork Load Balancer(NLB)を使うことになります。NLBはレイヤ4のロードバランサです
コンテナユーザなら誰もが使っているランタイム「runc」を俯瞰する[Container Runtime Meetup #1発表レポート] こんにちは、NTTの徳永です。本稿では、コンテナユーザなら誰もが使っていると言っても過言ではない、コンテナランタイムの筆頭「runc」に注目し、その概要を仕様と実装の両面から俯瞰します。本稿は私が主催者の一人として参加した「Container Runtime Meetup #1」で発表した内容をベースにしています。詳しい内容は発表資料もぜひご参照ください。 コンテナランタイムとはKubernetes等のコンテナオーケストレータを用いてアプリケーションをコンテナ(Pod)として実行するとき、実際にコンテナの作成をしているのは誰でしょうか。実はKubernetesはコンテナを直接触らず、あるソフトウェアを用います。まさにそれがコンテナランタイム(以降、ランタ
底なし沼のEKSやKubernetesを学ぶにあたって、そのよき道標となってくれるワークショップの紹介です。 30回ぐらいつぶやいてる気がするけれど、このWorkshopまじでええな。まじでええわ。 / 他3件のコメント https://t.co/iCPRKu7obr “Amazon EKS Workshop :: Amazon EKS Workshop” https://t.co/iJaJYaVVHf — 濱田孝治(ハマコー) (@hamako9999) June 1, 2019 ( ´・ω・`)_且~~ EKSWorkshopとは Amazon EKS Workshop :: Amazon EKS Workshop AWSが提供するWebを使って学べる、EKSのワークショップ。VPCやALBやEC2のワーカーノードの構築含めて、いろんな観点からEKSを学ぶことができます。 また、EKS
AirPods Pro を使って英会話の訓練をしながら Kubernetes をはじめとするあらゆるテクノロジーについて学べるすごい学習法 Dec 2, 2019 約 1 年ぶりにブログを書くにあたって、めちゃくちゃ釣りっぽいタイトルにしてみました。 (昨日すでに別の記事が出ていますが、書き始めたのはこちらが先でした) この記事は AirPods Pro のアフィリエイトによる小銭稼ぎ (まぁ今現在 Amazon では売り切れてるけど) と、僕のあらゆる物事に対する学習・訓練に対する考え方をまとめて、識者からフィードバックを得ることを目的にしています。 で、その両方を達成する上で都合がいいので、AirPods Pro を使ったシャドーイングを題材に書いてみようと思います。学習に関する考え方についてはいかにもわかってる風に書きますが、素人が適当なことを言っているだけなので、暇つぶし程度にご笑
はじめに 本連載は、Kubernetesに入門しあぐねているエンジニア、特にアプリケーション開発者の方向けにKubernetesへの入門の仕方と最低限動かすための知識を実践形式で紹介するものです。 Kubernetesについて全く触ったことがないという方から、何となく知っているけど実務で応用できない、実務で使っているけど実のところよく分かっていない……という方を対象に、Kubernetesの全体像の知識と手順をステップアップして学べるように構成しています。 今回の第1回は、本連載をより効果的に活用していただくために、Kubernetesに入門する意義と効率的な学習法を取り上げます。 Kubernetesに入門する意義 さて、現在、DockerやKubernetesに代表されるコンテナ技術は、随分と広く利用されるようになってきました。開発環境のみならずプロダクション環境でも多く採用されるなど
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が全面的に書き換えられ、性能と
※本記事は下記の記事の続編となっておりますが、Dockerに関する基礎知識があれば本記事単体でもお楽しみいただけます。 blog.ecbeing.tech 「Dockerって名前だけは知ってるけどよくわからない」「前回記事が気になる!」という方は、ぜひ上記記事をご一読ください。 はじめに こんにちは! ecbeing新卒1年目の浦です。 前回は「Docker〜概要編〜」ということで、Dockerに関することをざっくりとまとめてみました。 ちなみに前回記事はとってもご好評?だったようで…。 はてなブックマークや暖かなブックマークコメントをたくさん頂きました…!もう本当に筆者冥利に尽きます…!! 今回記事も前回記事に負けないくらいボリューミーなのでぜひぜひ! さて気を取り直しまして…。 今回は「Dockerを取り巻く外部サービス編」ということで、Dockerと密接な繋がりがあるツールやサービス
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く