Yes, yes, yes. Awesome. Wa-wa-wee-wa.
Believe it or not. I’m so happy we released today. This release by far has been one of the most challenging things I’ve been involved so far. You might ask why, please let me elaborate on some details.
- ZCP 7.2 has some real big changes in it. They might not have been as big as with the release with 7.0, but ZCP fortunately is already Unicode-safe … 😉
- Parallel to the Release of ZCP 7.2 we have been very busy with so many new innovations which are already at least either in partnered demo mode or released already: Z-Files, Webmeetings, S/MIME and much, much more which is not even announced yet but on our internal roadmap for already Q2/2015. So a lot more is going to show up – stay tuned on that.
- As you might have realized, some former colleagues are now at AWS, but fortunately we have also grown at the same time with many new team members at the same time – these have proven to be not only capable to grasp MAPI at it’s full potential but leverage also to new horizons as the ones we are heading to currently.
I’m really so thankful for my colleagues – I can tell you I feel honored on a daily basis to have the possibility to work with so talented, capable and yet awesome personalities. I hope you get an imagination, if you don’t you’re probably working for the wrong company ( Sidekick: We’re hiring 😉 ).
To add some extra value to what you can read in the public announcement here, I want to give you some more insight with some of the for the sake of TLDR reduced paragraphs, especially with what we’ve done internally:
Official Support for MariaDB and performance-improving transaction isolation levels
With the release of ZCP 7.2 MariaDB is officially supported, and queries are optimized to gain from many improvements, especially under higher loads. With the use of specific transaction isolation levels such as READ-COMMITTED which are supported now, ZCP directly benefits from less transaction locks with enhanced InnoDB performance directly resulting in better performance and even improved snappy behavior for end users. An example of this feature is that full zarafa-backups do not lower end-user performance as much as they do with traditional isolation levels.
Hell, yes. Really go for transaction-isolation = READ-COMMITTED, we are currently investigating to make this transaction isolation level the default for each session we instantiate, but there is some more to do about this as you can not simply switch the isolation level when you are for instance using slave replication. So error-catching and fallback code is a must … 😉
SOAP Protocol Enhancements
All ZCP components have received a massive upgrade to its protocol handling with the upgrade to the foundation of gSOAP 2.8.21, with direct benefits to performance, scalability and compatibility.
Now this was scary. It doesn’t happen too often that you change the beating heart of your protocol while making all efforts to keep backwards compatibility (which you require when you have many customers using more than 100 nodes in one multi-server environment. With all the QA and live testing we did (Thanks to Suyi and his whole management of our QA heroes) we’ve finally made it.
Support for TCP_FASTOPEN
A new feature in the Linux kernel is “TCP FastOpen”. This feature allows a client to skip one step in the 3 step TCP handshake (dramatically improving latency) for certain protocols. Especially HTTP will profit by this. This release of ZCP 7.2 enables TCP FastOpen for all HTTP-alike services. Clients supporting this feature will directly gain from lower latency with established connections.
Performance, baby. Yes. Nothing more to add. Oh, wrong! Thanks to Folkert on this great job!
Improved Random Number Generator
With security auditing ZCP’s code we realized that there is room for improvement with the random number generator used. Zarafa uses random numbers for scheduling (to prevent large spikes for example with cpu usage) but also for crypto. These improvements directly leverage security by using an even better number generation technique.
Yes, we take security serious. This and many other changes (especially the SSL revamp) really prove it. Just this is something yet again which is at the heart of the software you are involved with: You dare to do it, but you can do as many unit tests, functionality tests, <your-awesome-name-for-test-type> tests, and yet you always have the feeling with something you might have forgotten. Just as the special cause where you realize: Hmmm… rand_mt() _could_ occasionally return a negative value.
Overhauled Windows components
The Zarafa client was updated to contain the latest MariaDB embedded edition for offline usage. The new storage engine was replacing the older version which removes a number of smaller internal storage issues for larger offline profiles, some older Unicode issues and provides massive performance improvements. With the upgrade of many included open source components collisions with components from other open source projects (such as GIMP) are now prevented to happen.
Just to give you an imagination: OpenSSL (and yes, we are not at all affected from recently published FREAK Attack – just make sure you update your OpenSSL library on your servers as well. As for insight: We use OpenSSL 1.0.1l. But that’s not it: gettext, pthreads-win32, MariaDB (embedded), iconv, ICU, Boost, swig, SOAP. Get the picture? A massive improvement, and a nightmare for QA ;).
Official Support for RHEL 7, SLES 12 and Univention 4.0
With the release of ZCP 7.2 we at once ship new packages for the most recent releases of Red Hat, SUSE and Univention. With the adoptions and improvements in these distributions ZCP directly benefits from the modern stacks provided. The improvements on ZCP’s code base directly complement and leverage these changes, such as the use of modern kernels.
Yep. A big one. Tell me one software product with more than 10 years on the market to at once support three new platforms right away. But with all our efforts to entirely modernize our software build stack based on OBS we’ve managed to do this way more efficient than ever, and yes, we do cleanroot builds which do pass any desert island test. Awesome you think? Me too.
New community distributions Fedora and openSUSE
Allowing the community to gain from the benefits by using ZCP on their community-based distributions Zarafa has decided to provide builds for these distributions as well. Please note, that these distributions are short-term releases which do not allow us to support these as we support long-term distributions, though we and the community are happy to help out in our forums.
Yes, and this already is a big step forwards towards community. We now stop in custom building components such as Zarafa’s license daemon and instead provide native built packages for these distributions as well.
I would like to take the chance to give one of our active community members, Robert Scheck special credits, as he was providing initial patches for the OpenSSL extensions we’ve made. Robert, great job, keep up the good work, we really appreciate it.
So, what is next on the list?
Right next upcoming is providing repositories which we promised on our Zarafa Tour, and they are about to show up pretty soon. This allows you to transparently upgrade your Zarafa environment directly.
Keeping you posted!