DevOps

自動テスト、継続的デリバリー、サービス統合と監視、およびSDLCインフラストラクチャーの構築に取り組んでいるソフトウェアエンジニアのためのQ&A

3
credentials.xmlからJenkinsのパスワードを復号化する方法は?
多くのJenkins資格情報にパスワードまたはパスフレーズ文字列が含まれているプロジェクトを引き継ぎました。これらはプロジェクトを進めるために知っておく必要がありますが、残念ながらこれらはどこにも文書化されていません。 credentials.xmlこれらの資格情報が保存されているファイルを確認しましたが、プレーンテキストではありません。例: <passphrase>{AAAAAAAAAAAANzxft/rDzyt8mhxpn3O72dxvVqZksL5vBJ4jNKvAjAA=}</passphrase> 注:プライバシー上の理由から、少し変更しました。 上記の文字列に基づいて元のパスワードを復号化するにはどうすればよいですか?

6
Terraform構成をテストする方法は?
中程度の複雑さを持つTerraform構成がある場合、継続的インテグレーション/継続的デリバリーパイプラインの一部として実行できる構成に関するテストをどのように作成しますか? 例として、次の望ましい状態を指定するマルチクラウド構成がある場合があります。 AzureでDockerをホストするAzure Container Services Azure Blob Storage SQL Azure AWSでDockerをホストするEC2 Container Service Amazon S3ストレージサービス Amazon RDS SQL Serverデータベース terraform apply上記をゼロから作成したり、部分的に展開された状態から上記の望ましい状態に移行したりする可能性があります。 Terraformは、作業を実行計画段階と実際にターゲットアーキテクチャに変更を加えるアプリケーション段階に分割することを認識しています。これを使用して、実行計画に対するテストを作成できますか?もしそうであれば、これらを作成するのに役立つフレームワークはありますか?

5
Ansibleセットアップでプロビジョニングと構成をテストする方法
プロビジョニングと構成を扱うAnsibleセットアップに回復力を組み込むことを検討しています。 私は物事の構成側でいくつかのテスト方法を理解していますが、物事のプロビジョニング側でテストを実装する最善の方法と、このタイプの実装に役立つツールがあるかどうか疑問に思っています。 現在、私たちのテストの多くは、プレイブック中に連続して行われます。これは、「サービスが出てきました。VIPが利用可能です。この非同期タスクが終了しました」などです。アプリケーション層とプロビジョニング層の両方での構成(VM構成など)。Ansibleは構成のドリフトを処理するための最良のツールではないことは承知していますが、あなた自身の意見を知りたいと思います。 プロセスをさらに完全に自動化するものがあれば。(毎日スラックで報告するいくつかのいスクリプトがあります)。 注:現在、再プロビジョニングが発生する可能性があるいくつかの条件(バックアップからの再構築、重要なシステムの問題など)がありますが、通常はいくつかのansible構成タスクをループし、それ以上は考えません。

7
「DevOpsエンジニア」を雇おうとしないのはなぜですか?
持つのアイデアDevOpsチームのエンジニアは、となっている最近非常に人気があり、それは、ただのスロットとDevOpsチームの多くの利点を提供できる人を持っている魅力的なようだ人形のブログで説明したように: DevOpsプラクティスを使用している組織は、圧倒的に高機能です。2015年のDevOpsのレポートによると、競合他社の最大30倍の頻度でコードを展開し、展開の50%が失敗します。 ただし、これらの改善を試みるDevOpsエンジニアのアイデアに反対する声が多いことに気付きました。 DevOpsの主要な属性について広く合意されていても、「DevOpsエンジニア」という用語をめぐる論争があります。用語自体がDevOpsの価値と矛盾すると言う人もいます。Continuous Deliveryの共著者であるJez Humbleは、DevOpsエンジニアを誰かと呼ぶだけで、devとopsに加えて3番目のサイロを作成できることを指摘しています。 」 このようなブログが提唱する組織の変更とは対照的に、DevOpsエンジニアを雇って「DevOpsを実装」することは、ビジネスにとってそれほど素晴らしい考えではないのはなぜですか?隔離されたDevOpsの役割を持っているだけでは、メリットは無効になりますか?

