Everything is a Freaking DNS problem - mysql http://127.0.0.1:8080/blog/taxonomy/term/458/0 en Using broken development frameworks , or why we don't use Zurmo http://127.0.0.1:8080/blog/using-broken-development-frameworks-or-why-we-dont-use-zurmo <p>People often wonder why DBA's used to hate developers, and with DBA's also the System Engineers,<br /> (note that I just expanded devops by adding dba's to the picture..) </p> <p>So let me tell you a story .. </p> <p>A couple of weeks ago one of our customers wanted to start experimenting with a new type of CRM. A gamified CRM.<br /> Zurmo ... </p> <p>So we set this thing up in a dev environment and started playing with it , while at first it looks nice ..<br /> the application actually felt pretty slow.. however given that is a low resource development environment we looked no further.</p> <p>Yet the next step is that we run into missing features, such as the fact that every contact you create by default is<br /> set to private .. which really isn't productive for a CRM system where you want to be able to follow up on different<br /> customer and share information. </p> <p>So we tried figuring out what the database changes to do this in bulk would mean, surely it had to be a flag on the contact record .<br /> Wrong, Zurmo uses an ORM for their database connectivity ...so their data model wasn't really trivial.</p> <p>So we decided to look at the MySQL log file to figure out what db changes happened when updating the record<br /> Yes there's better approaches but this one learned us a lot ..<br /> The procedure I followed was pointing my browser to the page where I wanted to switch the checkbox,<br /> log on to the mysql box, set global logging on . Clicked the checkbox and stopped global logging.</p> <p>This gave me a log file with all the database actions required to make that one single change.<br /> I had to cross check a number of times ... the file created by this short and small action was.<br /> about 70K </p> <p>Puzzled you start looking at the queries ...<br /> The query list was full with "SELECT * FROM " stanza's ..<br /> 70K whopping K of queries that make your hair turn grey ... </p> <p>I figured I'd file a bug .. but I couldn't find no bugtracker for Zurmo, only a forum (and forums are the most broken form of communication imvho) , yet the developers responded on Twitter.</p> <p>The feedback wasn't really satisfying so we quickly decided that supporting this application was not something we would like to do..<br /> and abandonned it.. </p> <p>The real question is who needs a <a href="http://dilbert.com/2013-05-19/" rel="nofollow">Gamified CRM</a> anyhow...</p> <p>PS. So while finishing up this article on a late evening this week I might not have put in clear enough that the generated logfile was 70Kb .. I fear some people misunderstood that it generated 70.000 queries. Obviously a huge difference. But still the log file shouldn't have been bigger han 1Kb There should have been 2-3 queries max (<a href="https://github.com/KrisBuytaert/snippets/tree/master/zurmo" title="https://github.com/KrisBuytaert/snippets/tree/master/zurmo" rel="nofollow">https://github.com/KrisBuytaert/snippets/tree/master/zurmo</a>) </p> <p>But imvho if the size of the queries you are generating is bigger than the page you are generating you are most often doing it wrong.</p> http://127.0.0.1:8080/blog/using-broken-development-frameworks-or-why-we-dont-use-zurmo#comments crm mysql opensource vtiger zurmo Wed, 10 Jul 2013 20:08:58 +0000 Kris Buytaert 1083 at http://127.0.0.1:8080/blog Gentwerpen Devops Meetup & Conference Season Update http://127.0.0.1:8080/blog/gentwerpen-devops-meetup-conference-season-update <p>A couple of us have been taking about it a lot already .. we wanted to host a one day #devops event in .be already last year.. then talks about starting a meetup group started again with @wonko_be but it was @fs111 pushing the final button and calling the rest of the .be community to order, we've set a date<br /> and the first session will take place (agenda still needs to be detirmined) </p> <p>So all you Belgian devops enthousiasts, maark October 11th in your calendar and go <a href="http://www.eventbrite.com/event/4352133348" rel="nofollow">register here</a></p> <p>We already have 2 other venues (Gent, Boom) lined up .. but let's get this first one started :) </p> <p>Next to that here's an update for the rest of my upcoming Conference Season : </p> <ul> <li>Later this month I`ll be heading to San Francisco for a talk at <a href="http://puppetconf.com/" rel="nofollow">PuppetConf 2012</a>. I'll probably be around in the valley a bit earlier so if you anyone wants to meet up I`m open for suggestions.<br /> (Yes I asked Nick Stielau of Pantheon to host a #monitoringsucks / #devops meetup <a href="http://www.meetup.com/San-Francisco-DevOps/events/81251892/" rel="nofollow">about Sensu</a> but I should have predicted it was about to clash with the PuppetConf speakers dinner :(( </li><li>I was thinking to swing by the MySQL- Connect conference but given the pricetag I don't think I`ll bother ... I am however thinking about crashing the hallway track , or tricking the <a href="https://plus.google.com/102496134326414788199/posts/JXE1pRLwAsm" rel="nofollow">Foreman Meetup</a> to be colocated with a MySQL event again just like at Fosdem earlier this year </li><li>I will be attending the Jenkins User conference in San Francisco however before flying back to Europe </li><li> If you haven't noticed yet , Devopsdays is going to be in Rome this year on october 5 and 6. <a href="http://devopsdays.org/events/2012-italy/registration/" rel="nofollow">Registration</a><br /> is still open ! </li><li>During the last weekend of october it's time for <a href="http://www.t-dose.org/" rel="nofollow">t-dose.org</a> again. No news on the program yet. </li><li>And one week later I`ll be heading to Barcelona to speak at <a href="https://events.linuxfoundation.org/events/linuxcon-europe" rel="nofollow">LinuxCon Europe</a> I`m really looking forward to that last one again as it looks like the good old LinuxKongresses in Germany .. deep technical topics ! </li></ul> http://127.0.0.1:8080/blog/gentwerpen-devops-meetup-conference-season-update#comments devops jenkins linuxcon linuxconf mysql puppet t-dose Thu, 13 Sep 2012 20:27:28 +0000 Kris Buytaert 1072 at http://127.0.0.1:8080/blog Devops in Munich http://127.0.0.1:8080/blog/devops-munich <p>Devopsdays Mountainview sold out in a short 3 hours .. but there's other events that will breath devops this summer.<br /> DrupalCon in Munich will be one of them ..</p> <p>Some of you might have noticed that I`m cochairing the devops track for DrupalCon Munich,<br /> The CFP is open till the 11th of this month and we are still actively looking for speakers.</p> <p>We're trying to bridge the gap between drupal developers and the people that put their code to production, at scale.<br /> But also enhancing the knowledge of infrastructure components Drupal developers depend on.</p> <p>We're looking for talks both on culture (both success stories and failure) , automation,<br /> specifically looking for people talking about drupal deployments , eg using tools like Capistrano, Chef, Puppet,<br /> We want to hear where Continuous Integration fits in your deployment , do you do Continuous Delivery of a drupal environment.<br /> And how do you test ... yes we like to hear a lot about testing , performance tests, security tests, application tests and so on.<br /> ... Or have you solved the content vs code vs config deployment problem yet ? </p> <p>How are you measuring and monitoring these deployments and adding metrics to them so you can get good visibility on both<br /> system and user actions of your platform. Have you build fancy dashboards showing your whole organisation the current state of your deployment ? </p> <p>We're also looking for people talking about introducing different data backends, nosql, scaling different search backends , building your own cdn using smart filesystem setups.<br /> Or making smart use of existing backends, such as tuning and scaling MySQL, memcached and others.</p> <p>So lets make it clear to the community that drupal people do care about their code after they committed it in source control ! </p> <p>Please submit your talks <a href="http://munich2012.drupal.org/news/call-for-papers" rel="nofollow">here</a></p> http://127.0.0.1:8080/blog/devops-munich#comments cfp configmgmt deployment devops drupal measurement monitoring mysql puppet testing Tue, 01 May 2012 19:02:30 +0000 Kris Buytaert 1065 at http://127.0.0.1:8080/blog At Fosdem http://127.0.0.1:8080/blog/fosdem <li>on Friday evening , apparently having a confirmed reservation in a resto is not enough to actually be welcome at that restaurant. </li><li>at DrupalDevdays, only 2 laptops were open during our presentation </li><li>at DrupalDevdays, almost nobody in the room was already using CI </li><li>at Fosdem , the parking lot is full before 11:30 on a saturday </li><li>at Fosdem , much less Macs than last years . </li><li>at Fosdem , way too much rooms are already at full capacity so you need to have 2-3 backup alternatives .. </li><li>at Fosdem , people expect me to be in certain rooms, at the same time </li><li>at Fosdem , even with too much rooms already full one still misses a bunch of interresting talks </li><li>at Fosdem , one doesn't even realize friends are speaking there too .. </li><li>at Fosdem , Android is the standard ... </li><li>at Fosdem , you are confronted with the fact you probably forgot more names of people than you remember ;( </li><li>at Fosdem , you are surrounded by famous open source people, that aren't even on the schedule </li><li>at the MySQL Meetup Dinner, Monty brings <a href="http://en.wikipedia.org/wiki/Salmiakki_Koskenkorva" rel="nofollow">Salmiakki</a> </li><li>at Fosdem , you wonder how many other people have survived their 11th edition </li><li>at Fosdem , you can't get into any devroom on sunday morning </li><li>at Fosdem , begging on Twitter to get in to a devroom from the other side of the door works (at least for me :)) </li><li>at Fosdem , netbooks are much less popular as opposed to 2-3 years ago .. </li><li>after fosdem ... you crash ..<br /> </li> http://127.0.0.1:8080/blog/fosdem#comments devops fosdem mysql puppet Sun, 06 Feb 2011 20:06:12 +0000 Kris Buytaert 1033 at http://127.0.0.1:8080/blog MySQL & Friends Meetup at Fosdem 2011 http://127.0.0.1:8080/blog/mysql-friends-meetup-fosdem-2011 <p>I admit .. I`m lazy ... unlike last year I did not organize MySQL and Friends meetup at Fosdem. </p> <p>I outsourced it to <a href="http://twitter.com/#!/gryp/" rel="nofollow">Kenny</a></p> <p>More info and registration <a href="http://www.eventbrite.com/event/1267253389/efbnen" rel="nofollow">here</a></p> http://127.0.0.1:8080/blog/mysql-friends-meetup-fosdem-2011#comments fosdem meetup mysql Tue, 01 Feb 2011 11:28:46 +0000 Kris Buytaert 1031 at http://127.0.0.1:8080/blog High Availability MySQL Cookbook , the review http://127.0.0.1:8080/blog/high-availability-mysql-cookbook-review <p>When I read on the internetz that Alex Davies was about the publish a <a href="https://www.packtpub.com/high-availability-mysql-cookbook/book" rel="nofollow">Packt book on MySQL HA</a> I pinged my contacts at Packt and suggested that I'd review the book .</p> <p>I've ran into <a href="https://sites.google.com/a/davz.net/alex-davies/" rel="nofollow">Alex</a> at some UKUUG conferences before and he's got a solid background on MySQL Cluster and other HA alternatives so I was looking forward to reading the book.</p> <p>Alex starts of with a couple of indepth chapters on MySQL Cluster, he does mention that it's not a fit for all problems, but I'd hoped he did it a bit more prominently ... an upfront chapter outlining the different approaches and when which approach is a match could have been better. The avid reader now might be 80 pages into MySQL cluster before he realizes it's not going to be a match for his problem.</p> <p>I really loved the part where Alex correcly mentions that you should probably be using Puppet or so to manage the config files of your environment, rather than scp them around your different boxes ..</p> <p>Alex then goes on to describe setting up MySQL replication and Multi Master replication with the different approaches one can take here, he gives some nice tips on using LVM to reduce the downtime of your MySQL when having to transfer the dataset of an already existing MySQL setup, good stuff.</p> <p>He then goes on to describe MySQL with shared storage ... if you only mount your redundant sandisk once on your MySQL nodes my preference would probably be a Pacemaker stack rather than a RedHat Cluster based setup, but his setup seems to work too. Alex quickly touches on using GFS to have your data disk mounted simultaneously on both nodes (keep in mind with only 1 active MySQLd) and then goes on to describe a full DRBD based MySQL HA setup</p> <p>The last chapter titled Performance tuning gives some very nice tips on both tuning your regular storage, as your<br /> GFS setup but also the tuning parameters for MySQL Cluster</p> <p>I was also really happy to see the Appendixes on the basic installation where he advocates the use of Cobbler , Kickstart and LVM ..</p> <p>One of the better books I read the past couple of years .. certainly the best book from Packt so far , I hope there is more quality stuff coming from that direction !</p> http://127.0.0.1:8080/blog/high-availability-mysql-cookbook-review#comments cobbler drbd ha heartbeat linux-ha mysql pacemaker puppet Wed, 03 Nov 2010 23:07:18 +0000 Kris Buytaert 1022 at http://127.0.0.1:8080/blog yum install mariadb http://127.0.0.1:8080/blog/yum-install-mariadb <p>I`m not the biggest fan of openSUSE but this weeks <a href="http://www.bytebot.net/blog/archives/2010/07/17/opensuse-users-have-a-choice-of-database-now?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+ColinCharles+%28colin+charles+blog%29" rel="nofollow">post by Colin Charles</a> makes me happy ..</p> <p>openSUSE users can now do a mariadb install from their default repositories.</p> <p>With all the fuzz about Snoracle and MySQL's future last year to me it became clear that we would end up having different MySQL based distributions, probably with different names, and that it would be up to the Linux distributions to provide the users with what they preferred, working with those Linux distributions<br /> therefore would be very important for the MySQL distributions.</p> <p>Sadly my Fedora box doesn't allow me to do a yum install mariadb yet ... but I`m sure that's only a matter of time ..</p> http://127.0.0.1:8080/blog/yum-install-mariadb#comments distributions fedora mariadb mysql opensuse snoracle Mon, 19 Jul 2010 18:55:23 +0000 Kris Buytaert 1014 at http://127.0.0.1:8080/blog Inuits Day http://127.0.0.1:8080/blog/inuits-day <p>Couple of Fridays ago we had one of our @Inuits days again. Rather than having some people give talks and presentations about what they have been doing for the past couple of months this time we set out to research, test, and build stuff.</p> <p>We split up in 3 different groups, one focusing on CI and testing freshly build stuff with cucumber, a second one setup and tested <a href="http://www.codership.com/products/galera_replication" rel="nofollow">Galera</a></p> <p>We setup a 3 node Galera cluster , not really as smooth as we'd like to ..</p> <p>Our first bump was that the installation of the package on CentOS is hell, it needs manual interaction such as replacing packages. Deploying this from a repository is probably not going to be a straight forward option.</p> <p>Galera only takes care of replicating data, just as with MySQL MM replication there still is a need for an external tool to define where to access the database, and implement monitoring in such a way that you are connecting to an up to date database.</p> <p><a href="http://poke152.blogspot.com/" rel="nofollow">Karl</a> started wondering about Galera's locking, turns out the locks aren't cluster wide, locks within the same node work fine.. so if galera is solely used for HA with 1 active node and X failover nodes, it will work (so all transactions happening on 1 node).</p> <p>We also ran into some issues when trying to start a node which couldn't contact the wsrep_cluster_address point (which is a node it will sync from at startup if specified in the wsrep.cnf file) , it just didn't want to start. This means that when the referenced node (configured in wsrep_cluster_address)is down, you will need to comment it out before you are able to start the mysql server.</p> <p>The fact that Galera replicates everythying brought us to the discussion if we really wanted that , or if we wanted more finegrained control over which databases or even tables we want to replicate and which ones we didn't want to replicate. A minority of people wanted to replicate everything, the majority of our group wanted finere grained control over what is being replicated to another node.</p> <p>I`m sure <a href="http://www.lefred.be/" rel="nofollow">Lefred</a> will shortly be writing about the progress his group made on <a href="http://www.banquise.be/" rel="nofollow">Banquise</a></p> <p>The day ended as it should .. with BBQ and plenty of drinks</p> http://127.0.0.1:8080/blog/inuits-day#comments banquise ci galera inuits inuits day mysql Mon, 21 Jun 2010 19:14:12 +0000 Kris Buytaert 1012 at http://127.0.0.1:8080/blog MySQL HA , an alternative approach http://127.0.0.1:8080/blog/mysql-ha-alternative-approach <p>For those who've seen my presentation on MySQL HA, you already know that I often use a multimaster setup with a meta OCF resource that groups my favoured MySQL instance with the service ip , using a meta resource means that pacemaker monitors mysql, but it doesn't actually manage it. It's an approach that works for us.</p> <p>One of the other approaches I will be looking at soon is the freshly released OCF resource that <a href="http://fghaas.wordpress.com/2010/04/21/mysql-masterslave-support-now-merged-into-linux-ha/" rel="nofollow">Florian</a> announced last week.</p> <p>Back in the days our approach meant we didn't have to use clone resources, which you might remember being pretty buggy in the v2 era, not wanting to use clons resources isn't really a valid reason anymore these days . I've also frequently mentioned the combination of using DRBD and MultiMaster replication, using this set of OCF resource makes that a lot more easy ..</p> <p>Now all I need to do is find me some time to validate this setup.</p> http://127.0.0.1:8080/blog/mysql-ha-alternative-approach#comments cluster ha mysql Wed, 28 Apr 2010 21:17:27 +0000 Kris Buytaert 1001 at http://127.0.0.1:8080/blog Linux Open Administration Days 2010 http://127.0.0.1:8080/blog/linux-open-administration-days-2010 <p>So about 4 monts ago <a href="http://blog.bdesmet.be/?p=272" rel="nofollow">there was the crazy idea</a> to start a new FOSS event in Belgium targeted at sysadmins.</p> <p>What started out as an event for local people to meet local people with some local speakers actually ended up being a small local event with some top international speakers on onfiguration mananagement and system administration mixed with a bunch of good local ones !</p> <p>I had the honour to open the conference with an extremely short version of the Devops talk I gave earlier last year.. extremely short as I knew that over the course of the weekend the topic would reoccur a lot.</p> <p>We had the first european talk on <a href="http://wiki.opscode.com/display/chef/Home" rel="nofollow">Chef</a>, by Joshua Timberman, and we had Puppet talks amongst by Dan Bode from Puppetlabs and CFengine talks , devops was a frequently dropped word,</p> <p>We had a book raffle where we handed out O'Reilly's .. we had a great free pizza party (got the idea from the saturday pizza event at LCA 2005) , and we had some free beer. Sounds like a good combination for a geeky weekend.</p> <p>Apart from the regular talks there were plenty of Open Spaces where interesting topics were discussed ... we had spaces on Open Source vs Open Core , strong voices were heard when we discussed what we should do with the Open Core companies that claim to value Open Source , some people think we should actually list the fauxpensource ones somewhere and make sure the world knows about them</p> <p>We had an awesome configuration management discussion session discussing Chef vs Puppet vs CFengine . And much much more ...</p> <p>Some people owe me plenty of Sushi as I had to do my MySQL HA talk before their Managing MySQL talk , but other than that .. things just went fine..</p> http://127.0.0.1:8080/blog/linux-open-administration-days-2010#comments cfengine chef conference devops ha load loadays mysql mysql ha puppet Tue, 20 Apr 2010 19:43:05 +0000 Kris Buytaert 998 at http://127.0.0.1:8080/blog