IT strategy question

Mini me August 9, 2011

Hello,

I'm putting together an IT strategy for a new software development shop and I'm looking for some advice regarding how to minimize the amount of time spent babysitting our servers. I hope that the scope is too large for this place. Feel free to redirect me to another venue if this forum is not appropriate.

So here's the deal. I'm looking for a IT strategy that would scale from 5 to about 50 developers. We've already deployed Jira and we are planning to use several of the other Atlassian tools. At some point we will probably deploy additional, non-software related services, such as a CRM application or an accounting suite. The applications we are working on do not need or generate large amounts of data so our storage requirements are limited.

Now, we are located in a high-labor costs area, and we don't want to outsource this part of our IT, mainly for confidentiality issues. Also, we don't have a full-time professional admin on board at this time so I may have overlooked glaring issues.

For now we're not planning to have any public-facing services, and we don't need to run 24/7 since all developers are in the same timezone.

So far, my idea is use virtualization to simplify the management of our services:

  • Buy simple, bog-standard Dell rack servers with simple components that we can maintain ourselves (SATA drives instead of SAS for example),
  • Install Ubuntu LTS on them, with encrypted partitions to host the virtual machines,
  • Create a virtual machine for each service thanks to VirtualBox,
  • Move the virtual machines around as needed.

I've already managed to configure JIRA, Fisheye, Confluence and Crowd on a virtual instance of Ubuntu LTS, supported on a Mac OS X host. Now, we need to move this instance to another much more powerful server, and I fully expect the move to be done in less than an hour. Given how difficult it is to install and configure the Atlassian tools, being able to simply move a virtual machine to another server if and when we need a beefier server is a major plus in my book. And thanks to snapshots and clones, it is possible to test updates and new configuration without any risks.

For backups, we have settled on a dual-prong approach:

  • Crashplan PROe generate incremental backups of the data and configuration files for each virtual instance,
  • Every night the virtual instances are paused and cloned.

Now, this is all well and good, but in the end, it means that instead of having to administer a couple of big servers, we have to take care of a bunch of not so big servers AND a big bunch of virtual machines. In other words, I wonder whether the benefits of virtualisation outweights the costs.

Another thing. If we were running dozens or hundreds of servers and virtual machines it would make perfect sense to invest in proper administration systems, but we're only looking a managing a couple of them. Are we stuck with having to micro-manage servers and virtual instances individually?

Any suggestions would be appreciated.

Thank you,

Kooorrg

3 answers

2 votes
Dieter
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 29, 2011

My strategy aims at minimum costs for administration.

Managing each VirtualBox OS will take you a lot of effort. so i suggest a solution with the minimum number of OS. why not have just one OS and run each service under it's own user in it's own JVM?

The only advantage i can see behind virtualization in a small environemnt is the automatic failover in case of a hardware crash. This also requires SAN and diving into the internals of managing virtualization software.

Our failover solition is based on a veritas cluster, which is now a product sold by symantec. This also requires that you store your data on a SAN. If you do not want to spend money on that you can replicate data using rsynch. Postgres and mysql provide stable replication solutions for the Dbs required by Atlassian SW out of the box. For replication you just set up an identical second server. This works very reliably. i suggest to use Postgres since this is also recommended by Atlassian.

Management of your development environment could get even easier if you can run it on the server and access it using xrdp or NX

I run several JIRA instances on two symetric physical servers, each having 2 6 core processors and 96 GB ram. 10000 users work on this pseudo cluster and still has resources for a lot more users.

0 votes
Ellen Feaheny [AppFusions]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 7, 2012

My suggestion would be direct managed hosting - data center secure.

It is not over-supporting - no matter how small, these are your brain-trust servers of info as Atlassian systems gets more entrenched into your business, and they should not be ignored

(In fact, ask customers abt horror stories that DID ignore them. Theyare out there. Closeted systems eventually bite you - and its ugly. And it's not Atlassians fault - its the customers fault on minimizing the value and management of supporting their key systems - this isn't desktop OS software afterall.)

For the size you are talking about, it would be under a $1000 / month with room to grow too - for 24x7, monitored, Atlassian-skilled support, including babysitting and regular maintenance activities (i.e., patches, upgrades, SSL install, DNS support, more).

Also growth moves, changes, upgrades such as you describe down the road are also easy/no headache, and included.

I can provide a quote if you wish - since that number is rough for ballpark. Do the math - x12 months, cheap for those skills and service.

Best

Ellen

ellen@appfusions.com

0 votes
Jim Bethancourt
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 9, 2011

If you're running mostly Java webapps, it may be worth looking into AzulSystems - www.azulsystems.com They have a JVM that can scale up to around 300 -400 GB if you have the hardware to support it or manage a bunch of small webapps, and can allow you to monitor all of your apps from one management console. They presented at the Houston Java Users Group earlier this year, and their JVM product is now purely a software offering. The pricing is subscription based and is very reasonable. In addition, you'll likely get much more responsive webapps, too.

Hope this helps,

Jim

Suggest an answer

Log in or Sign up to answer