When we have a large organization and number of changes and deployments are more than we should go for Copado. As we know it is a paid managed package and the cost is high so for dealing with fewer deployments it is not preferable to buy. Copado is well suited for users who don't have much technical understanding. So those users can see the User interface select the changes that need to be deployed by selecting the metadata. From Git operation to deployment all is handled by Copado itself. Copado has reduced the efforts for creating the package.xml and direct deployments can be done within a few clicks. Another Major aspect is that it can be directly synced with Jira or Azzure board from where the user stories will be synced and actions can be performed accordingly. For small organization, Copado can be expensive and to set up and maintain we need a technical person to do so.
K8s should be avoided - If your application works well without being converted into microservices-based architecture & fits correctly in a VM, needs less scaling, have a fixed traffic pattern then it is better to keep away from Kubernetes. Otherwise, the operational challenges & technical expertise will add a lot to the OPEX. Also, if you're the one who thinks that containers consume fewer resources as compared to VMs then this is not true. As soon as you convert your application to a microservice-based architecture, a lot of components will add up, shooting your resource consumption even higher than VMs so, please beware. Kubernetes is a good choice - When the application needs quick scaling, is already in microservice-based architecture, has no fixed traffic pattern, most of the employees already have desired skills.
Local development, Kubernetes does tend to be a bit complicated and unnecessary in environments where all development is done locally.
The need for add-ons, Helm is almost required when running Kubernetes. This brings a whole new tool to manage and learn before a developer can really start to use Kubernetes effectively.
Finicy configmap schemes. Kubernetes configmaps often have environment breaking hangups. The fail safes surrounding configmaps are sadly lacking.
The Kubernetes is going to be highly likely renewed as the technologies that will be placed on top of it are long term as of planning. There shouldn't be any last minute changes in the adoption and I do not anticipate sudden change of the core underlying technology. It is just that the slow process of technology adoption that makes it hard to switch to something else.
very good user interface. It has reduced tons of manual efforts for the developers. Very easy to validate the release work. Easy to club multiple stories into one deployment. We can integrate Copado with our JIRA and all the PR’s are visible under the user story on JIRA board. But this can be overwhelming for beginners
It is an eminently usable platform. However, its popularity is overshadowed by its complexity. To properly leverage the capabilities and possibilities of Kubernetes as a platform, you need to have excellent understanding of your use case, even better understanding of whether you even need Kubernetes, and if yes - be ready to invest in good engineering support for the platform itself
There are tools such as ANT migration tool or using sfdx but Copado makes the deployments super simple. If a user is not that technically strong still he can use Copado and deploy the changes in a few clicks. Copado provides a complete package of maintaining the development and repositories in a common platform. There are pipelines that you can set that changes will move from which org to the final org in a very organized manner. We can perform static code analysis at the time of deployment of the changes and we have to clear those if we need to deploy the changes. Creating pull requests is super easy and can be managed by Copado itself. Overall a superb managed package for deployment in Salesforce.
Most of the required features for any orchestration tool or framework, which is provided by Kubernetes. After understanding all modules and features of the K8S, it is the best fit for us as compared with others out there.
It has reduced the efforts to create package.xml manually and deploy the changes
Another positive impact is that we can track the commits to which org they have reached in an organized way and we don't need to maintain them separately
For setting Copado it take a lot of time and training is required for the complete setup which is time-consuming