DevOps

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

2
大規模な組織でBranchageddonを回避するにはどうすればよいですか?
大規模な組織で作業するときに、どのようにしてブランチエイジドンの状況を回避しますか? 私たちは、ソフトウェアの更新ではなく、高/重要なセキュリティパッチとオーダーメイドの機能のみを採用するというアプローチを持つ多くの大規模な金融機関と協力しています。これらの組織は、メジャーアップデートの合間にのみパッチとカスタムリリースを取得します。メジャーアップデートは数年離れている可能性があり、コストが高くつきます。このアプローチにより、私たち(ソフトウェアハウス)は、主要な顧客ごとにコードのブランチを作成します。これには、長期ブランチのすべてのコストと非効率性が伴います。 コミュニティへの私の質問は次のとおりです。 顧客から同様のアップデート承認アプローチを経験しましたか? このアプローチでの作業を支援するためにどのような提案がありますか? ソフトウェアの更新を行うための組織のアプローチを変えるためにどのような提案がありますか?

2
docker compose環境ファイルで環境変数が壊れているのはなぜですか
コンテキスト:docker-composeは、Flaskアプリを呼び出すGunicornなど、いくつかのコンテナーを起動します。環境ファイルweb/env.gunicornを使用して、Gunicornスタートアップ構成を保存しています。このファイルには GUNICORN_CMD_ARGS="--bind=127.0.0.1:8001 --workers=3" 問題はGUNICORN_CMD_ARGS、パイプラインのどこかで正しく処理されないことです。実行中に発生するエラーdocker logs gunicornは Error: '8001 --workers=3' is not a valid port number. 問題は、私の設定のどこに私の仮定が間違っているのですか?端末で手動で実行すると、環境変数が受け入れられます。docker composeファイルは次のようになります version: "3" services: # nginx: # image: nginx:latest # ports: # - "80:80" # volumes: # - ./nginx:/etc/nginx/conf.d # depends_on: # - web web: build: ./web container_name: gunicorn ports: - "8001:8001" environment: - …

2
タイタスとは何ですか?それはどのような問題を解決しますか?
Mediumからタイトルが付けられた「Netflixでのコンテナ使用の進化」という記事を読み、そのトピックに関するビデオをいくつか見ましたが、なぜTitus(これらで参照されている)を使用する必要があるのか​​がわかりません。Kubernetesとは異なりますか、それともKubernetesと組み合わせて使用​​する必要がありますか?

3
新しいマイクロサービス間の一貫性を確保するにはどうすればよいですか?
私の組織はマイクロサービスの爆発的な増加を経験しています。現在、新しいプロジェクトをブートストラップする正式な方法はありません。チームが展開またはビルドプロセスにバグを抱えて来て、別のプロジェクトですでに解決済みであることを理解するためだけに時間を費やすことに気づきました。また、標準化してほしいプロジェクト間には多くの矛盾があります。 多くの場合、変更には単一のファイル(例:serverless.ymlまたはMakefile)が含まれるため、共有ライブラリ(例:gitサブモジュール)を含む解決策は現実的ではないようです。各プロジェクトには、Dockerfilesやserverless.ymlなど、維持する必要のある独自の構成セットがあるため、VMの集中構成管理ソリューションは実際には適用できません。 新しいマイクロサービスが組織の標準に準拠し、新しいプロジェクトを開始したい開発者にとって簡単で直感的な方法で、既存のプロジェクトのバグ修正/機能を確実に含めるにはどうすればよいですか?これらの問題の解決に関するいくつかのベストプラクティスは何ですか? 現在のワークフローは、隣の人に「テンプレートとして使用するにはどのプロジェクトからクローンを作成すればよいですか?」と尋ねることです。次に、そのプロジェクトに不要なものをすべて削除します。

