DevOps

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

5
DevOpsはSaaS製品を持つ企業に制限されていますか?
継続的デリバリー、自動化などのDevOpsを説明するプラクティスは、SaaS製品などの継続的なサービスを提供する製品に関連しています。 たとえば、他のクライアントのためにプロジェクトを主に行うソフトウェア開発会社は、プロジェクトが終了した後、これらを維持することはありません。また、クライアントプロジェクトは無関係であるため、他のクライアントと共有されません。 DevOpsは、1回限りの複数のプロジェクトを開発する企業にも適用されますか?この場合、どんなDevOpsプラクティスが適用されますか?

2
秘密をDockerコンテナーに渡す
画像解析ソフトウェアを実行するために使用されるベースDockerイメージがあります。イメージから作成された各コンテナには、処理されたイメージを分析および配布するためにソフトウェアによって使用される秘密(暗号化キー、顧客情報など)である構成設定のセットがあります。これらの秘密をコンテナに安全に渡すにはどうすればよいですか?

4
ansible-vaultパスワードを置く場所
私たちは、gitでパスワードやキーの漏洩を防ぐために、プロジェクトでansible vaultを使用することを計画しています。 考えは、すべての機密データをプレーンファイルに入れ、パスワードを使用してansible-vaultでこのファイルを暗号化してからgitにプッシュすることです。 ファイルを復号化するには、ボールトのパスワードをansibleに渡す必要があります。3つの可能性について考えています。 サーバー環境変数内に保存します ansible-playbookコマンドのオプションとして渡します バージョン非対応のファイルに保存します。 ansible-vaultパスワードを保存するための最良の(そして安全な)方法である他のオプションはありますか?

3
Dockerをデータベースに使用しない理由は何ですか?
私はDockerのユースケースについて友人と議論しています。チームの1人の男は、あらゆる種類のDockerを使用したいと考えています-ユニバーサルUNIXプロセスラッパーのようなもの。もう1人は、DockerはマイクロサービスやAWS Lambdaスタイルのアプリなどのステートレスアプリケーションにのみ使用すべきだと考えています。 両方の概念実証を設計しました。Dockerクラスターには、Dockerホストのマウント時にマウントされる共有ドライブがあり、コンテナー内のデータベースがマウントされている場合は、単に共有ドライブにボリュームをマウントします。 私の友人は、相反する証拠を見せられたにもかかわらず、彼の立場に固執しています。(彼はまた、Dockerがスタックに複雑さを追加することで不必要なリスクを追加すると主張しています。) 私は彼の視点を聞いて理解しようとしています。共感の行為だけでなく、彼とのより良い理由にも。(私たちは皆、非常にうまくやっています-それで、これはインジェストと真剣な議論の混合です)。 質問の背後にある質問の種類は次のとおりです。データベースは牛ですか?このコメントは、データベースの適切な自動化されたバックアップおよび取得戦略が、牛サーバーと見分けがつかないことを示唆しています。 私の質問は、Dockerをデータベースに使用すべきでない理由は何ですか? 編集: 人々は私の用語を明確にするように私に頼みました。データベースアプリケーションはコンテナにあり、ストレージはボリュームにあると想定していました。つまり、RDBMSはコンテナ内にあり、データベースストレージはボリューム内にあります。 一部のコメンテーターは、ドッカーボリュームドライバーがデータベースの書き込みでうまく機能しないことを示唆しています。(またはその効果をもたらすもの)。それについて詳しく説明していただけますか?

4
DevOpsのROIを測定する方法は何ですか?
DevOpsは複雑で、文化やプロセスなどの多くの非決定論的な側面を伴います。 DevOpsイニシアチブの成功を測定するいくつかの方法は何ですか? 彼らが行った投資が実際のドルを返す(または節約する)ことをどのようにビジネスに証明しますか?
24 metrics  roi 

2
Terraformでcloud-initを使用する方法は?
私はDigital OceanとTerraformで作業しており、すでにドメイン、サブドメイン、ネットワーク設定、ホストを自動化できますがUser data、次のようなセクションがあります。 その分野の記述は言いAllows the use of Cloud-init to configure your dropletます。周りを見回して文書を見つけました。 私の質問は、Terraformを使用しながらこれをどのように活用するのですか?

2
docker-compose.ymlでブール値を使用できないのはなぜですか?
docker-compose.ymlファイルでブール値を定義する: environment: SOME_VAR: true および実行docker up結果: contains true, which is an invalid type, it should be a string, number, or a null 問題を解決しようとする trueがTrueに変更された場合、問題は解決しません。 使用して'true'(コード自体によって受け入れられないプレイフレームワークアプリを使用して開始され./target/universal/stage/bin/APPNAME -Dplay.evolutions.db.default.autoApply=、すなわちいずれか-Dplay.evolutions.db.default.autoApply=trueまたは-Dplay.evolutions.db.default.autoApply=falseパラメータ): VARにはBOOLEANではなくSTRING型があります yesまたはnoを変数として使用すると: trueを含みます。これは無効なタイプであり、文字列、数値、またはnullである必要があります True yesWorksに変換するスクリプトの使用と使用yes 討論 ドキュメントによると Any boolean values; true, false, yes no, need to be enclosed in quotes to ensure they are …

4
コンテナとは何ですか?
次のようなコンテナに関するいくつかの質問があります。 構成管理ツールは、不変のインフラストラクチャでどのような役割を果たしますか? コンテナオーケストレーションはどの問題を解決しますか? AWSのシンプルなCI / CDコンテナー 私の質問: (DevOpsのコンテキストで)実際に「コンテナ」とは何ですか? なぜ使用されるのですか?

