私にはこの課題があります。私は DevOps エンジニアであり、チームのソフトウェア エンジニアでもあります。数か月前、開発者は中央の Oracle DB から、個々のラップトップの CentOS VM に DB を配置するようになりました。中央の DB から移行したのは、DBA への依存を減らし、データの不整合に起因する問題を排除するためでもありました。
チームの全員とデータベースを共有して確実に同期するための計画は、各人が変更スクリプトを全員と共有することでした。問題は、通信に Skype を使用していることです (slack をセットアップしたばかりで、まだ完全に使用し始めていません)。DB 変更スクリプトのテキストを投稿する人もいますが、見逃す人もいる可能性があります。もう 1 つの問題は、一部の開発者が変更を投稿しないことです。さらに、新しいリリースは、テストおよびデモ環境にデプロイされずに本番環境にデプロイされます。
これは私たちにとって深刻な課題であり、特に私は最近、デモの展開が本番環境の展開と同期していることを確認する責任を負うようになりました。同期の問題のほとんどは、変更スクリプトの欠落または DB オブジェクトの欠落によるデータベースの同期の欠如に端を発しています。Oracle は私たちの好みの DB です。
デモ環境での一般的な展開は、アプリケーションのテストを含む非常に骨の折れるプロセスであり、DB テーブルの列、関数、ストアド プロシージャの欠落が原因で問題が発生すると、欠落している DB オブジェクトを探し、それらを DB に適用してから、すべての問題が解決するまで続行します。
この問題を解決して、スムーズで手間がかからず、時間のかからない展開を実現するにはどうすればよいですか? アプリケーションを Docker に移行することで、DB 同期の問題とそれに伴う開発者の規律の欠如を解決できますか? この分野を改善するために、どのようなプロセスを導入できますか?
よろしくお願いいたします。