Perforce P4 (formerly Helix Core) is the company's version control and peer code review solution. Perforce offers add-on products for code review for free, and Git support products.
N/A
Ansible
Score 9.0 out of 10
N/A
The Red Hat Ansible Automation Platform (acquired by Red Hat in 2015) is a foundation for building and operating automation across an organization. The platform includes tools needed to implement enterprise-wide automation, and can automate resource provisioning, and IT environments and configuration of systems and devices. It can be used in a CI/CD process to provision the target environment and to then deploy the application on it.
While Perforce Helix is the best version control software out there, it can also be used to track your documentation, training videos and materials, and requirements. If you have strict compliance requirements, it can be used to ensure that those requirements are satisfied. Perforce Helix is incredibly flexible and can meet the needs of individual users as well as companies with thousands of users.
I think it's the best defacto orchestrator for automation because it's so easy to integrate in other tools to it (dynatrace, cyberark, terraform, etc). It is a lot for a new or smaller team to use so I wouldn't recommend it to a new team using Ansible, in that case using Ansible navigator is a better start to understanding playbooks/inventories before diving into the complexity of Red Hat Ansible Automation Platform. EDA also takes a lot of connectivity between Red Hat Ansible Automation Platform and target systems to get working which can be difficult in very locked down envs unless you have approval from many other teams like networking and security.
The branching mechanisms in Perforce allow for an enormous codebase to be duplicated into release versions weekly with little impact upon things such as the speed of queries against the version control.
Action triggers permit such things as automated builds of software versions, dynamic messaging when issues are identified either within or prior to a build process, and much more.
Locking provides the ability to prevent modifications of stable, tested versions in order to ensure validity when they are released.
Perforce tends to feel backwards in how it approaches certain tasks, like branching and integrating - even once you figure out how it wants you to perform these tasks, you will likely forget when it comes around to the next time you need to do them again.
Perforce has a higher price tag, comparatively.
Perforce make some tasks very easy, and yet other tasks very difficult - it doesn't always seem to have found its target user's proficiency.
We are fully committed to our use of Perforce. It works well within our organization and our desire to share our code base with our customers. Their support staff are responsive, inquisitive, and eager to improve their software. I feel like we have a direct line to their design/feature team as they often solicit our feedback.
We are extremely happy with the use of AAP. It's better than expected, There is almost no limit when thinking of automation. The only problem is that the day to day is consuming a big part of our time. Patching and checking vulnerabilities are virtually killing us. But we can only improve with AAP.
With Perforce Helix, you can use it via the command line, via P4V, or any of the other APIs included with the product. It is extremely easy for new users to get up and running. Users of Perforce Helix only have to pull in the files of interest to them. Also, Perforce is very easy to script and integrate into your CI/CD pipeline. Streams allows you to have pinpoint control of your workflow, and P4Search is the absolute best--I wish Perforce (the company) would talk more about this. It is absolutely fabulous!
Everything has room for improvement, but Ansible is the best tool out there for what it does and what it can do. There are plenty of features and capabilities that can be added, but it's just a matter of time before it happens.
In our large environment, Perforce is rarely "down". We have regular maintenance windows and from time to time Perforce can feel a little slow, but its always available. Tech support has always worked with our engineers and IT department to make sure that any real performance or stability issues are addressed quickly.
Great in almost every way compared to any other configuration management software. The only thing I wish for is python3 support. Other than that, YAML is much improved compared to the Ruby of Chef. The agentless nature is incredibly convenient for managing systems quickly, and if a member of your term has no terminal experience whatsoever they can still use the UI.
I had two representatives from Perforce contact me after downloading it but never responded when I had questions. I also had a difficult time finding good training material for getting started. There is a lot of available support material when running into issues, though, because of how many large companies use it.
There is a lot of good documentation that Ansible and Red Hat provide which should help get someone started with making Ansible useful. But once you get to more complicated scenarios, you will benefit from learning from others. I have not used Red Hat support for work with Ansible, but many of the online resources are helpful.
This rating is related to setting up an environment from an existing Perforce repository. Initial setup of Perforce as the repository for the company was done by a separate team long prior to my inception.
Git is great, I love Git. But it's not great for dealing with binary assets, even when using Git LFS. Locking is not as simple as on perforce. Git presents some problems on using for non-tech people it can get overwhelming and tech people have to come by and help.
AAP compares favorably with Terraform and Power Automate. I don't have much experience with Terraform, but I find AAP and Ansible easier to use as well as having more capabilities. Power Platform is also an excellent automation tool that is user friendly but I feel that Ansible has more compatibility with a variety of technologies.
First, it keeps our entire server infrastructure aligned with our standards and reduces the time and effort needed to maintain our systems.
Automate routine IT tasks to save time, reduce errors, and ensure every server is configured and updated consistently.
Tasks that used to take our teams weeks to complete manually now run automatically and reliably, with full visibility, making our infrastructure management more effective and our compliance tracking much easier.