5
不変サーバーとは何ですか?
不変のサーバーについては、次のような質問があります。 事後分析を行う能力を失うことなく、不変のサーバーパターンを実装する方法は? 構成管理ツールは、不変のインフラストラクチャでどのような役割を果たしますか? サーバー(私が得た部分)に関係していることは明らかです。そして不変の文法を消化するだけで、「ミュートすることは不可能」と関係があると思います。その推測が近い場合、私は正確にミュートすることができないものの手掛かりを持っていないだろう(と私はそれがサウンドカードまたは何かに関係しているとは思わない...)。 私の質問: (DevOpsのコンテキストで)実際に「不変サーバー」とは何ですか? なぜ使用されるのですか?

2
DockerfileでEXPOSEを使用する理由—とにかくすべてのポートにバインドできるため
そのポートをコンテナに入れdocker run -p 3000:3000 image ず にできEXPOSEます(以下を参照)。それが本当なら、なぜDockerfileにわざわざEXPOSEを入れるのですか?画像ユーザーとのコミュニケーションのためだけですか?ポートがすべてとにかくバインド可能であれば、ポートを公開する機能的な理由がわからないからです。 ここでは、公開されていないにもかかわらずコンテナ内のポートにバインドする手順を示します $ cat Dockerfile FROM alpine RUN apk add nodejs npm vim COPY webserver /webserver CMD [ "node", "/webserver/index.js" ] $ docker build . Sending build context to Docker daemon 1.931MB Step 1/4 : FROM alpine ---> 11cd0b38bc3c Step 2/4 : RUN apk …

3
四眼原理の可能な実装(または例)は何ですか?
MichaelGrünewaldが最近このコメントを投稿しました: あなたが言及していない非常に重要な方法は、規制の義務として、またはセーフガードとして、金融で使用されている「四つ目の原則」です。ソフトウェア業界では、コードレビューなど、さまざまな方法で実装されていますが、ライブシステムに影響するコマンドの検証にも使用できます。 間違っている場合は修正しますが、少なくとも4人の人間(および/または自動化されたプロセス)が事前の祝福を与えた後、「4目原則」は「発生が承認された」ものに関するものであると教えられました。または、ウィキペディアの「二人(二人)のルール」に関する(わずかに修正された)表現を使用するには: 二人ルールは、特に重要な素材または操作に対して高レベルのセキュリティを実現するために設計された制御メカニズムです。この規則の下では、すべてのアクセスとアクションには、常に2人の許可された人の存在が必要です。 規制上の義務はここでは話題になりませんが、「セーフガード」の文脈では、おそらく使用されているプラ​​ットフォーム/ OS /ハードウェアに適用される可能性のあるこの4つ目の原則の概念的な実装は何ですか?

5
孤立したAWS EC2スナップショットをクリーンアップする方法は?
AMIが削除されたAWS EC2スナップショットはかなりの量になりますが、スナップショットは腐敗したままです。お金とスペースを節約するために、これらの孤児を特定して削除する非手動の方法が欲しい。 理想的には、CLIを活用するbashスクリプトを考えていますが、AWS-fuは弱いです。誰かがこれをやったことがあると思いますが、実際に動作するスクリプトは見つかりません。 最良のシナリオでは、これもボリュームをチェックし、それらをクリーンアップしますが、2番目の質問により適している場合があります。

1
AWS SQSがHIPAAに準拠していないという事実を回避するにはどうすればよいですか?
S3からのデータがAWS SQSにキューイングされ、そのメトリックスがAWS LambdaをトリガーするCloudWatchに接続されるユースケースがあります。 ただし、アーキテクチャをHIPAA準拠にする必要があります。だから、私はこのアイデアを思いつきました: S3バケットがファイルを取得すると、 ファイルのハッシュ/名前スクランブルを実行し、別のS3バケットにコピーするLambda関数を起動します(経由aws cp) バケットをハッシュ/スクランブルされた名前でSQSキューに接続します これは安全で良い方法ですか?または、より良い回避策がありますか?(S3の暗号化されたキーをSQSに送信できれば幸いです。しかし、可能かどうか、または可能かどうかはわかりません)

1
Docker-in-Dockerが悪いと見なされるのはなぜですか?
2013年8月にはジェローム・Petazzoniがドッカーにドッカーを作成し、dind短いため、これはドッカーコンテナはドッカーコンテナの内部を作成することが許可され、この機能は、結果として非常に人気が証明したジェロームのGitHubのリポジトリ千の星と300本のフォークを超える受けます。 2年後の2015年8月にリリースされたDocker 1.8の時点では、DockerのDockerは、そのままDockerによって直接サポートされています。ただし、DockerでのDockerの使用には、Jérômeの投稿:CIまたはテスト環境でDocker-in-Dockerを使用していますか?考え直してください。これは、DockerのDockerが継続的インテグレーションに適した選択肢ではない理由に焦点を当てています。 DockerでDockerを使用するのはなぜ悪いと考えられるのですか?それは単にカメを完全に回避するためのケースですか?またはパフォーマンスの考慮事項?

2
Dockerで複数のログストリームを使用する方法
アクセスログ、汎用アプリケーションログ、システムログの3つのタイプのログを3つの個別のファイルに書き込むアプリケーションがあります。これらのログの形式(および目的)は大きく異なります。また、集中ログシステムに個別に送信する個別のログフォワーダーがあります。 ログをイベントストリームとして扱うという原則に基づいて、ファイルの使用から標準出力への移行を検討しています。このアプローチの利点の一部はわかっていますが、これはまた、異なる形式のログのマージされたストリームを取得することを意味し、中央システムに送信する前に再度分割する必要があります(Kibana / Splunk /など)、またはその中。 この状況にどのように取り組むべきかについてのツールや推奨事項があるかどうか疑問に思っています。
21 docker  logging 

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