FlexDeploy, at its core, is a comprehensive, integrated approach to DevOps, providing build and deployment lifecycle management. Along with this, it provides comprehensive integration support for a multitude of middleware platforms, third-party tools, and packaged applications.
Endpoints are the FlexDeploy representation of a device or virtual machine where the operations can be run. FlexDeploy utilizes an agentless architecture to connect to computers across private or public networks/clouds to execute build and deploy operations. The connection details provided by the user allow FlexDeploy to connect to and perform commands on the server whenever required. In this blog, we will look at the Transfer Protocol options – SCP and rsync – that are available in FlexDeploy.
Whenever an execution is triggered in FlexDeploy, the executable files and scripts are transferred to the target endpoint to be executed. After this is complete, the artifacts, logs, and any additional files generated are transferred back to the FlexDeploy host. These operations require FlexDeploy to seamlessly transfer files of various types and sizes between the configured endpoints at runtime.
SCP – The Default Option
Secure Copy Protocol (SCP) is a means of securely transferring files between two hosts. SCP commonly refers to both the Secure Copy Protocol and the program itself. The scp program is a software tool implementing the SCP protocol as a service daemon or client that can be used to perform secure copy operations. The program is generally available as a part of all SSH servers thereby minimizing the configuration from the user’s end. For ease of integration, this program is used by FlexDeploy by default to transfer required files between the application host and the endpoints.
Despite its widespread availability and ease of use, OpenSSH developers recommend the use of more modern protocols for file transfer. As of OpenSSH version 9.0, the scp client uses SFTP for file transfers by default instead of the legacy SCP/RCP protocol. This has led users to look for a reliable, lightweight, fast, and secure transfer protocol.
Rsync – The New Option
Rsync is a fast and versatile file copy tool. Users can use it to copy locally, to/from another host over any remote shell, or even to/from a remote rsync daemon. It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied. It is widely known for its use of the delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use.
The Endpoint configuration screen now provides users with an option for the Transfer Protocol they wish to use: SCP or rsync. In order to use the rsync protocol, the rsync tool needs be set up on both the FlexDeploy host and the endpoint in question. This also requires expect to be installed on the FlexDeploy host to interface with the rsync tool.
FlexDeploy uses the configured protocol internally to move required files across the different endpoints. You can seamlessly migrate between the different protocols. With the prerequisites configured, this is as simple as selecting the appropriate value for the Transfer Protocol. You can also use the Endpoint REST API to update the values of Transfer Protocol for multiple endpoints in one go. From the perspective of the end-user, there won’t be any noticeable difference in the overall experience.
In this post, we looked at the options you have for the transfer protocol in FlexDeploy. We also looked at how you can go about setting it up based on your requirements. You have the choice to use the transfer protocol that works best for you, and offers your organization the most security.