Automated Deployment for Web Apps, Code, and Content
In the age of continuous integration/continuous deployment (CI/CD), manual deployment to multiple servers can require human intervention, which often breaks the CI/CD pipeline. Resilio Platform automates web deployment for apps, code, and content—and keeps files current across multiple servers and locations.
Resilio distributes (and synchronizes) files across several web and app servers, concurrently. Doing this manually would be a cumbersome task. Lack of consistency, lost time, and high duplication probability are some of the key challenges here.
For most of us, it’s nearly impossible to accurately compare and copy several files across multiple locations without wasting time and making mistakes. A CI/CD team’s technician may end up thinking:
‘Hey, did I copy all the files correctly? Do we really need to copy them in the first place because they all look the same? Maybe their contents differ in one character among all these thousands of files.’
These servers can be physically located across the globe or in the cloud. With automation using Resilio Connect, you can publish once, and instantly replicate and (optionally) synchronize all changes to the desired servers.
To see if Resilio Platform could be a fit for you, schedule a demo.
Why Should You Use Resilio Connect?
One of the best things about Resilio Platform is that it doesn’t limit file sizes and can handle large (and variable) payloads using its P2P architecture. Resilio can sync data across several servers of different types by picking up files from the one source server you publish to. Traditional methods rely on a central hub that can become a bottleneck, whereas Connect can sync new data from one-to-many and many-to-many servers. This is also referred to as master-slave or multi-master deployment of files for a web application.
For example, in concurrent environments (which use multithreading to update files rapidly or in real-time, e.g. from sensors), the master might have multi-core CPUs running in parallel to handle the loads. Still, the client-side trying to sync with the central hub can be a single-core machine. This becomes a problem in a master-slave framework as the file-sync program tries to copy every file from the master to the slave each time synchronization happens. It can easily become a bottleneck due to network latency or copying thousands of nested directories.
With Resilio, there are no bottlenecks. The load can be distributed across servers distributing or synchronizing files. If the transfer or sync job is happening over the WAN, Resilio overcomes the latency through its UDP-based Zero Gravity Transport. Net net: Resilio gives you a highly reliable and predictable way to deploy files across multiple servers in parallel.
Some relevant use cases for Resilio Platform are:
Tackling Varying Data Regulations
Suppose you want to publish different versions of the same website to different regions based on different data privacy regulations (for example, the European GDPR data protection law doesn’t apply to the USA), so you can keep different data in the cookies based on whether your web server is in Germany or the USA. In this case, the web developer can change the website and use different properties files (they can create, modify, or store web server properties and configurations for different Java applications) based on geography to configure the application for different regions and publish it easily using Resilio Connect.
Distribution of Mobile App Backend Code
Let’s say you have a mobile application built in Flutter, and you update it to the latest release using a CI/CD pipeline using a Git Workflow. The developer commits hybrid code in Flutter, and the CI/CD pipeline outputs the packaged code as an APK file for the Android App and the IPA for the iOS Appstore simultaneously (since Flutter is a hybrid Framework).
In this case, you would now like to publish this App’s updated packaged file to multiple servers; for example, a Firebase cloud storage instance connected to the Android Playstore publishing API or to a server from where a Cron Job picks up an IPA file for a nightly build and publishes it to the App store. In this case, the CI/CD pipeline can publish once, and Resilio Platform can distribute the update to the cloud flawlessly.
Migration of Software
Assume you have a legacy mainframe application built in COBOL for a national insurance company. This software could be a monolith containing 150 million lines of code. Code migration for this web application to Java allows today’s developers to maintain and test it modularly using microservices. Furthermore, mavenization can help build POM files for different modules. The final step would be to put the code on different web servers.
For example, a developer pushes an HTML code change to a Dev Server where the developers actively commit code. A tester then wants to do a System Integration Test (SIT) on the newest code, so he requests the same code that the developer committed to the Dev Server to be committed to the Test Server.
Soon after testing, the code works fine after some fixes, and now it’s time to deploy it to the Acceptance Server. Here the client does Business User Testing, and soon again, the code is pushed to the Production Server for future use by the insurance company. In this cycle, synchronizing code across the Dev, Test, Acceptance, and Production servers is a tedious task for the DevOps Team Lead.
Here, Resilio Platform is handy in simplifying the job of the DevOps team. You can simultaneously deploy your code to different servers with a single push to the Dev environment. This forms the backbone of any application migration and reduces the latency times in the CI/CD pipelines by cutting the time for multiple deployments into one.
Fast and concurrent updates across all servers while serving all your existing DevOps tools is a blessing. Developers can trust the system to pick the changes they make, sync it across the code repositories, and distribute the build to different deployment servers, saving crucial time.
Some clear advantages of Resilio Platform over conventional web deployment tool include:
Predictability: The P2P architecture enables fast and predictable time-to-deployment — at any scale: Sysops and DevOps teams will publish their updates faster and in a fixed timeframes.
Automation: As a web administrator or IT manager, you can setup a sync job to run automatically in the GUI. As a DevOps or SysOps pro, you can script and run jobs from the command-line. Our APIs also work with DevOps tools and pipelines you may already by using.
Reliability: Resilio is Resilient. The architecture is fully distributed so there’s never a single point of failure (SPOF). What’s really cool is that, if there is a failure, Resilio dynamically routes around failures. For example, if a server (running a Resilio agent) goes down, Resilio simply uses another available peer included in the sync job.
Real-time, low latency — Efficiently is important. If only a chunk of a file has changed, Resilio only replicates that delta (i.e., the changed portion of the file). And it’s done instantly and across many servers/sites. For web server synchronization, Resilio can deliver updates in real-time at extremely low latency — at sub-5-seconds — between the source and destination.
What are the alternatives to Resilio Platform in the market?
Microsoft Web Deploy
Web Deploy is a web deployment tool offered by Microsoft. It’s designed for both DevOps and IT pro’s. It can be used for web app deployment and content deployment. It not only allows deploying files but also packaging them and distributing them to different servers like IIS 6.0 to IIS 7.x. There is a web migration function where you can migrate across different versions of IIS.
You can use Microsoft Web Deploy in the following ways:
App Packaging
Web Deploy can put Web Application files into a packaged form which means you can package the code and configuration of your web app in its installed form. Microsoft Web Deploy enables this and also packages SQL databases. You can then store these packages as backups or for the future deployment of the application to a remote server.
Web Server Migration and Synchronization
This is where Microsoft Web Deploy is similar to Resilio Connect. It allows server admins to deploy code changes to multiple servers. This is mostly done in a ‘Synchronize’ manner where a folder on one server (called a source server) can be automatically synchronized to another folder (the target) ensuring the same contents are propagated to multiple other sites and servers. Note, this is very different then synchronization in Resilio Connect. Web Deploy uses a single source and single target in a multi-master architecture, where changes are copied from server to server, similar to follow the sun.
Web Deploy Admins can also migrate files and settings to newer server versions by following permissions defined by the migration manager in the Microsoft Web Deploy interface.
Repliweb
Repliweb is more closely related to Resilio Connect. Repliweb was discontinued as “end of life” in January, 2022, and is no longer unsupported by Qlik (the company that acquired Repliweb). The product, offered “publish once, replicate to many” functionality which is similar to Resilio Connect. Repliweb allowed publishing or deploying apps, code, and content to multiple servers. In the year 2019, Qlik acquired Repliweb and, as stated above, has since discontinued its development. By the time its last versions came out, Repliweb had evolved to include Repliweb R-1 and Repliweb Drive Mapper (RDM), Repliweb Fastcopy, and other cool features, such as SharePoint integration, etc. Resilio offers an easy, fast, and scalable cross-platform Repliweb alternative for Repliweb R-1 and Repliweb RDM.
Repliweb R-1, although discontinued, was popular for one-to-many distribution for web deployment. R-1 offered both a GUI and unattended center-to-edge data deployment and synchronization that scaled, both in terms of data volume, CPU processes, and endpoints (or target servers). While it was cross-platform supporting both Microsoft Windows and Unix environments, Repliweb was mainly used in IIS environments. Resilio, by contrast, can be used in a variety of web server environments—from IIS to Nginx to Apache to NodeJS and other web platforms.
The difference with Resilio Platform is that Repliweb aimed to cater more towards Microsoft IIS servers. Moreover, Repliweb was not peer-to-peer, like Resilio. Another differentiating point, Resilio Platform works across all types of web servers like Apache, Nginx, Node.js (or choose from your list of web servers) and has WAN optimization built-in. This overcomes the latency posed by long-haul networks. Resilio Platform also has no limits on file sizes and reduces the time to publish files across multiple servers and different types of networks.
As shown in the image above, Resilio Platform has a near flat line across the horizontal X axis. This means that as endpoints (servers) are added to a sync job, the time it takes to update all of the files in the job is still about the same! Conventional web deployment tools will need to keep copying files from server to server. Resilio does this synchronizing in parallel; across up to many thousands of endpoints.
This is what makes Resilio Platform so special in its ability to deploy web content and updates automatically. This is possible because of the P2P architecture (parallelism) but also due to many other optimizations in how files are indexed, merged, and synchronized efficiently. (Unlike the sequential copy of Repliweb and other tools like Web Deploy.) Resilio also offers an easy way to set bandwidth allocations for end users; and an easy way to increase the usable bandwidth to help speed up replication for enhanced user experience.
Resilio Platform offers many features which were not present in Repliweb. This includes many-to-one and many-to-many data transfer, the ability to replicate 250+ million files per job, mobile OS support, and, as stated earlier, WAN network optimization.
Ad hoc Linux and Windows Copy and Sync Tools: Rsync, Robocopy, and “lsyncd”
These tools allow copying in a one-to-one directory structure on the server or between (at most) two servers. There are numerous differences between Resilio Platform and these Adhoc tools. One key difference is Resilio’s streamlined ability to distribute and synchronize files from one “single source of truth” to many other servers—all in parallel. This process is transparent to any web application framework and up to 100x faster than generic file copying. Another distinguishing factor Resilio gives you is the ability to use any IT infrastructure: this includes on-premise data centers, and any cloud; or in a hybrid combination as well. Resilio Platform is secure, real-time and allows selective sync for efficient file caching on-premise. You can choose a cloud provider like AWS, Azure, Google Cloud, Oracle Cloud; or any type of storage—from file (SMB or NFS) to block (e.g direct-attached or SAN) to object storage such as S3. Resilio Platform is also automated, more DevOps friendly and powerful than these “free” tools.
Conclusion
Resilio Platform is an advanced, peer-to-peer web deployment and automation solution for both DevOps and IT teams working in the most demanding, data-intensive web and app server environments. Modern web applications and remote teams operating at a high pace of code development should take a look at Resilio Connect. Real-time one-to-many and many-to-many synchronization give DevOps and SysOps teams a way to deliver updates in fixed time frames across as many servers as needed. These capabilities aren’t just an ‘option’ anymore; they are critical to automation and keeping your time-to-deployment as low as possible. A corporate IT or DevOps team needing to perform system integration testing should consider a rapid, automated, and easy deployment tool like Resilio Connect. It simplifies deploying apps, code, and content—for any file-based workflow—including build development, acceptance, test, and production server deployments. With built-in cloud support and performance optimizations for faster sync and file transfer, Resilio Platform forms an unbeatable option for multi-server file synchronization in the market.
If you want to learn more about how Resilio Platform can provide speedy, scalable, and reliable web server file replication for your application or website with impeccable cross-platform support, then schedule a demo.