This is a simple collection of questions I commonly get about Magento. I am not adding some that are more at company level, like what’s sales process that you use at Blue Acorn or what’s sort of strategy do you use for adwords campaigns?
I am only choosing questions related to Magento and what I do in a consistent basis.
These are the top 10 questions I have gotten since the launch of this blog.
What really surprised me is that more people didn’t ask me about Magento Enterprise vs Community edition
Top 10 Magento questions I get
What’s your ideal system architecture setup for Magento?
1 Web node with 1 database node using APC or eAccelator for opcode caching, REDIS for session and cache storage and a CDN or sub-domains acting as a CDN.
The idea is that by simplifying your Magento setup you can focus on offloading and improving other areas of Magento. My goal is to run the most expensive Magento operation on 32MB of ram.
Yup, using 256MB is way too much to run an application and makes it way to expensive to improve and scale.
I mean we want to make more money and spend as little as possible right? Well for me that’s why “scaling” sometimes means shrinking resource utilization while maximizing the remaining.
What’s the easiest way to learn Magento?
Honestly I don’t know. I had the hardest time understanding Xoops and it was not until I got involved with Zend Framework that Xoops became much easier.
Knowing design patterns, code smells, what and when to refactor, EAV and a deep understanding of Zend Framework is what helped me get up to speed with Magento, essentially I just needed to learn what was available inside Magento because its inner works were almost natural for me.
In fact to me Magento is a lot easier to develop than Joomla and WordPress. Don’t start the witch hunt yet… what I mean is that because Magento follows ZF standards and way of development is easier for me to grasp.
What are the best Magento resources to learn from?
I’d suggest reading the code from lib/Varien and Magento’s core codeset. Aside from that we have:
- StackExchange thanks Ben Again
- This Magento’s Developer guide
- Magento’s blogs by some of the elite developers Fabrizio, Ashley, Vinai and Collin
- This blog – (shameless self promotion)
Should I use Nginx or Apache with MySQL or Percona for Magento?
The answer to this question boils down to time and knowledge. How much time can you invest tuning Apache or configuring Nginx or how knowledgeable are you when it comes down to one over the other?
Twitter and Pinterest are known for loving MySQL but Percona offers greater performance or does it? Twitter has customize MySQL so much that even wonder if it can be called MySQL anymore. So my answer to this question is: If you have the time and money go with Nginx and Percona, but if you already have Apache and know it well go ahead and simply tune it up and use PHP-FPM with it.
Both options you should consider using Google’s page speed module, it does help a lot.
Should I use Varnish with Magento FPC on and a CDN?
You definitely should not Magento FPC and Varnish working at the same time. Allow me to explain, while technically you will get better performance by having both on, you are creating a nightmare for yourself when it comes down to cache clearing, warming the cache and holepunching specific content.
What has worked well in most cases is Varnish with a CDN to serve assets like images, css, js and file downloads. If you use your CDN to serve full pages then you might consider removing varnish because you are over complicating your setup.
But remember that is not all about caching
What’s the best tool to test Magento?
Well I certainly don’t know or can’t define the best tool or tools to test Magento. I like using siege, jmeter and gatling for stress and load testing…
while I like using BlueTir (based on Watir) for deployment testing and the Magento Automation Framework for some extensive functionality testing.
Can I offload the catalog, config and log data off MySQL?
You certainly can do so. Thanks to how Magento developed the Data models, collections and resource models.
You can rewrite the resource models for each individual area you want to offload, Just like Collin did for the sales quotes with MongoDB.
Currently I am working on rewriting the core config data to be read from MongoDB.
What are some of the core features of Magento that you like?
By far Events and Observers are my favorite, followed closely by the resource collections.
This is not necessarily Magento but while developing ERP integrations I like using queuing systems for near real time sync applications.
I have a list of core concepts I think every Magento developer should know.
For you what’s the difference between a good, bad and exceptional Magento developer?
Honestly… I think a good Magento developer follows all standards and rules. Makes sure his/her code is in compliance with Magento’s coding standards and tries his/her best to adhere to how Magento does things.
A bad Magento developer starts by modifying core files, adding raw SQL statements in templates… and in essence it breaks all rules. Now this doesn’t mean this person is bad developer just a bad Magento developer because it doesn’t even try to learn how to do things the Magento way.
An exceptional Magento developer takes the good one characteristic a step further, he/she is the one who finds issues with Magento’s code and fixes it. Also another trait for this person is his/her ability to write the least amount of code to achieve the goal.
Would you recommend to use Vagrant Up with Magento?
Yes… but not just with Magento but with everything that requires a Virtual Machine, Automation or more fire power.
Vagrant at the moment is my Holy Grail
Are you available for hiring to work on Magento?
No at the moment