タグ

*infraと*devに関するsh19910711のブックマーク (52)

  • JenkinsのCronはSafeRestart時にJob起動処理を落とさない - decadence

    これは何 運用されているJenkinsにおいて、SafeRestart時にCronによるJobの発火をlostするのでは、といった懸念があった。 コードを読み、実際に動作確認をすると、再起動処理に2分以上かからなければat least onceでCronによるJobの発火がされることが分かった。 github.com JenkinsをSchedulerとして利用する JenkinsではJobの定義時にcron表記にてJobのscheduleを設定出来る。このcronは発火時刻になると、JobをJenkinsの処理Queueに入れる。 残念なことにJenkinsのHAはActive-Standbyのような構成しか取ることが出来ず、ActiveなJenkins masterのprocess内においてこれらのcronは処理される。もし冗長構成を取りたいのなら、Jenkinsが永続化として利用して

    JenkinsのCronはSafeRestart時にJob起動処理を落とさない - decadence
    sh19910711
    sh19910711 2024/05/28
    "Jenkins: SchedulerがHAになっていない + 再起動時等でJobの起動処理がロストするのでは、といった懸念 + 再起動処理に2分以上かからなければat least onceでCronによるJobの発火がされる" 2021
  • Re: ChefとCapistranoの境界線 #opschef_ja - Hack like a rolling stone

    この間の Chef Casual Talks での id:nekoruri さんの発表、ChefとCapistranoの境界線 に対する 僕の考え方を書いておこうと思います。 Chefを導入する時の「考え方」 完全に同意します。 僕は community cookbooks を使おうとみんなに吹聴して回っているように、 大抵の環境で必要とされる内容は community cookbooks に収録されていることが多いです。 ただ、細く設定ができなかったり、ちょっと代わった入れ方をしたいときが出てくると community's ではカバーできなくなります。 そんなときは僕も fork して書き換える include_recipe して、追加の処理を書き足す (設定ファイルをごそっと上書きしたりとか) あたらしいものを作る などをして回避しています。 例えば、今関わっているお仕事では Apac

    Re: ChefとCapistranoの境界線 #opschef_ja - Hack like a rolling stone
    sh19910711
    sh19910711 2024/04/21
    "デプロイをChefでどこまでやるべきか / 環境構築とデプロイは別の作業だと考えている + chef ではアプリケーションのデプロイは行なっていません / chef はあくまで環境構築までが守備範囲" 2013
  • プラットフォームエンジニアリングとはモダンな標準化のこと - arclamp

    マイクロサービスによって起きた「標準化、死すべき」の揺り戻しとして、イマドキの標準化を実現するのがプラットフォームエンジニアリングなんだろうな、と思っています。JJUG CCC 2023 Fallで「アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ」という講演をするにあたり、今更ながらプラットフォームエンジニアリングについて整理をしてみました。 クラウドさえあればOpsチームはいらない? DevOps Topologiesに記載されているDevOps Anti-Typesでは、以下の8つのアンチタイプが記載されています。 A: Dev and Ops Silos B: DevOps Team Silo C: Dev Don't Need Ops D: DevOps as Tools Team E: Rebranded SysAdmin F: Ops Embedd

    プラットフォームエンジニアリングとはモダンな標準化のこと - arclamp
    sh19910711
    sh19910711 2024/04/04
    "システム運用を個別のチームだけでやり切るのは大変だし、運用に関わるツールや設定を個別に考える必要性もあまりない / SaaS: 使い始めるのは簡単だが、使いこなして効率を上げようと思うと、専門人材が必要" 2023
  • CodePipeline V2のQUEUEモードをCDKで作って検証してみた

    概要 CodePipeline V2が発表されて以降、色々な機能が追加されていっていますが、特にQUEUEモードというものが気になり、検証してみた、という記事になります。 検証してみようと思った日の夜にCDKでQUEUEモード(ExecutionMode)がリリースされてとても嬉しかったです。 CodePipeline V2とは 2023/10:CodePipeline V2が発表 この時点では主に以下の点がアナウンス 入力パラメータをパイプライン実行に動的に渡すことができる V1とV2では料金体系が異なる 2024/02:トリガーフィルターと新しいパイプライン実行モードをサポートすることを発表 トリガーフィルター 特定のディレクトに更新があった場合に実行する等の機能 新しいパイプライン実行モード Parallel Queued CDKでも光の速さで対応される AWS CDK v2.128

    CodePipeline V2のQUEUEモードをCDKで作って検証してみた
    sh19910711
    sh19910711 2024/03/13
    "CodePipeline V2: 入力パラメータをパイプライン実行に動的に渡すことができ / トリガーフィルター: 特定のディレクトリに更新があった場合に実行する等の機能 / Pull Requestトリガーの機能などについてもレビュー待ちの状態"
  • Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes

    昨今Infrastructure from Code (IfC)という概念をよく耳にします。先日もAWSのGregor Hohpeが関連する記事を書いていました。 architectelevator.com この記事では、Infrastructure from Codeとはなにか簡単に紹介し、具体的にどのようなツールがあるか網羅的にまとめます。 Infrastructure from Codeとはなにか Infrastructure from Code (IfC) とは、その名の通り、Infrastructure as Code (IaC) に関連する概念です。IaCとの根的な違いは、IaCは開発者がインフラを明示的に意識して構成を記述するのに対し、IfCでは開発者がインフラをできるだけ意識しないよう抽象化を試みていることです。これにより、差別化に繋がらない重労働ができる限り排除された高

    Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes
    sh19910711
    sh19910711 2023/11/08
    "インフラはアプリのコードから生成される、というのがfrom Codeの意味するところ / 抽象化により失われるものは往々にして柔軟性 / IaCを取って代わるというよりは、これもまた適材適所で使い分けるツールとなるでしょう"
  • ソフトウェア開発における人的リソースの理想的な配分

    背景SRE という概念が生まれてから数多くの開発チームで「ソフトウェアエンジニアリングの手法で運用を改善する営み」が行われてきた。 同時に、技術的負債が経営レベルで認知されるようになり、日常の会話の中でも長期・短期のトレードオフを念頭に置いたプロジェクト推進がやりやすくなったのは言うまでもない。 しかし、スタートアップでは Dev と Ops が別れていることは稀で、「全員が全てに対応する」ような状況になってしまうことがしばしばある。これは小さい組織だけの問題ではなく、例えば大企業の中の新しいプロダクト開発チームでも同じことが言える。 SRE を念頭に置き、技術的負債の主導権を握るために必要なチーム体制とはどういうものなのだろうか? タスクの分解小さな組織のソフトウェアエンジニアは日々数多くのタスクを与えられている。場合によっては数名のメンバーで新規機能開発から日々の不具合修正、そして S

    ソフトウェア開発における人的リソースの理想的な配分
    sh19910711
    sh19910711 2023/01/28
    2021 / "アーキテクチャの審美眼やテスト方法、CI/CD の構築方法などは時間を割いてチームのナレッジとする価値がある / ここを疎かにすると近い将来属人化が進み開発品質が上がらなくなる / CircleCI Engineering Competency Matrix"
  • Prowの真骨頂であるTideでPRの自動マージを導入する。 - 平日インプット週末アウトプットぶろぐ

    Prowの真骨頂であるTideでPRの自動マージを導入する。 January 9, 2019 Prow Kubernetes Tide GitHub 前回のエントリ「ProwではじめるChatOps on GitHub。」からProwを完全理解した!と言ってはいけない。Prowの真骨頂はTideにあると思う。 Enable kustomize in kubectl by Liujingfang1 · Pull Request #70875 · kubernetes/kubernetes · GitHub 上記のProwが有効になったPRのフローの最後を見てほしい。BotアカウントがPRをマージしているのだ。この仕組みはProwのTideが実現してくれる。 Tideは一定の条件を満たした上でPRをマージしてくれる。マージを行うアカウントはProwに設定したGitHubのアクセストークンになる

    sh19910711
    sh19910711 2022/12/28
    2019, kubernetes/test-infra / "Tideは一定の条件を満たした上でPRをマージしてくれる。マージを行うアカウントはProwに設定したGitHubのアクセストークンになるのでBotアカウント / マージまでのPRフローが明確になる"
  • 秘密情報をGitLabに格納することなくGoogle Cloud / AWSに対して認証する - エムスリーテックブログ

    エムスリーエンジニアリンググループ AI機械学習チームの笹川です。 趣味はバスケと筋トレで、このところはNBAはオフシーズンですが、代わりにユーロバスケが盛り上がっていて、NBAに来ていない良いプレーヤーがたくさんいるんだなーと思いながら見ています。 夜ご飯を催促するためデスク横で待機する犬氏(かわいい) 今回は、パブリッククラウドへの認証に必要な秘密情報をGitLab自体に格納することなく、安全に認証する方法について紹介します。 CI/CDの実行時のパブリッククラウドに対する認証 ナイーブな手法とその問題点 OpenID Connectを用いた認証 Terraformでパブリッククラウド側の設定を記述する Google Cloudの場合 AWSの場合 GitLab CI/CDで認証する Google Cloudの場合 AWSの場合 認証ステップの共通化 まとめ We are hirin

    秘密情報をGitLabに格納することなくGoogle Cloud / AWSに対して認証する - エムスリーテックブログ
    sh19910711
    sh19910711 2022/09/23
    "この仕組みに利用するGitLabのpredefined variableである CI_JOB_JWT_V2 はalpha statusの機能 / Workload Identity Pool Provider: 属性のマッピングには Common Expression Language (CEL) が利用できる + これを用いてカスタム属性を作ることができます"
  • 半年でPHPのエラー通知を撲殺しまくった話 - Chatwork Creator's Note

    どうも。ご存じ、サーバーサイド開発部(PHP)のやまざきです。 『優れた UX は心地のよい Developer Experience から生まれてくる』と信じて20余年。今年は最高な年になりそうです。 さてブログの題ですが、ある程度のサービス規模になってくると運用・保守は大変になってきますよね。今日は昨年2021年にサーバーサイド開発部(PHP)としてのサービス監視体制を改善していったよ、って話をふりかえりながら書こうと思います。 目次 目次 Chatworkのサーバーサイド運用・保守体制 バックエンドチームでの基的な運用・保守体制 バックエンドで利用中のシステム監視SaaS Datadog New Relic バックエンドのアプリケーションログ基盤 バックエンドでのアプリケーションログ収集のデータフロー PHPシステムでのアプリケーションログの通知 サーバーサイド開発部(PHP)

    半年でPHPのエラー通知を撲殺しまくった話 - Chatwork Creator's Note
    sh19910711
    sh19910711 2022/09/17
    "撲殺: エラーを殺るか、エラーに殺られるか + この戦いに引き分けはない、そんな覚悟をこめた命名 / エラー通知は誰かが確認するという暗黙の期待を止める / 通知されるログは常に確認すべきというシンプルな運用"
  • 【転職会議】ArgoCDで実現するストレスフリーな新GitOps基盤 - LIVESENSE ENGINEER BLOG

    こんにちは、かたいなかです。 最近、転職会議のCI/CD基盤をFluxベースのものからArgoCDベースのものに式年遷宮しました。今回の記事では、新しいArgoCDでのCI/CD基盤について、作り直しに至った経緯や改善点をご紹介します。 ArgoCD移行に至った経緯 転職会議では、以前の記事でも紹介したFluxというGitOpsのツールを使用してGitOpsを実現していました。 made.livesense.co.jp しかし、その後FluxからFlux2への移行が公式から推奨されるようになった後も、Flux2やArgoCD Image Updaterへの移行ができない状態が長く続いていました。 また、現行のフローでも以下のような大きな問題点を抱えていました。 ロールバックできない問題 チャットボットが老朽化 Weave Cloudがサービス終了 以下でそれぞれ説明します。 ロールバックで

    【転職会議】ArgoCDで実現するストレスフリーな新GitOps基盤 - LIVESENSE ENGINEER BLOG
    sh19910711
    sh19910711 2022/09/15
    "本番デプロイをPull Requestベースのフローに変更 / 新しいチャットボットはブランチデプロイのみ行うシンプルなものとして作り直し / ArgoCDのGUIがあることで視覚的にクラスタの中を理解できる > 学習コストが下がった"
  • CodeBuild Local で CodeBuild の処理をローカル実行 | DevelopersIO

    こんにちは、かたいなかです。 CodeBuild はビルドを自動化するのにとても便利ですが、一度正しく処理を組み立てるまでに毎回 GitHub 等にコードをプッシュしながらトライアンドエラーを繰り返すのはなかなか大変です。 そこで今回は、CodeBuild での処理を手元で試せる CodeBuild Local の使い方をご紹介します。 実際にやってみる 今回は、Rails のアプリケーションを使用していきます。 また、今回のソースコードはこちらのリポジトリにあります。 今回のソースコード buildspec.yml を作成 まず、CodeBuild に実行させたい処理を記述する buildspec.yml を用意します。 version: 0.2 phases: install: commands: - bundle install build: commands: - bundle e

    CodeBuild Local で CodeBuild の処理をローカル実行 | DevelopersIO
    sh19910711
    sh19910711 2022/09/05
    2018 / "毎回 GitHub 等にコードをプッシュしながらトライアンドエラーを繰り返すのはなかなか大変 / 公式イメージのリポジトリに CodeBuild Local を実行するためのヘルパースクリプトがあります"
  • AWSで目指した理想のCI/CDを別視点で考察してみる(データ保護観点) - How elegant the tech world is...!

    はじめに 前回のブログでは、マルチアカウントにおけるIAMユーザーの設計戦略についてご紹介しました。 今回は少しテーマを変え、以前筆者がJAWS DAYS 2020で登壇させていただいたCI/CDの内容を基に、データ保護の観点からの設計~実装を取り上げたいと思います。 ※少々お硬い内容を含みますが、AWS CI/CDセキュリティを考える上で一つのポイントになるはずなので、ご興味をお持ちの方は是非お付き合いください。m(_ _)m 前回ご紹介したCI/CD内容のおさらい JAWSDAYS2020にて「金融サービス向けに理想のCI/CDを追い求めたお話」というタイトルで、筆者が担当するサービスのCI/CD設計をご紹介いたしました。 ここで、「理想」という点についてもう一度振り返ると、それは「CI/CD導入により期待すること」と、「業務特性として守らなければならないこと」の両立でした。 高アジリ

    AWSで目指した理想のCI/CDを別視点で考察してみる(データ保護観点) - How elegant the tech world is...!
    sh19910711
    sh19910711 2022/06/11
    "FISC安全対策基準: 昭和60年に初版が刊行 / 開発アジリティを高め(アクセルを踏み)、ステージング環境で稼働保証を行う(ブレーキを踏む) / ある程度厳密なルールは崩すものの、最低限の防衛ラインを定める"
  • mazgi.log :: 2020年代を生き抜くWebアプリケーション基盤の私的整理

    Web アプリケーションを動かすためにはどうしても CPU、メモリ、ストレージなどが必要です。 せっかく作った Web アプリケーションを誰かに使ってもらうためにはインターネットで公開する必要があります。 そして 2020 年現在「Web アプリケーションを動かして公開する」ためのプラットフォーム(XaaS)が何種類も存在します。 その何種類も存在する XaaS はそれぞれ名称はもちろん機能や使い方も異なり、Web アプリケーションを開発する私たちは仕様と特徴を理解しながら一定以上のレベルで使いこなしていくことを求められます。 XaaS の「仕様と特徴」は例えば私たちが日常的に使う白物家電や調理器具や交通機関などと比べると圧倒的にバラエティが豊富でその分学習に時間が必要なように見えます。 最近はそういうことをグルグル考えているので自分自身の整理として言語化を試みます。 なお所属企業の業態や

    sh19910711
    sh19910711 2022/05/04
    "XaaSの内部を自習しない: ドキュメント読んでわからないことは素直にSAの方に伺う > 利用者(私)は時間が短縮できる + SAの方は少なくとも間接的には成績に繋がるはず + XaaS各社さんは売り上げに繋がるので三方よし"
  • NoOpsを実現するSREの存在意義と役割

    NoOps Meetup #6 ( https://noops.connpass.com/event/131553/ ) でお話した内容です。スタディストのSREチームは、サービス運用やToilに関係する作業時間は、週のうち5%〜10%程度に維持しています。ここに至るまでのスタディストの実践例を、SREのプラクティスを交えてお話しました。

    NoOpsを実現するSREの存在意義と役割
    sh19910711
    sh19910711 2021/10/08
    "Design Document > Postmortem を書くのと同じくらい重視 / (システム)障害を収束させた人間より、障害を生まなかった人間を評価したい / 権限を与えるだけでなくドキュメントを整備し必要な情報を提供"
  • 当たり前にリリースしていくために必要なこと / Release safely

    # 解説ブログ https://tech.classi.jp/entry/2021/05/20/110000 # 参考リンク - http://shimooka.hateblo.jp/entry/20141217/1418788239 - https://soudai.hatenablog.com/entry/webservice-monitoring # その他紹介したリンク - https://soudai.hatenablog.com/entry/survival-strategy - https://soudai.hatenablog.com/entry/2020/12/31/165940 - https://speakerdeck.com/twada/worse-is-better-understanding-the-spiral-of-technologies-2019-edi

    当たり前にリリースしていくために必要なこと / Release safely
    sh19910711
    sh19910711 2021/05/18
    "リリースして問題に気付いたら素早く元に戻す > 元に戻せるように作る / 事故を未然に防げる仕組み + 事故から復旧できる仕組み / 事故は起こるべくして起こるし、起きた過去より未来のほうが大事"
  • 再発防止策を考える技術 / #phpconsen

    PHPカンファレンス仙台 2019@2019/1/26 https://phpcon-sendai.net/2019/

    再発防止策を考える技術 / #phpconsen
  • DevOps - Gosuke Miyashita

    DevOps: Why Silos Suck And How To Break Them というエントリをたまたま目にして、「DevOps」という見なれない言葉が出てきたので、気になって調べてみたところ、自分が何となくやっていたことや、今までもやもやと考えていたことに一定の方向性が与えらえた気がしたので、整理してみることにします。 DevOps とは? 簡単に言ってしまうと「開発者と運用者の間の壁を取り払うためのベストプラクティス」と言えそうです。 開発者と運用者の間の壁? Flickr の中の人による 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr という Velocity 2009 でのプレゼンスライドには「Devs versus Ops」という章があり、以下のような言葉が載っていました。 "It's not my mach

    sh19910711
    sh19910711 2020/06/27
    2010.03 / "Flickr の中の人による 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr という Velocity 2009 でのプレゼンスライドには「Devs versus Ops」という章があり"
  • AWS EKSをGitLabデプロイ環境として使う - Qiita

    先日AWS EKS(Elastic Container Service for Kubernetes)のGlobal Availability発表に続き、GitLabが正式サポートすることを発表しました。 さっそく試してみたいと思います! 今回やりたいことは: 既存のGitLabインスタンスで Ruby on RailsプロジェクトAWS EKS クラスタを連携して Auto DevOpsのCIパイプラインを実行させる 始める前に GitLabについて Kubernetesについて AWS EKS 事前準備(Mac OS) Python 2 version 2.7.9+ or Python 3 version 3.3+

    AWS EKSをGitLabデプロイ環境として使う - Qiita
  • 自動テストがより便利に!!CodeBuildのテストレポート機能がGAされました!! | DevelopersIO

    CX事業部@大阪の岩田です。これまでプレビューリリースという位置づけだったCodeBuildのテストレポート機能が2020/5/22、ついにGAされました!! 早速試してみたので、簡単に紹介させて頂きます。 レポート機能とは? CodeBuildのジョブから出力されたレポートファイルを解析し、テスト実行結果を確認するためのビューを提供する機能です。画面のイメージはこんな感じです。 レポートファイルは以下の形式に対応しています。 JUnit Cucumber TestNG TRX プレビュー段階で対応していた形式はJUnit、Cucumberのみでしたが、GA時点で新たにTestNG、TRXのサポートが追加されています。 テストレポート作成に必要な権限 テストレポートを作成するには、CodeBuildのジョブを実行するIAMロールに以下の権限が必要です。 codebuild:CreateR

    自動テストがより便利に!!CodeBuildのテストレポート機能がGAされました!! | DevelopersIO
  • AWS CodeBuildとJenkinsの連携 - GeekFactory

    TL;DR AWS CodeBuildとJenkinsを連携させると、これまでJenkins Agentで実行していたビルド処理をAWS CodeBuildに置き換えることができます。以下のメリットがあります。 AWS CodeBuildは無限に*1スケールするので、ビルドキューの待ち行列がなくなる ビルド単位で課金されるので、Jenkins AgentのEC2インスタンスを待機させておくコストが不要になる コンテナでビルド処理が実行されるので、ビルドに必要なOSやミドルウェアを管理する手間がなくなる JenkinsのUIやユーザ管理をそのまま使い続けられるので導入しやすい AWS CodeBuildとJenkinsを連携させるには公式の AWS CodeBuild Plugin を利用します。 AWS CodeBuildとJenkinsの連携はGitHubだけでなくGitBucketやG

    AWS CodeBuildとJenkinsの連携 - GeekFactory