タグ

devopsに関するsh19910711のブックマーク (565)

  • ノートラブルシステムへの道

    ノートラブルシステムへの道 ビジネス速度を落とさないために

    ノートラブルシステムへの道
    sh19910711
    sh19910711 2023/01/31
    2022 / "ハインリッヒの法則: 1つの重大事故の裏には29の軽微な事故があり300の異常が存在する > 300の異常を見逃してると大事故が起きる / トラブルの発生増加は複雑化の兆候"
  • 現代の運用システムを一通り押さえるって難しすぎない!?となり、まずはシステム構成要素の外観図を描いてみたので見てほしい

    現代の運用システムを一通り押さえるって難しすぎない!?となり、まずはシステム構成要素の外観図を描いてみたので見てほしい これは SREアドベントカレンダー 2022 - Qiita 5日目のエントリです。 昨日は paper2 さんの SREがたどる4つのフェーズ - Paper2 Blog でした。 最近「現代のいい感じなシステム運用を実現するためのシステム(=運用システム)って、まっさらなところからの入門や、ブランク明けのキャッチアップが難しいですね」と思うことが多くありました。 「難しいですね」「たいへんそう」だけ言ってても前に進まないので少しずつやっつけましょう。 というわけで、作ったのがこれ! こういう要素があるよね、というのを把握しておくと、関連各社がどういうふうにサービスを拡張していっているのか理解しやすくて捗ると思います。 例:モニタリングSaaSがどこを出発点にしてどう伸

    sh19910711
    sh19910711 2023/01/09
    2022 / "現代のいい感じなシステム運用を実現するためのシステム(=運用システム)って、まっさらなところからの入門や、ブランク明けのキャッチアップが難しい"
  • チームみんなが参加しやすくなるIaC設計の工夫 - selmertsxの素振り日記

    モチベーション 私は「インフラ」という言葉は、人によって受け取り方が大き違う言葉だと思ってます。 「よく分からないけど難しそうなので出来れば触りたくない」という人や、「ごく小数の人にしか触らせたくない」という人、 「IaaS、PaaSはインフラと認めない!」という人にも会ったことがあります。 「よく分からないなんとなく難しいもの」である「インフラ」は、多くの人に敬遠されがちなので、 中小規模の開発組織では1人のエンジニアがひっそりと孤独に作ってるケースがままあるのではないでしょうか。 私もやりたがる人があまりいないので、PMインフラエンジニアを兼務することが多くありました。 この記事では、一人でひっそりとインフラを作ってた私が、触れる人を増やしたいと思って工夫したIaC設計のアイデアを記述しようと思います。 言葉の定義 インフラ IaCで扱う「インフラ」の定義について。 言葉の定義を探し

    チームみんなが参加しやすくなるIaC設計の工夫 - selmertsxの素振り日記
    sh19910711
    sh19910711 2022/12/19
    "利用される単位とリリースの単位は等価 + 同じタイミングで変更されるものをまとめ / スタックが適切に分割されている + スタック間の依存が把握できていること / この2点さえ守れるならばIaCツールは何でも良い"
  • CUEでTerraformを書いてみる - chroju.dev

    最近 CUE の話題を少しずつだがよく見かけるようになってきた。 CUE を使用した Kubernetes マニフェスト管理 | メルカリエンジニアリング [DevOps プラットフォームの取り組み #4] CUE 言語の紹介 - NTT Communications Engineers' Blog CUE によるスキーマやバリデーションのポータビリティ | gihyo.jp CUE とは何か、レポジトリの README から引用すると以下のように書かれている。 CUE is an open source data constraint language which aims to simplify tasks involving defining and using data. It is a superset of JSON, allowing users familiar with

    CUEでTerraformを書いてみる - chroju.dev
    sh19910711
    sh19910711 2022/12/18
    .tf.json知らなかった / "HCL と JSON には互換性があり、Terraform の定義も JSON で書くことが可能 / カレントディレクトリの *.tf に加えて、 *.tf.json という postfix の JSON ファイルも読み取られる仕様 / Cutorials に非常に助けられた"
  • Pikeを使ってTerraform実行ユーザー用の最小限のIAMポリシーを生成する | DevelopersIO

    terraform apply を実行するユーザーやロールにも最小限の権限を付与するようにしたい。」 Terraformで色々管理しているから、Terraform実行ユーザーの権限は強めにしているけど少し不安。最小限の権限を割り当てる方法はないかな? そんな時には、Pikeを使ってみるのもいいかもしれません。 Pikeとは 一言で言うと、TerraformのコードからTerraform実行に必要な最小限のIAMポリシーを生成してくれるツールです。 JamesWoolfenden/pike: Pike is a tool for determining the permissions or policy required for IAC code Terraform実行用IAMユーザー・IAMロールの権限 例えば、TerraformAWSインフラを管理しているとします。 terrafor

    Pikeを使ってTerraform実行ユーザー用の最小限のIAMポリシーを生成する | DevelopersIO
    sh19910711
    sh19910711 2022/12/17
    便利そう / "Terraform実行ユーザーの権限は強めにしているけど少し不安 / Pike: Terraformのコードからterraform applyに必要な最小限のIAMポリシーを作成 + AWSプロパイダー以外にもGoogle CloudやAzureのプロパイダーもサポート"
  • AWS CDK Tips: スタックの分け方について - maybe daily dev notes

    AWS CDK TIpsシリーズの記事です。 AWS CDKのスタック、まとめてますか?分けてますか?分けている方はどういう基準で分けていますか? この議論は人によって割と意見の分かれることも多く、最高の飲み会ネタになるでしょう。今日は私見も交えながら、CDKのスタック分割法についてまとめてみたいと思います。 自己紹介 私見を語る上で自己紹介は必要だと思うので、私自身のCDK経験を簡潔に: CDKは2020年の頭に出会い、以下のようにかれこれ3年ほど使っています。 前職ではそれなり規模のmBaaSをCDKを使ってAWSに移行・運用していました 現職では大小様々な規模のプロトタイプ開発にCDKを使っています。数えるとこれまで15個くらいシステムのプロトタイプを作ったようです。 現職のサイドプロジェクトとして、グローバル規模の社内システムの開発運用もCDKでやってました (お手伝い程度)。AW

    AWS CDK Tips: スタックの分け方について - maybe daily dev notes
    sh19910711
    sh19910711 2022/12/16
    "個人的にベストと思うスタックの分け方: 必要がないなら分けない / スタックを分けると、大抵の場合スタック間に依存関係が生じ / この依存関係によって開発・運用上面倒が生じることが多い"
  • データ基盤のアラートにNew Relicを導入しました - TVer Tech Blog

    はじめまして、エンジニアの黒瀬と申します。 弊社では、これまでバックエンドの監視にNew Relicを利用してきましたが、今回データ基盤にも導入を開始しました。 この記事では、その経緯についてご紹介したいと思います。 背景と課題 弊社ではTVerのサービス利用状況を日々収集し、それをBigQueryを中心としたデータ基盤に集約・可視化することで、日々のサービス改善に活用しています。 このプロセスは、おおむね次のような役割分担となっています。 収集処理:バックエンドを担当するバックエンドチームがAWSに構築 集約処理:データ基盤を担当するデータチームがGCPに構築 これらのうちデータチームでは、集約処理を構成するバッチごとにアラートを実装していましたが、下記のような問題がありました。 バッチごとに異なった方法でアラートを実装していたため、保守がしにくい アラートの通知先が散らばっており、毎回

    データ基盤のアラートにNew Relicを導入しました - TVer Tech Blog
    sh19910711
    sh19910711 2022/12/01
    "BigQueryを中心としたデータ基盤 / バッチとしてはCloud Loggingにエラーログが出しておくだけで済むようになり / 収集処理: バックエンドチームがAWSに構築 / 集約処理: データチームがGCPに構築"
  • チームで取り組む障害対応

    SRE meetup at Fukuoka vol.3 ( https://sre-fukuoka.connpass.com/event/151108/ ) での発表資料です。OnCallについてのPracticalなTopicについて話しました。

    チームで取り組む障害対応
    sh19910711
    sh19910711 2022/11/29
    2019 / "Onboarding: 既存システムをゼロからつくってもらう / どのような障害なら即対応か: 言語化しないとチームで判断基準がブレる / 計画続行バイアス: 目的地に近ければ近いほど ~ 計画遂行を優先してしまう"
  • SREの探究 - Spotifyの事例:Ops-in-Squads | フューチャー技術ブログ

    はじめにこんにちは、TIG 岸下です。 秋のブログ週間の5目になります。 最近、Netflixで配信中のSpotify創業ドキュメンタリー:The Playlistを見ました。創業ドキュメンタリーは鳥肌モノが多く、なんだかパワー貰える感じがして自分も頑張ろうと思わせてくれるので非常にオススメです1。 そんなわけでSpotify熱が高まっていたこと、自分がプロジェクトの方でSRE活動に関わっていることもあり、SREの探究:7章「SREのいないSRE:Spotifyのケーススタディ」を読んでみました。 そもそもSREって?恥ずかしながら、自分も現在のプロジェクトに配属されるまでSREの存在を知りませんでした。 SREはSite Reliability Engineeringの略で、サービスの信頼性をソフトウェアエンジニアリングの力で高めていこうぜ!というGoogle発祥の試みになります。 も

    SREの探究 - Spotifyの事例:Ops-in-Squads | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/11/20
    "2012年後半に100万ユーザーを突破したSpotifyは未だ手作業でのデプロイを行っていました / 社内チャットで 「~~ DEPLOY!」と叫ぶことで他のユーザーが別のデプロイ作業を行わないように排他制御 / 『SREの探究:7章』"
  • ホーム - CloneTracker

    当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。

    ホーム - CloneTracker
    sh19910711
    sh19910711 2022/11/20
    2014 / "Jenkinsは最強のCron: どんなスクリプトも実行できる非常に高い汎用性 + どんなタイミングでもスクリプトを実行できる幅広いトリガー + たくさんのプラグイン、及びそれを産み出すコミュニティ"
  • もう「自動化」って言わなくてよくないですか|Magnoliak

    なんとなく、「自動化」って言葉のニュアンス、“今の状態にわざわざ苦労して付け加えてやること”みたいな、特別感出していませんか。 それより、わざわざ”手作業”でやる方を「手動化」って言った方が、よくないですか? 「え?それ手動化でやるんですか、まだまだ人間じゃないと判断できない価値が有る作業なんですねー」みたいに。 どっちを特別視するか?って時に、より「当たり前の方」にはわざわざ名前つけないですよね。特別だと思っているから名前付けるので…だから、手作業の方に名前を付けた方が、その価値に気づきやすいんじゃないかって。 手作業の方が、直接的な作業時間以外にも、さまざまな意味でのコストがかかっていて…例えばどんな些細なことでも「判断する行為」は人の関心量を削って行くんですよ。 そもそも「自動化」の価値って、やってみると案外”自動でやってくれる”ことより、「作業フローが可視化される」「判断基準が明確

    もう「自動化」って言わなくてよくないですか|Magnoliak
    sh19910711
    sh19910711 2022/11/19
    "わざわざ”手作業”でやる方を「手動化」って言った方がよくないですか / 「自動化」の価値: 属人性を排除すべきところと、そうでないところが明確になる / 基準が明確になってしまえば、作業が分離できる"
  • 春の terraform お掃除日記 - エムスリーテックブログ

    こんにちは、エムスリーエンジニアリングGの榎田です。趣味数学ゲームです。エオルゼアで耐水綿布の相場が暴落するのを見て経済に興味を持ち始めました。 もうすぐ春、一般的には新たな出会いと別れの季節とされています。私たちのチームでも、新たなサービス・企画に向けて日々開発を進めています。新規サービスの立ち上げということは、インフラの構築も必須です。今日はそのようなサービス構築時のインフラ構築を aws terraform provider で行った際の雑多な思い出を述べようと思います*1。 インフラ構築の背景 ディレクトリ構成の変化 terraform project の分割 terraform にできることは terraform にやらせよう terraform にできないことを私たちに module の使いどころ resource の wrapper にしない テンプレートとして使う まと

    春の terraform お掃除日記 - エムスリーテックブログ
    sh19910711
    sh19910711 2022/11/16
    2021 / "リソースは全部 shared/main.tf にベタ書き + 各環境にはこのファイルへのシンボリックリンクを配置 / terraform の適切な使い方は状況に依る + 「こういう状況だとこういう感じでした」という具体的なケースを示したい"
  • GitLab CI/CDで特定のファイルが変更された場合にのみジョブを実行する - GeekFactory

    GitLab 11.4から only:changes という記法がサポートされました.これにより,特定のファイルが変更された場合のみジョブを実行できます. https://docs.gitlab.com/ee/ci/yaml/#onlychangesexceptchanges 例えば,以下のように記述すると,ブランチをpushした時に terraform/ フォルダのファイルが変更されている場合にのみジョブが実行されます. stages: - build terraform_plan: stage: build only: changes: - terraform/**/* - .gitlab-ci.yml image: name: hashicorp/terraform:0.12.8 entrypoint: - /usr/bin/env script: - cd terraform/ -

    GitLab CI/CDで特定のファイルが変更された場合にのみジョブを実行する - GeekFactory
    sh19910711
    sh19910711 2022/11/13
    2019 / "GitLab 11.4から only:changes という記法がサポートされました.これにより,特定のファイルが変更された場合のみジョブを実行できます"
  • TerraformのCIツールであるAtlantisを導入しました | PSYENCE:MEDIA

    こんにちは、今年の春に新卒でリクルートに入社し、『スタディサプリENGLISH』SREグループ所属となった巻田です。 他の記事でも書かれていますが、『スタディサプリENGLISH』ではTerraformを使って主にAWS上のインフラ管理を行っています。この記事ではTerraformの動作の自動化のためにAtlantisを導入した経緯やその際の設定、使い方などに関して解説します。 導入に至った経緯 Terraformはインフラ管理のために非常に便利なツールです。このチームでは1つのRepository内にdev、staging、productionのように複数のTerraform Working Directoryを配置して各環境のインフラ構築を行なってきました。 今まではインフラの構成を変更する際には以下のような作業を行なっていました。 Terraformのコードを編集 手元でplanして

    TerraformのCIツールであるAtlantisを導入しました | PSYENCE:MEDIA
    sh19910711
    sh19910711 2022/11/11
    "Atlantis: planやapplyの際の動作をかなり柔軟に設定できる / 公式でKustomizeやHelm Chartなどが配布されているのでインストール自体は簡単 + Kustomizeで配布されたファイルをベースにして一部設定を上書きして使用しています"
  • 継続的デリバリーを2020年に読了した感想 - Kesinの知見置き場

    継続的デリバリー 信頼できるソフトウエアリリースのためのビルド・テスト・デプロイメントの自動化 (アスキードワンゴ) 作者:Jez Humble,David Farley,和智 右桂,高木 正弘発売日: 2017/08/09メディア: Kindle版 業務で大規模なCI/CDパイプラインを構築することになったので、良書という話をよく耳にしていた継続的デリバリーを購入して読了しました。 普段は書籍を読んでもメモを残すことまではほとんどしないのですが、このはかつて無いほど得るものが多かったので自分にしては珍しくメモを取りました。 自分と同じように大規模なパイプラインを設計することに迫られる人は世にそれほど多くないでしょうから、せっかくなので公開したいと思います。 全体まとめ このの構成は1章で重要なことをほぼ全て述べて、あとの章でそれらをさらに詳しく解説している。同じことを後の章で何度も繰

    継続的デリバリーを2020年に読了した感想 - Kesinの知見置き場
    sh19910711
    sh19910711 2022/11/09
    2020 / "原著が書かれたのは2010年頃 / 高価だった方法も ~ クラウドやOSSの発展により誰でも簡単かつ安価に実現できるようになったものも多い。10年も前にそれらを既に実用化させていた人たちがいたことには非常に驚いた"
  • GitLab CIとCircleCIのキャッシュ戦略の違い - くりにっき

    仕事でCI全般のお悩み相談されることが多くて .circleci/config.yml や .gitlab-ci.yml をリファクタリングすることがよくあるのですが、その時に一番意識してるキャッシュ戦略について長年自分の中の暗黙知になっていて明文化できてなかったので書きます。 前置き 用語の定義 その他 GitLab CIとCircleCIの両方に共通すること キャッシュを過度に使いすぎない 許容できるケース 11/6追記 ないと困るものはキャッシュにしない 10/30 12:00追記 キャッシュをバージョニングする 複数のブランチでキャッシュを共有できるようにする GitLab CI固有の話 GitLab CIのキャッシュの仕様 CircleCI固有の話 CircleCIのキャッシュの仕様 同一のkeyで一度キャッシュが作られたら上書きができない キャッシュのkeyは前方一致 どうして

    GitLab CIとCircleCIのキャッシュ戦略の違い - くりにっき
    sh19910711
    sh19910711 2022/11/06
    2019 / "ないと困るものはキャッシュにしない / キャッシュはあくまでもビルドを速くするために存在 / キャッシュがなくてもビルドが多少遅くなるだけでビルド自体は成功するって形の方がハマりが少ない"
  • 祝GA! Terraform 0.13 新機能を使ってみた | DevelopersIO

    2020/08/10にTerrform 0.13がGA(一般提供開始)しました。 このエントリでは0.13の新機能をレポートします。 moduleでcountやfor_eachが可能に 0.13より前のバージョンでは、これまではmoduleブロックにcountやfor_eachを使うとエラーになりました。当然使えるのかなーと思って書いてみたらエラーになった記憶があります。 0.13からは使えるようになります。たとえばAWSだと、複数アカウントを使っている場合の管制塔アカウント内のIAMユーザーから、AssumeRoleできるIAMロールを人数分作成する処理を、iam-assumable-roleというmoduleでfor_eachすることで簡潔に書くことができます。 locals { iam_assumable_role_settings = { kazue = {username = "

    祝GA! Terraform 0.13 新機能を使ってみた | DevelopersIO
    sh19910711
    sh19910711 2022/11/06
    module + for_eachサポートされてたのか👀 / "Terraform 0.13: moduleでcountやfor_eachが可能に + 前のバージョンでは、これまではmoduleブロックにcountやfor_eachを使うとエラー / とはいえ、for_eachを多用すると読みにくい"
  • パフォーマンス定点観測会の取り組み

    エウレカでは「パフォーマンス定点観測会」と称してバックエンドエンジニアとSREが週次でメトリクスを確認し,システムの品質観測と改善を行っています. この会を2年間ほど継続する中で,溜まってきた知見を紹介します. https://sre-lounge.connpass.com/event/151290/

    パフォーマンス定点観測会の取り組み
    sh19910711
    sh19910711 2022/11/06
    2019 / "3タスク分の工数ライン: 同時に走らせていいのは3つまで > 枝葉の問題に取り組みすぎることも防げている / 合意された目標に対してbehindしてるのかどうか一発でわかるようにしておかないと会話が水掛け論に"
  • 既存リソースをTerraformでimportする作業を楽にする - KAYAC engineers' blog

    SREチームの今です。 カヤックでは、クラウドリソースの管理にはTerraformを利用することが多いです。 クラウドリソースの構成や設定をコードで管理することで、リソースの変更内容の差分をレビューできる、意図しない設定変更を発見できるなどの利点があり、SREの目的であるサービスを安定して提供する上で重要な要素の一つです。 実際の作業として、既に運用中のサービスを新たにTerraform管理下に置く場合や、多くのリソースが既にweb consoleから作成されているものをTerraform管理下に追加する場合も多いと思います。 その際にはTerraform importをする必要があります。しかし、Terraform importは単純作業とはいえ時間と手間がかかり、優先順位を下げてついつい後回しにしてしまうことも多いのではないでしょうか。 今回は、手作業でTerraform import

    既存リソースをTerraformでimportする作業を楽にする - KAYAC engineers' blog
    sh19910711
    sh19910711 2022/11/06
    "terraform state showによって出力される定義の中には、idやDeployedAtなど定義に書けないパラメータが一緒に出力される / そこでterraform validate -jsonの出力を利用することで、頻出のエラーメッセージの行は自動で取り除く"
  • Kubernetes ネイティブなワークフローエンジン Argo Workflows のご紹介 - Uzabase for Engineers

    こんにちは。Product Team の竹原です。 先日、社内用の小さな Web アプリを追加開発する機会がありまして、その際に CI/CD パイプラインの作成も行いました。 CI/CD パイプライン構築のために Argo Workflows を使ってみたところ非常に感触がよかったので、感想などを記載しておこうと思います。 ※ 今回は概要の紹介程度となります。実際に作成したワークフローはまた次回ご紹介します。 Argo Workflows とは 公式のワークフローサンプル Argo Workflow ならではの便利さとか工夫とか 利用するツールや動作環境のバージョンをコントロールしやすい Kubernetes のサービス名で名前解決ができるので、E2E テストがやりやすい 並列処理をシンプルに書ける ステップをテンプレート化できる(Workflow Templates) Cluster W

    Kubernetes ネイティブなワークフローエンジン Argo Workflows のご紹介 - Uzabase for Engineers
    sh19910711
    sh19910711 2022/11/02
    "Argo Workflows を CI/CD パイプラインの基盤として使用 / Workflow Templates: ステップをテンプレート化できる / Cluster Workflow Template として定義すると、別の namespace からもそのテンプレートを参照することができます"