Introducing YippieMove '09. Easy email transfers. Now open for all destinations.
Aug
27.

Let me start by saying how much we appreciate the feedback from you guys. Your feedback is an important element in the way we drive the development of YippieMove.

No more default prefix in YippieMoveThanks to you guys’ feedback, we’ve now decided to remove the default prefix in ‘Step 3′. That is, in the past, when you’ve made a transfer with YippieMove from, let’s say, Yahoo Mail, all the transferred folders would by default end up under a sub-folder on the destination side named ‘yahoo’. However, as many of you guys pointed out, that is not a preference. Instead, a you would rather see a seamless migration (ie. the old Inbox would end up in the destination Inbox).

For those of you who do prefer to still utilize our ‘prefix’ feature, that is still possible. Simply click on the ‘Bulk action’ text below the folders and select ‘Use a name pattern’. A window will now pop up where you can enter your prefix (eg. some-prefix/$SOURCE_NAME$).

Again, let me reiterate how much we value your feedback. If there’s anything you like or do not like about YippieMove, please let us know!

Author: Tags:
Introducing YippieMove '09. Easy email transfers. Now open for all destinations.

We have today added support in YippieMove for the popular groupware Scalix. We are proud to add Scalix to our long list of supported groupware, which includes other popular solutions, such as Google Apps, Microsoft Exchange and Zimbra.

“Adding support for Scalix was pretty straight forward. It basically came down to filtering out a few unsupported IMAP flags,” says Alexander Ljungberg, head of YippieMove’s software development team.

With Scalix added to the list of supported groupware, YippieMove now supports migrating emails between all major groupware. Combine that with our Batch Migration service and jumping from one groupware to another could not get easier.

Author: Tags: ,
Introducing YippieMove '09. Easy email transfers. Now open for all destinations.

Our email transfer service YippieMove is essentially software as a service. The customer pays us to run some custom software on fast machines with a lot of bandwidth. We initially picked VMware virtualization technology for our back-end deployment because we desired to isolate individual runs, to simplify maintenance and to make scaling dead easy. VMware was ultimately proven to be the wrong choice for these requirements.

Ever since the launch over a year ago we used VMware Server 1 for instantiating the YippieMove back-end software. For that year performance was not a huge concern because there were many other things we were prioritizing on for YippieMove ’09. Then, towards the end of development we began doing performance work. We switched from a data storage model best described as “a huge pile of files” to a much cleaner sqlite3 design. The reason for this was technical: the email mover process opened so many files at the same time that we’d hit various limits on simultaneously open file descriptors. While running sqlite over NFS posed its own set of challenges, they were not as insurmountable as juggling hundreds of thousands of files in a single folder.

The new sqlite3 system worked great in testing – and then promptly bogged down on the production virtual machines.

CPU usage on one of our core servers running VMWare

Tough CPU week on a server running VMWare

We had heard before that I/O performance and disk performance are the weaknesses of virtualization but we thought we could work around that by putting the job databases on an NFS export from a non virtualized server. Instead the slowness we saw blew our minds. The core servers spent a constant 70% of CPU time with system tasks and despite an uninterrupted 100% CPU usage we could not transfer more than 400KBit/s worth of IMAP traffic per physical machine. This was off by a magnitude from our expected throughput.

Obviously something was wrong. We doubled the amount of memory per server, we quadrupled sqlite’s internal buffers, we turned off sqlite auto-vacuuming, we turned off synchronization, we added more database indexes. These things helped but not enough. We twiddled endlessly with NFS block sizes but that gave nothing. We were confused. Certainly we had expected a performance difference between running our software in a VM compared to running on the metal, but that it could be as much as 10X was a wake-up call.

At this point we realized that no amount of tweaking was likely to get  our new sqlite3 version out of its performance hole. The raw performance just wasn’t there. We suspected at least part of the problem was that we were running FreeBSD guests in VMware. We checked that we were using the right network card driver (yes we were). We checked the OS version – 7.1, yep that one was supposedly the best you could get for VMware. We tuned various sysctl values according to guides we found online. Nothing helped.

