When we launched B2 Cloud Storage in September of 2015, we were hoping that the low cost, reliability, and openness of B2 would result in developers integrating B2 object storage into their own applications and platforms.
Since that launch, we’ve continually strengthened and encouraged the development of tools and resources for the B2 developer community. These resources include APIs, a Command-Line tool, a Java SDK, and code examples for Swift and C++. Backblaze recently added application keys for B2, which enable developers to restrict access to B2 data and control how an application interacts with that data. Those who use Amazon APIs can interact with B2 using Minio as an Amazon S3 gateway.
An Active B2 Developer Community
It’s three years later and we are happy to see that an active developer community has sprung up around B2. Just a quick look at GitHub shows over 250 repositories for B2 code with projects in ten different languages that range from C# to Go to Ruby to Elixir. A recent discussion on Hacker News about a B2 Python Library resulted in 225 comments.
What’s Happening in the B2 Developer Community?
We believe that the two major reasons for the developer activity supporting B2 are, 1) the user demand for inexpensive and reliable storage, and, 2) the ease of implementation of the B2 API. We discussed the B2 API design decisions in a recent blog post.
Sharing and transparency have been cornerstone values for Backblaze since our founding, and we believe openness and transparency breed trust and further innovation in the community. Since we ask customers to trust us with their data, we want our actions to show why we are worthy of that trust.
Here are Just Some of the Many B2 Projects Currently Underway
We’re excited about all the developer activity and all of the fresh and creative ways you are using Backblaze B2 storage. We want everyone to know about these developer projects so we’re spotlighting some of the exciting work that is being done to integrate and extend B2.
Rclone (Go) — In addition to being an open-source command line program to sync files and directories to and from cloud storage systems, Rclone is being used in conjunction with other applications such as restic. See Rclone on GitHub, as well.
Duplicacy (Go) — Duplicacy is a cross-platform cloud backup tool based on the idea of lock-free deduplication.
CORS (General web development) — Backblaze supports CORS for efficient cross-site media serving. CORS allows developers to store large or infrequently accessed files on B2 storage, and then refer to and serve them securely from another website without having to re-download the asset.
b2blaze (Python) — The b2blaze Python library for B2.
PHP SDK (PHP) — A standard PHP SDK for Backblaze B2 cloud files & storage system.
BackBlaze PHP Flysystem Adapter (PHP) — The Backblaze adapter enables the use of the Flysystem filesystem abstraction library with Backblaze. It uses the Backblaze B2 SDK to communicate with the API.
Laravel Backblaze Adapter (PHP) — The Laravel Backblaze B2 Storage Service Provider uses the Backblaze B2 SDK & Flysystem Adapter to communicate with the Backblaze B2 API.
Wal-E (Postgres) — Continuous archiving to Backblaze for your Postgres databases.
Phoenix (Elixir) — File upload utility for the Phoenix web dev framework.
ZFS Backup (Go) — Backup tool to move your ZFS snapshots to B2.
Django Storage (Python) — B2 storage for the Python Django web development framework.
Arq Backup (Mac and Windows application) — Arq Backup is an example of a single developer, Stefan Reitshamer, creating and supporting a successful and well-regarded application for cloud backup. Stefan also is known for being responsive to his users.
Go Client & Libraries (Go) — Go is a popular language that is being used for a number of projects that support B2, including restic, Minio, and Rclone.
Ruby fog for B2 (Ruby) — Integration library for gem fog and B2 Cloud Storage.
How to Get Involved as a B2 Developer
If you’re considering developing for B2, we encourage you to give it a try. It’s easy to implement and your application and users will benefit from dependable and economical cloud storage.
Start by checking out the B2 documentation and resources on our website. GitHub and other code repositories are also great places to look. If you follow discussions on Reddit, you could learn of projects in the works and maybe find users looking for solutions.
We’ve written a number of blog posts highlighting the integrations for B2. You can find those by searching for a specific integration on our blog or under the tag B2. Posts for developers are tagged developer.
If you have a B2 integration that you believe will appeal to a significant audience, you should consider submitting it to us. Those that pass our review are listed on the B2 Integrations page on our website. We’re adding more each week. When you’re ready, just review the B2 Integration Checklist and submit your application. We’re looking forward to showcasing your work!
Now’s a good time to join the B2 developers’ community. Jump on in — the water’s great!
P.S. We want to highlight and promote more developers working with B2. If you have a B2 integration or project that we haven’t mentioned in this post, please tell us what you’re working on in the comments.