2
S3がオフラインになったときにサイトをオンラインに保つための良い戦略は何ですか?
S3がオフラインになったときにサイトをオンラインに保つための良い戦略は何ですか? S3 US East 1がオフラインになった場合、サイト全体がオフラインになるのを防ぐために、アプリを構成/構造化する方法を教えてください。 このような状況で多様化するための最善の戦略は何ですか?

3
DevOpsはITILと互換性がありますか?
私のキャリアの中で、私はソフトウェア開発者であり、ITILの実務家でもありました。したがって、DevOpsは私にとって自然な進歩でした。 しかし、私は常にITILが導入する高度に専門化された言語と格闘しており、その「開発者に優しい」ことで開発者を完全に引き離さないようにしました。 ITILは、組織の運用の安定性と成熟度に実証済みのメリットをもたらす一連のプラクティスとして30年以上にわたって開発された、国際的に認められたITサービス管理フレームワークです。 DevOpsはITILと完全に互換性がありますか、または本質的にITILの精神を取り入れて、開発チームがより理解しやすい言語に「翻訳」する必要がありますか。 インシデントおよび問題管理→生産上の欠陥、バグまたは問題 変更およびリリース管理→継続的デリバリー イベント管理→ロギング、テレメトリ、計装、アラート

5
Dockerを使用せずにDocker HubからDockerイメージをダウンロードする
Docker HubからDocker Imageを手動でダウンロードしたい。より具体的には、Dockerクライアントソフトウェアがインストールされていない(およびインストールできない)制限された環境のマシンで、Docker HubからDockerイメージをダウンロードしたい。公式のAPIを使用してこれが可能になると考えていましたが、そうではないようです。次の説明を参照してください。 dockerコマンドなしでdockerイメージをフェッチします。例:wgetを使用 APIが画像のダウンロードをサポートしていないのは本当ですか?これを回避する方法はありますか? 更新1: 次のServerFaultの投稿に出会いました。 インターネットに接続されていないマシンに転送するためのdockerイメージのダウンロード 受け入れられた解決策は、使用していますdocker save私の状況では解決しないコマンドを、。しかし、そこに投稿された別のソリューションは、次のStackOverflowの投稿を引用しています。 Dockerイメージのプル そこでのソリューションの1つは、特にイメージをダウンロードするためのコマンドを生成できるdocker-registry-debugと呼ばれるコマンドラインツールを参照していますcurl。ここに私が得たものがあります: user@host:~$ docker-registry-debug curlme docker ubuntu # Reading user/passwd from env var "USER_CREDS" # No password provided, disabling auth # Getting token from https://index.docker.io # Got registry endpoint from the server: https://registry-1.docker.io # Got token: signature=1234567890abcde1234567890abcde1234567890,repository="library/docker",access=read curl -i …
32 docker  dockerhub 

