93.【エンジニア備忘録】Salesforceは開発・検証・本番の3環境以上ほしい!
Salesforceエンジニアとして働いて6年近くになります。
今まで色んな会社のSalesforce環境を見てきました。
その経験の中でSalesforceの環境について大事だと思うことを今回書いていきます。
※今回はエンジニア用語満載な記事なので読みにくかったらごめんなさい。
エンジニアから見た現状
Salesforceを導入している会社は多いですが、使い方も会社によって全然違います。
特に保守はそれが顕著に現れていて、導入してメンテナンスせずにそのまま使い続けている企業さんも多いですね。
設計書などが残っていないことも多く、Apexなどプログラムで作り込んでいる場合はブラックボックス化していることも多々あります。
無法地帯な環境もありますが、中でも本番環境とステージング環境に差異があるところが多いですね。
理由としては保守が切れていたり、社内エンジニアの退職など会社さんによって様々ですが、環境のキャッチアップに時間がかかります。
Salesforceは後から直すのは大変で特にApexなどは一度リリースすると削除するのが結構手間がかかります。
開発、検証、本番環境の3環境が必要
ようやく本題ですが、今回備忘録として残すのは環境を整理できるなら開発・検証・本番環境の3つ整えるということです。
3つの環境について簡単に記載します。
【開発・Dev環境】
・エンジニアが改修やSalesforceのバージョンアップ対応など開発で使用する。会社によって呼び方は様々だがdev環境と呼んでるところも多い。
【検証・ステージング環境】
・主にリリース前の内容をクライアントが事前確認したり、障害が発生した場合の調査に使用する。
【本番環境】
・クライアントが実際に使用している。
データ量が多い会社さんでは検証環境にFull環境を準備してるところもありますね。Full環境がない会社さんではPartial環境を検証環境にしているところが多いですかね。
会社さんによって呼び方は違いますが、役割としてはこの大体3つです。
複数の開発が走る現場だと開発環境が複数あったりしますが、検証環境と本番環境は1つです。
なぜ3環境必要なのか?
よく本番と検証環境の2環境じゃダメなの?と聞かれます。
Salesforceのリリースする手順上、2環境は最低限必要なのでその気持ちはよくわかります。
ただ、個人的に大きなデメリットだと感じることが2つあります。
1つ目は、障害の調査が困難になる
本番環境で障害が発生した際に検証環境が開発中やメンテナンスしてなくて差異があると原因究明が難しいということです。
本番環境でガチャガチャとテストする訳にはいかないですからね(汗)
リカバリのしやすさを考えると検証環境と本番環境は揃えておいた方がいいということです。
2つ目は、本番リリース時のエラーが発生しやすい
本番環境へリリースする際は、Salesforceのチェックが入ります。
これが2環境でリリース作業がぶっつけ本番になると、リリース手順の確認が事前にできないためリリースボリュームが大きくなればなるほど失敗するリスクが高くなります。
リリース時のエラー修正は、手間がかかるのと何より心労がハンパないです(笑)
事前にリリース手順を開発環境から検証環境に行うと本番リリース時にも同じ手順が使えます。
大きな点だとその2点が、ユーザとエンジニアの両方にとってメリットが大きいのでおススメだと思います。
ただし、デメリットとして工数はその分大きくなるので要相談ですね。
デメリットを考えても安全性を考えると3環境準備することをおススメします。
長くなりましたが、以上がSalesforceの環境を3環境以上準備したほうがいいお話になります。
自分は本番リリースで手間取るのが一番精神的にキツイので必ず提案するようにしてます(笑)
完璧だ!と準備しても手間取ることが多々あるので。。。泣
また残しておきたいことは備忘録として書いていきます!
この記事が気に入ったらサポートをしてみませんか?