Who we are

We are the developers of Plastic SCM, a full version control stack (not a Git variant). We work on the strongest branching and merging you can find, and a core that doesn't cringe with huge binaries and repos. We also develop the GUIs, mergetools and everything needed to give you the full version control stack.

If you want to give it a try, download it from here.

We also code SemanticMerge, and the gmaster Git client.

Announcing a new Plastic Cloud: cloud2

Saturday, May 30, 2020 Pablo Santos 0 Comments

We just turned on our new Plastic Cloud, code-named cloud2, for new users evaluating and purchasing, while we continue migrating all current customers from cloud1 to cloud2.

The new cloud2:

  • It's incredibly much faster. Better servers, more efficient, and intensive memory use and caching. And much faster metadata storage and improved data transfer.
  • Dramatically reduces latency. Metadata servers closer to your location.
  • Enables long-awaited features: shelves are now available in Cloud, move changesets to other branches, and real soon cloud triggers and many more. We have a much solid foundation for feature parity with on-prem servers.

If you are a user, our customer success team will contact you soon to migrate. If you feel you can't wait, then just contact us 😉

The gory details

The executive summary is over, so now let's jump into some details. What really changes between our first version of Cloud that we launched a few years ago and the new one?

If you check the info about Plastic Cloud in our website, you'll find a beautiful graphic like this one:

It is the list of all the available datacenters around the world. When you sign up to Plastic Cloud, you select the nearest, and that's very good because then you get maximum data transfer speed.

But there was a caveat. There were many datacenters (taking advantage of the Microsoft Azure infrastructure), but only a single metadata datacenter located in West Europe.

This means folks in East Australia had to wait for every request to go up to West Europe and come back each time they wanted to check Branch Explorer or the history of a file. It wasn't really that slow, but we wanted to make it much faster.

Enter the cloud constellation

So, the main goal was to add a bunch of full-featured servers for both data and metadata around the world. At the time of this writing, we have 3 servers (marked in red in the graphic below) with a few more planned (in black):

Before, the datacenters were just blob storage. Now they are full-featured servers, so customers can dramatically reduce latency in all their operations. This is something you all must notice.

Goodbye SQL backend

Cloud1 stored most of its metadata in SQL Azure. We used SQL systems as metadata storage for years, until we created our own repo storage (a.k.a. Jet, do not confuse with a deprecated database, more info here).

Since then, mostly every Plastic SCM customer has moved to Jet, including all our largest deployments with +1000 users.

And it was the time to apply the same boost to our Cloud servers.

Now they take full advantage of the ad-hoc repo storage, with some optimizations for cloud operation.

Data, the actual blobs where your files are stored, continue in cloud blobs, which enables affordable fees.

Optimized data transfer

In cloud1, we applied a great optimization for data. We took advantage of Azure's blobs so the data was directly downloaded from the client-side, without going to our own servers. It allowed us to scale as much as the cloud provider did, which was a lot.

There was a caveat, though. Blob data transfer is done with REST APIs, instead of our super optimized binary network protocol. This is not bad for huge files. But it is not as good when you need to download thousands of tiny source code files.

That's why in cloud2 all data transfer goes through the regional servers, taking advantage of all our network optimizations.

We do not discard reverting to direct cloud blob access from the client-side for big files only, but we still have to run some benchmarks.

Multi-cloud solution

While the old cloud1 ran on Azure only, the new one is multi-cloud. We can easily deploy to Google Compute Platform, Amazon EC2, and Azure. This gives us great flexibility and a more solid foundation for upcoming services.

The new setup is much simpler too. So we just need resources that are easily available in all the major providers.

New features available

With the jump to cloud2, a bunch of features that were on-prem only became available:

  • Shelves. Probably the number one feature that cloud users missed.
  • Move changeset to a new branch.
  • Change revision type (although we plan to deprecate this altogether).

Upcoming new features

We didn't move to cloud2 only for speed reasons (although it is a key one). But also because it creates the foundation to continue adding more and more features:

  • Webtriggers. They'll be enabled very soon. We're testing them as we speak.
  • Mergebots. Our way to enable DevOps.
  • WebUI. A web repo browser.
  • GitServer. This is one of the major reasons for the entire redesign, being able to add GitServer to Cloud.

Other products coming

Thanks to the cloud2 foundation, we're about to release a bunch of other Plastic Server products:

Cloud-backed on-premises Plastic Server

On-premises server that stores the data directly in the customer cloud storage of choice. The customer will pay for their own storage. Simply, the data will be always in cloud with a local cache. Customers don't have to worry about huge local disk usage, and migrating to new hardware will be super-fast (just move metadata).

Cloud-Private Plastic Server

It is a full server running in the customer cloud of choice. The customer is responsible for setting up and running the server. Customers were already able to do this before (it is the same setup as a regular on-prem server but running on Amazon/Google/Azure). But they had to use disks to store data before cloud2. Disks are way more expensive than cloud blobs. The new cloud2 codebase allows a regular server to access blobs in the cloud of choice, giving a great cost-effective option to customers who want to run their own cloud infrastructure.

Plastic Cloud Backup

Every Team Edition or Enterprise Edition could have a Plastic Cloud account in backup only mode, so data and metadata are silently backed up to cloud.

Pablo Santos
I'm the CTO and Founder at Códice.
I've been leading Plastic SCM since 2005. My passion is helping teams work better through version control.
I had the opportunity to see teams from many different industries at work while I helped them improving their version control practices.
I really enjoy teaching (I've been a University professor for 6+ years) and sharing my experience in talks and articles.
And I love simple code. You can reach me at @psluaces.

0 comentarios: