Copado Spring 22 Unveils Integrated Testing and Command Server Architecture
Copado, an independent software vendor based in Chicago, and the largest Salesforce devops platform provider, today announced the Copado Spring 22 Release, which is available immediately to existing Copado customers. Features of the new release include a new screen-based testing capability built directly into the command pipeline, Copado DevOps Actions, Job Templates, and version 2.0 of Copado Functions. “Re-engineering our platform to integrate automated testing is a milestone event for the industry – no other company has built a devops platform that natively integrates testing to improve software quality and security,” said David Brooks, Copado senior vice president of products. “Copado is delivering the next wave of innovation to further our multi-cloud strategy and empower the next generation of delivery teams. Customers and partners are using Copado as a strategic platform to align their people, process and technology investments and accelerate their journey to build a digital business,” added Mr. Brooks in a press release.
What is a Command Server?
Before I dig into Copado’s innovations, let’s review an important devops concept – the command server. I use this term instead of other rough equivalents, which include CI/CD engine, Jenkins server, scripting engine, serverless function, or DMZ server. In Copado’s case, they call it “native CI/CD.”
The term command server is something I came up with to generically describe a key feature that all devops systems must have, which is to be the conductor in a pipeline orchestration scheme. Just like how a conductor signals different parts of an orchestra to play according to a musical score, a command server automatically invokes system actions according to a script.
I call it a command server because that is functionally what it does, which is issue commands to other servers and online services. For a command server to work, it must be scripted with a pipeline which is a series of steps executed to perform a release management activity. With something like Jenkins, the pipeline might be expressed as high-level code in a text file, which is usually called a YAML file. Another way to script a command server is to use JavaScript in a NodeJS server environment which uses resources via REST APIs.
It is important to understand that all the leading Salesforce devops platform vendors perform the command server function, including Copado. But instead of scripting a release management pipeline with YAML or JavaScript, Copado and all the other Salesforce devops vendors let you do it in a low-code user interface.
Automated Screen Tests
With this announcement, 2nd generation screen-based testing is integrated directly into Copado’s command server pipelines. Copado now automatically runs screen-based tests to ensure no unanticipated changes or errors are encountered after a deployment action. Copado Robotic Testing is a separate product and must be purchased in addition to a Copado Enterprise license.
During a webinar announcing today’s news, Mr. Brooks compared the Copado Robotic Testing service to Selenium, which is a low-level screen-based testing tool that records screen sessions. He said that Copado now automatically records screen sessions as the basis for automatic tests. He also made the claim that the new testing system allows customers to increase testing coverage several times.
Copado Devops Actions
In what appears to be a major upgrade to Copado’s internal architecture, Mr. Brooks detailed feature enhancements that should make Copado more flexible and composable during today’s webinar.
Copado DevOps Actions is now a core feature of the platform, where key functionality may be accessed by Salesforce Flows, a REST API, or Apex. Package create, package install, create environment, rollback, backup, and deploy are examples of core Copado functions now available via DevOps Actions.
This new functionality allows Salesforce users to create screen actions that directly access Copado functions. This gives low-code users the ability to compose customized implementations of Copado features. The new REST API and Apex integration features should provide more opportunities for Copado partners to compose customized applications.
Copado Functions 2.0
Copado released a new version of their existing Copado Functions service which uses a Docker-container-based adapter system to support multi-cloud SaaS devops. The company says the new system uses a unified scripting language and lets users code a command server to manage any kind of devops activity. When asked during today’s webinar if Copado Functions 2.0 can replace a Jenkins command server, Mr. Brooks responded affirmatively. “I think we nailed it,” he added.
Scripts written for Copado functions may be accessed as Copado DevOps Actions. Other enhancements include support for long-running scripts, links to User Stories, and logfile management.
Major Architecture and Testing Enhancements
This version update for Copado lays groundwork for a more open user and partner ecosystem. By exposing the underlying features of the system with Copado DevOps Actions the company has greatly increased the potential for users and partners to innovate off the platform.
With Copado DevOps Actions it now seems possible for innovators to work with the platform and potentially eliminate some usage complaints. I hope that DevOps Actions helps to make Copado a little less declarative and more functional with custom solutions. It is also encouraging to see Copado continue work on their scripting environment, which provides a basis for a multi-cloud SaaS devops command server.
And Copado’s integration of test recording and automatic execution on the same platform is a major advancement that should allow Copado customers to increase testing activity. Hopefully, more tests will let platform owners increase their confidence in deploying changes, which should ultimately allow for a faster deployment cadence. That is part of what we need to build better apps faster.