2
どのようにシステムすることができます。DevOpsエンジニアとして働くための管理スキル?
専任のDevOpsエンジニアになるためのスキルアップ方法に関する推奨事項を探しています。 私はコーディングが大好きなので、常に開発関連のプロジェクトに取り組みたいと思っていましたが、残念ながら機会がありませんでした。以前は.NetとPHPを使用してフリーランスのプロジェクトに取り組み、Java SEで認定されていますが、使用したことはありません。 私の実務経験には、システムおよびアプリケーションの管理での経験が組み込まれています。ほとんどの場合、私はこの分野で今はシニアです。したがって、ジュニアからやり直す必要があるため、開発への切り替えは好ましくありません。ただし、DevOpsは完璧だと思いますが、知識のギャップを埋めるために何を研究する必要があるかを知って、優れた専任のDevOpsエンジニア(できれば、自動化とツールの作成に関する部分)になる必要があります。 たとえば、PythonやPerl、RubyはDevOpsに非常に適していると聞きましたが、他に何を始めるべきか、また最初にカバーする必要がある必須スキルは何ですか? 私の現在のスキルセット: Sys。管理者 Unix(HP-UX、Solaris)およびLinux(Ubuntu、Red Hat、CentOS)の管理 ミドルウェアテクノロジー管理(WebLogic、Apache-Tomcat、WebSphere、MQ) バッシュ/シェルスクリプト Webサーバーの構成と管理 一般的なデータベースシステム(SQL Server、Oracle、MySQLなど)に関する優れた知識 Webサービスと統合SOAP / REST / API Oracle Business Intelligence Suite(OBIEE、DAC、Informatica) ITSM Remedy開発および管理。 SAPビジネスオブジェクト(分析)。 Splunk サービスセンター– ITIL対応のITサービス管理 ウェブアプリケーションテクノロジーに関する深い理解。 開発者 Microsoft Visual Basicのエキスパート開発スキル。 Java SEの優れた開発スキル。 Microsoft .Net開発 MS SharePoint開発。 MS Officeの専門家で、すべてのMS Officeアプリケーションのマクロとオートメーションに関する専門知識を持っています。 中級PHP開発(CakePHP)
10 sysadmin 

2
AWS設定への変更を追跡する方法は?
AWSシステムに加えた変更を追跡する方法はありますか? たとえば、natの使用からiwgへのサブネット設定の変更-これらはメッセージを表示してから消えます。 AWSにログを作成して、いつ、何が、いつ変更されたかを追跡できるようにする方法はありますか? 現在最も近いのはElasticBeanstalkイベントですが、それでもAWSが何をしたかがわかるだけで、イベントを発生させるために変更された設定はわかりません。

2
Gitは.gitconfigのhttp.sslcainfoプロパティを認識しているようですが、実行時にそれを無視しますか?SEC_E_UNTRUSTED_ROOT
すべて、有効な証明書チェーン(OpenSSLでテスト可能)がありますが、どういうわけかこれらの証明書をロードするようにGitに指示することができません。 私が得る同じ「信頼できないルート権限」エラー(SEC_E_UNTRUSTED_ROOT)を独立して、既存または偽の証明書チェーンファイルにするかどうか、私のgitの構成ポイントの。 詳しくは、添付のスクリーンショットをご確認ください。 .gitconfig偽のファイルに使用する設定: sslCAInfo = C:/tmp/foobar.crt または、OpenSSLで動作する実際のファイルの場合: sslCAInfo = C:/tmp/ca-bundle.crt コンソールの筆記録: C:\tmp>openssl version OpenSSL 0.9.8h 28 May 2008 C:\tmp>git --version git version 2.12.2.windows.2 C:\tmp>git config --list http.sslverify=true http.sslcainfo=C:/tmp/ca-bundle.crt C:\tmp>dir 24.04.2017 13:45 10.875 ca-bundle.crt c:\tmp>openssl s_client -state -connect https://mygithost:443 -CAfile .\ca-bundle.crt Verify return code: 0 (ok) C:\tmp git clone https://mygithost/bitbucket/scm/my.git …
10 git  windows  ssl 

2
ほぼ同時にほぼ毎日突然メモリが解放される
Windows AzureにeコマースWebサイトを実行するVMがいくつかありますが、最近、Telegraf、InfluxDb、Grafanaを使用してこれらのマシンを監視しています。数週間データを収集した後、メモリ使用可能メトリックに関連する奇妙なパターンに気づきました。 毎日ほぼ同じ日に、解放されているメモリの量が急激に増加していることに気づきました。非常に限られたDevOpスキルのために、何が原因なのか理解できません。 このパターンを示すグラフは次のとおりです。 私の質問は、次のようなものにつながる可能性があるのは何ですか?メモリリークのせいだと疑いがちですが、...空きメモリが70%を下回ることはなく、トラフィックが最も多い2つのVMでのみ発生します。 このようなものが表示されたときに心配する必要がありますか? PS:私が実行している各Windowsサービスとw3wpプロセスのPrivate e Virtualバイトのメトリックの収集を開始しました...ただし、このメトリックはメモリリークがあるかどうかを確認するのに非常に信頼性が高くないことを読みましたが、しかし、少なくとも、ある種の傾向を取得して、それが上記のパターンと相関しているかどうかを確認しようとします。
10 azure  windows 

