Amazon S3 based Maven Wagon's are a simple, low-cost solution to running a Maven repository, but have a number of downsides. Deps is an S3 Wagon alternative, built out of frustrations with S3 based Maven Wagon's. Here are some of the benefits of Deps.
Deps is a native HTTPS based Maven repository. This means that it works with 100% of your existing Maven based tooling, including your editors, your build tools, and your Continuous Integration pipelines.
S3 Wagons require custom plugins to download and deploy. These plugins need to be installed and kept up to date with new versions, across every single project that you manage.
No dependency conflicts
S3 Wagon plugins need extra dependencies to talk to Amazon S3. These can cause dependency conflicts with other plugins and dependencies that your project is using. Deps Maven repositories require no custom plugins or dependencies, so there is no risk of dependency conflicts.
Continuously Maintained and Improved
S3 Wagon plugins can often be spottily maintained, or even abandoned, causing breakages as the tooling ecosystem around them improves. Deps continuously improves and maintains their Maven repositories to add new features, and support new tooling.
Add access controls
S3 Wagon plugins require issuing an IAM account for each user and assigning them to IAM profiles. This can be complicated, error prone, and hard to audit. Deps offers user and machine accounts that are easy to monitor and set appropriate permissions.
Prevent redeploying the same version twice
S3 Wagons don’t have any deep understanding of the Maven protocol, so they allow users to redeploy over existing JARs. This can cause all kinds of confusion. Deps understands the Maven protocol, and can prevent users from redeploying release versions, while still allowing SNAPSHOT versions to be redeployed.
Downsides to Deps
While Deps has a number of upsides, this wouldn’t be a fair comparison without mentioning where S3 Wagons do better.
- Cost: S3 storage and access costs are cheaper than Deps (prices start at $50/month). If cost is your primary concern, then you should use an S3 Wagon.
- Integration with AWS IAM: If you have an operations team that is proficient with IAM and wants to maintain all developer permissions through one interface, then an S3 based wagon may be a better solution.
- Availability: S3 has a slight edge over Deps currently in availability. Deps runs in Google Cloud over multiple availability zones within a single region, as does your S3 bucket. Barring recent outages, S3 has a good track record of availability.
Sign up for a free trial today to stop messing around with plugins, and start deploying your Maven artifacts.