We had the ability to switch to a more VM friendly client OS such as Ubuntu and hope it would improve performance. But what if that wouldn’t resolve the situation? That’s when FreeBSD jails came up.

Jails are a sort of lightweight virtualization technique available on the FreeBSD platform. They are like a chroot environment on steroids where not only the file system is isolated out but individual processes are confined to a virtual environment – like a virtual machine without the machine part. The host and the jails use the same hardware but the operating system puts a clever disguise on the hardware resources to make the jail seem like its own isolated system.

Since nobody could think of an argument against using jails we gave them a shot. Jails feature all the things we wanted to get out of VMware virtualization:

  • Ease of management: you can pack up a whole jail and duplicate it easily
  • Isolation: you can reboot a jail if you have to without affecting the rest of the machine
  • Simple scaling: it’s easy to give a new instance an IP and get it going

At the same time jails don’t come with half the memory overhead. And theoretically IO performance should be a lot better since there was no emulated harddrive.

And sure enough, system CPU usage dropped by half. That CPU time was immediately put to good use by our software. And so even that we still ran at 100% CPU usage overall throughput was much higher – up to 2.5MBit/s. Sure there was still space for us to get closer to the theoretical maximum performance but now we were in the right ballpark at least.

More expensive versions of VMware offer process migration and better resource pooling, something we’ll be keen to look into when we grow. It’s very likely our VMware setup had some problems, and perhaps they could have been resolved by using fancier VMware software or porting our software to run in Ubuntu (which would be fairly easy). But why cross the river for water? For our needs today the answer was right in front of us in FreeBSD: jails offer a much more lightweight virtualization solution and in this particular case it was a smash hit performance win.

Author: Tags: , , , , ,
Introducing YippieMove '09. Easy email transfers. Now open for all destinations.

As YippieMove has grown a lot in the past few months, we’ve come to a point where simply sharing a mailbox among the Support Team just won’t cut it anymore. We needed retire the ‘shared mailbox’-approach for a more sophisticated and modern ticket management system.

After spending numerous hours researching various open source support solutions, we realized that none of them were really up to for the challenge. Most of them felt very outdated and cumbersome (like OTRS). A few of them looked promising, but lacked the maturity to use in production. We reached the conclusion that we could not use any free tool, so we started looking into the next best thing — A modern SaaS Help Desk.

It did not take very long until we realized that there was one solution that fitted our needs better than all the other options, namely Zendesk. After signing up for a free trial, we were completely sold. The modern interface, the ability to integrate it into YippieMove with a sub-domain (support.yippiemove.com) and ability to customize the look and feel really impressed us. What made us even more impressed was how easy it was to integrate it into our existing system. It took us less than 6 hours to switch from our old system to have a production ready help desk that even features Single Sign-On (thanks to Jon Gales Django hack). Quite frankly, Zendesk exceeded our expectations.

The only thing we could possibly complain about Zendesk is the pricing (it a bit steep) and the lack of SSL in the lower-tier plans.

Screenshots

Single Sign-on Admin Home
Single Sign-on with YippieMove
Administrator home
End-user Start
End-user start
Author: Tags: , , ,
Introducing YippieMove '09. Easy email transfers. Now open for all destinations.

If you didn’t catch our tweet a few hours back, we are now successfully moved to the new servers. We’ve started to resume all paused transfers. So far it’s looking great. The speed of the transfers has gone up a lot, which is great.

Again, we apologize for the inconvenience this may have caused you.

Author: Tags: ,

© 2006-2009 WireLoad, LLC.
Logo photo by William Picard. Theme based on BlueMod © 2005 - 2009 FrederikM.de, based on blueblog_DE by Oliver Wunder.
Sitemap