Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hosting Plastic SCM on Amazon?

I'm looking to setup Plastic SCM on a hosted server. Considering an Amazon EC2 instance for this. Any recommendations would be appreciated.

  • Minimum server specs for good performance
  • Tips on setup/config
  • Windows v. Linux
  • MySQL v. SQL Server v. SQL Express

Thanks!

like image 590
user3461002 Avatar asked Mar 25 '14 21:03

user3461002


People also ask

Is Plastic SCM open source?

Licensing and terms of use. Plastic SCM is free for individuals (Personal Edition), non-profit organizations and open-source projects (Community Edition). Cloud Edition is a commercial version for teams that do not need an on-premise server.

Is Plastic SCM good?

Yes, we use Plastic SCM (small team of 5) for 2 years already and it works great and even gets better every update! Support is very good (within an hour or at least the same day a response!). Also branching and merging works very good in practice.

What is Plastic SCM used for?

Create without compromise. Unity Plastic SCM is a version control and source code management tool built to improve team collaboration and scalability with any engine. It offers optimized workflows for artists and programmers, as well as superior speed working with large files and binaries.


1 Answers

We have extensively tested Plastic on EC2, in fact it is one of the main environments where we run Plastic SCM tests.

It all depends on the load that the server needs to handle.

Tiny server for occasional pushing and pulling

For instance, the demo server we use to handle the evaluation guide runs on a tiny EC2 instance, with Linux and MySQL and a total RAM of 512Mb. It is good for occasional pushing and pulling but of course not to be used under heavy load.

Big server for extreme load

On the other hand, we use a more powerful server to run 'load tests' with 300 concurrent bot clients doing about 2000 checkins per minute on a big repository. We detail the specs here. Basically, for higher perf:

  • 20GB RAM
  • 2 x Intel Xeon X5570
  • 4 core per processor (2 threads per core) (2.7Ghz) – 16 logical cores – Amazon server running Windows Server 2012 + SQL Server 2012

Central vs distributed development

That being said, remember that if you setup a cloud server your bigger restriction for heavy load won't be the server itself but the network. If you plan to work in a centralized way (your workspaces directly work connected to the cloud server) then network will definitely be a consideration. Every checkin, every create branch, every switch to a new branch will mean connecting to the remote server and chances are that you won't get the same network speed you get on a LAN.

The other option is that you work distributed: you have your own Plastic repositories on the developer machines and you just push/pull to the central server. If that's the case it will work great and the requirements won't be high at all.

Specs for a 15-users team working distributed + Amazon EC2 server

If that's your case I'd go for:

  • Linux server + MySQL (cheaper than windows and works great)

    • Make sure you install the server with the packages we provide. We include our own build of Mono that will make wonders. Remember to set up the mono server to run with sgen (the latest Mono Garbage Collector).
    • Install MySQL (or MariaDB). Follow the instructions we provide here. Remember we do need to configure the max_allowed_packet in MySQL so it allows 10Mb packages (we use 4Mb but set it to 10). Everything is explained on the guide.
    • Use "user/password" security mode. Remember to configure the permissions so only your team can access :-)
    • For 15 users a m1.small instance will be more than enough (1.75Gb of RAM and a little bit of CPU).
    • Configure SSL and remove regular TCP so that your server is always secured. Check this.
    • We added an option in 5.4 that is able to store all data in an encrypted way, so even if the central repo is hacked in Amazon (unlikely) nobody will access your data.
  • Clients (I'll assume you're using Windows):

    • Install both client and server (remember we install a server to handle the local replicas of the repos).
    • Configure it in UP (user/password) mode.
    • Push and pull from the remote.
    • Alternatively you can also configure the SQLite backend (the one I've been using for 4 years now on Windows) which is extremely fast. By default, on Windows, a SQL Server Compact Edition (embedded) will be installed. It is ok too.
    • Connect to the server using SSL.

Hope it helps :-)

like image 171
pablo Avatar answered Oct 03 '22 14:10

pablo