6
チームの開発者を説得して、「あなたはそれを構築し、あなたはそれを実行する」ことを受け入れることができますか?
チームの開発者を説得して、「あなたはそれを構築し、あなたはそれを実行する」ことを受け入れることができますか?それにより、私はヴェルナー・フォーゲルスからのこの引用を念頭に置いています: 開発者に操作上の責任を与えることにより、顧客と技術の両方の観点から、サービスの品質が大幅に向上しました。従来のモデルでは、開発と運用を分離する壁にソフトウェアを持ち込み、それを捨てて忘れます。Amazonではありません。それを構築し、実行します。これにより、開発者はソフトウェアの日々の運用に触れることができます。また、顧客との日々の接触にもつながります。この顧客フィードバックループは、サービスの品質を向上させるために不可欠です。 私は具体的に次のような開発者のセットを考えています: オペレーション関連のタスクについてはほとんど/まったく言及せずに、開発者の役割に雇われました。 伝統的にopsチームに「壁を越えてコードを投げる」。 従来、9〜5の勤務スケジュールがあり、特に通常の営業時間外は、「ポケットベルの義務」、災害復旧への参加、事後分析などに積極的に敵対しています。(注:これについては非常にまれな停止しか考えていません。このチームのワークロードに営業時間外のカスタマーサポートを追加することは提案していません。) 現在、アプリケーションの監視または警告の作成/サポートについては責任を負いません。 新しいクラウドマイクロサービスを急速に開発しているチームがいて、これらのサービスをopsチームに引き渡すのが次第に深い知識を得られないために最適ではないようになっているとしますそれらを効果的に管理および監視するために必要なサービス。「構築して実行する」ことは、タスクが各担当チームメンバーに委任される可能性があるため、このチームにとってはうまく機能します。そのため、このチームは、インフラストラクチャの設計、サービスの監視/アラートツール、および(非常にまれに)停止イベントへの対応に参加し始めました。 実世界の例に裏付けられた方法論に特に興味があります。これが他の職場でどのように正常に実装されたか、そしてこれを実装する際に従うべき標準的な手順がある場合はどうですか?回答をサポートできる記事へのリンクは非常に役立ちます。
29 culture 


3
このカオスモンキーは誰ですか?なぜ彼は私のサーバーをクラッシュさせたのですか?
私は完璧なサーバーを持っていて、とてもきれいで堅実だったので、ペトラと名付けました。あらゆる点で完璧であり、すべてが適切に構成および調整され、完全な100%のサービス記録と753日間の稼働時間がありました。それがうまく動作することを確認するために多くの時間と努力を費やしました。社内の他のサーバーはこれほど優れていませんでした。しかし昨夜、この邪悪なモンスターが理由もなくサーバーをクラッシュさせました。 もちろん、午前2時に通知され、朝までそれを起動して実行し、すべてを構成して調整するのに時間がかかりましたが、以前ほど良くなることはないでしょう。以前の栄光に戻るには数週間かかるかもしれません。今、私の稼働時間は過ぎ去りました。私はほんの3つの9さえ持っておらず、これが私の評判にどう影響するかを知っています。このカオスモンキーは誰ですか?なぜ彼は私のサーバーにそれをしましたか、そしてなぜ彼は私を台無しにしようとしているのですか?

3
Dockerレイヤーについて
に次のブロックがありますDockerfile: RUN yum -y update RUN yum -y install epel-release RUN yum -y groupinstall "Development Tools" RUN yum -y install python-pip git mysql-devel libxml2-devel libxslt-devel python-devel openldap-devel libffi-devel openssl-devel RUN作成されたドッカーレイヤーを削減するには、これらのコマンドを統合する必要があると言われました。 RUN yum -y update \ && yum -y install epel-release \ && yum -y groupinstall "Development Tools" \ && yum …

5
Packerでパッケージ化するときにUbuntu 16.04で「apt-get upgrade -y」を実行するときに対話型ダイアログを回避するにはどうすればよいですか?
私が使用していパッカーを Ubuntuの16.04画像に基づいてAWS AMIを作成します。最初は、アップグレードを行っています。 sudo apt-get update sudo apt-get upgrade -y プロビジョニング担当者セクションの関連部分は次のとおりです。 "provisioners": [ { "type": "shell", "inline": [ "sudo apt-get update", "sudo apt-get upgrade -y" ] } ] ただし、インタラクティブなダイアログがポップアップするため、自動化が中断されます。 amazon-ebs: Found kernel: /boot/vmlinuz-4.4.0-72-generic amazon-ebs: A new version of /boot/grub/menu.lst is available, but the version installed amazon-ebs: currently has been locally …

4
Jenkinsを適切にスケーリングする方法は?
私のプロジェクトでは、Jenkins Master + 1 Jenkins slave(2エグゼキューター)を実行するAWSサーバーが1つあり 、ビルドパワーを増強するために3つのオプションがあります: スケールアップ:AWSインスタンスを大きくし、エグゼキューターを追加します。 スケールアップ:AWSインスタンスを大きくし、別のjenkinsスレーブプロセスを追加します。 スケールアウト:jenkinsスレーブを使用して別のAWSインスタンスを作成し、マスターに接続します 私たちは大規模な組織であり、現在のジェンキンスマスターは必要なすべての場所にすでにアクセスしているため、2。を実行したいと考えています。オプション3。「新しいサーバー」は、数週間かかる官僚的な承認をさらに必要とするため、複雑です。 だから私の質問は: オプション2に技術的な問題はありますか?。各ジェンキンススレーブのエグゼキューターは、他のスレーブエグゼキューターを知らないのでしょうか? 一般的に、ジェンキンスをスケーリングするための最良のアプローチは何ですか?スケールアップまたはスケールアウト?

4
AWS EC2のスポット価格がオンデマンド価格より高いのはなぜですか?
昨日、Ansibleを介してスポットインスタンスをプロビジョニングしようとしていたため、スポット価格==そのインスタンスのオンデマンド価格を設定しても、ほとんどすべてのリクエストが失敗しました。 そのため、スポット価格グラフを見てみると、非常に興味深いことがわかりました。 us-east-1aのインスタンスのスポット価格はオンデマンド価格よりも高いため、混乱しました。[実際、〜5倍高い] 低コストのためにスポットインスタンスは好まれませんか?はいの場合、価格がオンデマンド価格より高いのはなぜですか? AWSのドキュメントによると: スポットインスタンスは、未使用のAmazon EC2容量へのアクセスを、オンデマンド価格に比べて大幅に割引して提供します。 また、これは人々がオンデマンド価格に入札していることを意味しますか? はいの場合、なぜそうですか?オンデマンドインスタンスの方が良いとは思いませんか? または、スポットインスタンスの概念を間違って理解しましたか?

2
クラウドサービスの複合サービスレベル契約(SLA)をどのように計算しますか?
が主催するクラウドサービスAmazon Webサービス、アズール、グーグルや他のほとんどは公開S ervice L EVEL A greementそれらが提供する個々のサービスのために、またはSLAを。アーキテクト、プラットフォームエンジニア、および開発者は、これらを組み合わせて、アプリケーションのホスティングを提供するアーキテクチャを作成する責任があります。 これらのサービスは、単独で使用すると、通常、3〜4の範囲の可用性を提供します。 Azure Traffic Manager:99.99%または「フォーナイン」。 SQL Azure:99.99%または「フォーナイン」。 Azure App Service:99.95%または「スリーナインファイブ」。 ただし、アーキテクチャで一緒に組み合わせると、いずれかのコンポーネントが停止し、コンポーネントサービスとは異なる全体的な可用性が得られる可能性があります。 シリアル化合物の可用性 この例には、次の3つの障害モードがあります。 SQL Azureがダウンしています App Serviceがダウンしています 両方ともダウンしています したがって、この「システム」の全体的な可用性は99.95%未満でなければなりません。これを考える私の理由は、両方のサービスのSLA が次のようになっている場合です。 サービスは24時間のうち23時間利用可能です 次に: App Serviceは0100〜0200の間にある可能性があります 0500から0600の間のデータベース 両方のコンポーネント部分はSLA内にありますが、システム全体は24時間のうち2時間利用できませんでした。 シリアルおよびパラレルの可用性 このアーキテクチャには、主に次のような多数の障害モードがあります。 RegionAのSQL Serverがダウンしています RegionBのSQL Serverがダウンしています RegionAのApp Serviceがダウンしています RegionBのApp Serviceがダウンしています Traffic Managerがダウンしています 上記の組み合わせ Traffic Managerはサーキットブレーカーであるため、いずれかの地域の停止を検出し、トラフィックを作業領域にルーティングすることができますが、Traffic Managerの形式には単一障害点があるため、「システム」の全体的な可用性は99.99%を超えます。 上記の2つのシステムの複合可用性をビジネス向けに計算および文書化するにはどうすればよいですか? 図に注釈を付けたい場合は、Lucid …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.