2
分散サービスで「リトライストーム」を回避する方法
「再試行ストーム」は、クライアントが設定された回数再試行するように設定された場合に発生します。サービスの通常の動作ではパケット損失が発生するため、再試行ポリシーが必要です。 この例を見てみましょう: たとえば、サービス全体が1秒あたり80,000リクエストをサポートし、キャパシティの約80%で実行されるようにスケーリングされている場合、サービスが1秒あたり101,000リクエストを受信する原因となったトラフィックのスパイクにより、1,000リクエストが失敗します。 再試行ポリシーが有効になると、エラーが検出された場所に応じて、追加で1,000以上のリクエストが発生し、サービス全体として1秒あたり最大102,000のリクエストがプッシュされます。毎秒失敗したリクエストの数。 予測されたピークトランザクションを超えるサービスの大規模な過剰プロビジョニング以外は、非効率的です。「リトライストーム」を回避するためにどのような戦略を採用できますか?

1
Logstashで複数のビート入力を使用する必要がありますか?
beats入力プラグインに関するいくつかの調査、特にこれを書き換えた後、複数のエントリタイプを処理するために、1つのビート入力のみを使用する必要があるのか​​、それとも複数を使用する必要があるのか​​疑問に思います。 およそ500台のマシンからのイベントがあり、20/80のWindows / Linuxディストリビューションがあります。マルチプルビートシッパー、ファイルビート、メトリックビート、そしておそらくパケットビートを使用する予定です。 タイプ/ OSカップルごとに1つの入力を使用することに関心がありますか、それとも1つの入力だけで、フィルターパイプラインで「if type = ...」で十分ですか?

2
「aws-sdk」を使用してGoogleストレージにオブジェクトを保存できますか?
Google Storageは、Amazon AWS S3およびEucalyptus Systems APIとのソリューションの相互運用性をサポートしていると主張しています。 ソース:https : //cloud.google.com/storage/docs/interoperability ことができますaws-sdkJavaのために、またはのNode.js、やPython、格納するために使用し、GoogleのストレージAPIでオブジェクトを取得しますか?

5
ブランチの品質レベルの低下を保証するCIツールはありますか?
従来、CIシステムは、変更がすでにコミットされているコードベースでQA検証を実行し、リグレッションを監視して人間の介入の通知を送信することにより、統合ブランチの品質レベルの監視のみを実行します。 しかし、これらのリグレッションが検出された場合、少なくともそれぞれのQA検証が開始されてからブランチはすでに問題を抱えており、すべての原因が特定されて修復がコミットされ、新しいQA検証が行われるまで、そのような状態が続きます(またはさらに悪化します!)ブランチの品質レベルが復元されたことを確認します。この間、ブランチは通常の開発のためにブロックされたと見なすことができます。 このようなリグレッションの発生を実際に防ぐことができるCIツールはありますか?これは、コミット前の QA検証を実行し、それぞれのコミットで更新されたコードベースがそれらのコミット前のQA検証にも合格する場合にのみコミットを許可するため、最小を保証しますブランチの品質レベル? 更新:それぞれの回帰を検出できるように適切なカバレッジを備えた適切な自動QA検証がCIツールによる呼び出しに利用可能であることが前提です。

2
組織の既存のポリシーを変更するにはどうすればよいですか?
DevOpsの変革を望んでいる組織には、変更に関心のある問題とポリシーがあると思います。この関心は、トップマネージャー、ミドルマネージャー、またはボトムアップからも発生します。この変化を妨げる最大の要因の1つは、他の人々に変化を起こさせることです。 たとえば、多くの場合、アジャイルなどの「新しい」アイデアをプッシュすることは失敗することがよくあります。人々は変化に抵抗します、そしてそれは良いことが起こるのを止める壁のようです。しかし、良いことが起こるように委任されています。 DevOps変革を開始する組織の従業員に影響を与えるには、どのような方法を使用できますか?特に動作することが判明している特定のテクニックと方法。特定のas-inより多くのエンジニアリング、少ない手振れ。
10 culture 

2
「DevOps Transformation」には何が含まれていますか?
一部のコンサルティング会社は、「DevOps Transformation」と呼ばれるサービスを推進しています。複数の大企業が世界中の会議や会合でこの問題について話し合っています。 そのような "DevOps Transformation"は何を伴いますか?それは、成功した変革と失敗した変革の両方について、実行可能な用語でどのように見えるか。

2
Dev for Opsのクラッシュコース?
私は主にJavaを教えられたCompSciで教育を受けましたが、そこで学んだことは、私の情熱がシステムであることです。そのため、私は常に運用面で働いてきました。私はスクリプティングが得意なので、Rubyを教えるためのサイトを探しているのではなく、開発者が1日に何をしているかをより詳しく説明するものを探しています。私は文化をよりよく理解し、プロジェクト内の膨大な数のファイル、つまり無形資産をどのように消化するかを理解したいと思います。 今日私が月曜日に開発チームに移動されたことを知った場合、今週末何を読みたいですか?

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