October 30, 2013

Introducing Perforce Edge Services


Distributed teams face unique challenges when they practice Continuous Delivery. For example, it’s critical to keep remote teams up-to-date with the latest code changes within an expected response time—past-due changes can cost the team valuable time and money. Similarly, new features require continuous integration via build and test automation, so that developers can receive immediate feedback, and can rapidly, reliably, and repeatedly launch new features. Network latency and bandwidth, and version management server capacity also become critical bottlenecks for Agile distributed teams, severely impeding Continuous Delivery. These challenges slow down the mainline, the team, and ultimately, the business.

A new feature introduced in release 2013.2 of the Perforce Versioning Engine, the Edge service improves performance and scalability for distributed teams while freeing-up precious resources, enabling your distributed teams to truly practice Continuous Delivery.

edge server

Extend Continuous Integration to Distributed Teams

Thanks to Edge services, developers can now integrate their code changes faster than ever before, increase the frequency of their integration tests, and launch quality products faster.

Edge services deliver performance improvements by keeping track of its users' workspaces, which traditionally has been a responsibility of the Perforce shared versioning service. In doing so, edge services significantly reduce the time it takes remote users to complete many version management tasks such as syncing to the latest version, editing a file, reverting a change, and integrating changes back into the mainline.

Benchmark of Perforce operations with 128 ms network latency between client and server. The file related commands operated against 7,000 files.

Keep Distributed Teams In Sync

Distributed teams don't need to worry about manually pushing committed changes. Instead, Edge services will take care of this automatically. As files are committed to a remote Edge server, it will also submit the updated files to the shared versioning service, which will notify other Edge services on the network to update their copies. Everyone working on the same files will be able to sync up to the latest version regardless of where they are in the world.

Accommodate Additional Users on Existing Infrastructure

By deploying Edge services, you will be able to free up resources on your Perforce server and your WAN, and accommodate additional growth. Edge services reduce the transmission of user workspace metadata to the shared versioning service, thereby reducing WAN and main server load by as much as 98%*.

Improved Availability for Multisite Teams

Perforce's distributed architecture enables users at remote sites to continue to operate most of their version management tasks even if their main server is down. Users will be able to sync to latest revision of files from the Edge service, and still open files for edit, revert changes, etc.

Likewise, if there's an outage at one of the Edge services on the network, it will affect only users relying on their respective Edge service. The rest of the sites, including the shared versioning service, will continue to operate normally.

Planning Ahead

We’re quite excited about the new capabilities available to our customers in this new release of the 2013.2 Perforce Versioning Engine. It’s good to remember that deploying Edge services requires advanced planning and familiarity with Perforce replication technology. Please contact Perforce Support with any questions or for help planning your Perforce deployment.

* Actual performance improvements can vary depending on usage, network latency, network load, and your commit/shared versioning service load.

This article was first seen in the newsletter.