Category Archives: All

A Pagerank of 5 Is Possible – Here's How

Join 4500 others and follow Sean Hull on twitter @hullsean.

A highly trafficked website is a valuable asset indeed. For a services business it helps you build reputation and reach prospects.

Here’s how to get there.

1. Longevity

We’ve been around for a while, as you can see from a quick whois search below. I’ve owned the web property (aka domain name) iheavy.com and used it for the same purpose, since July 1999! Google notices this and ranks accordingly.

Until 2011 I wasn’t blogging much. I had a pagerank of 3 though. That’s attributable to two factors:

o 12 years owning the domain at that time

o Writing a book for O’Reilly which got a strong backlink

[code]
$ whois iheavy.com

Registered through: GoDaddy.com, LLC (http://www.godaddy.com)
Domain Name: IHEAVY.COM
Created on: 14-Jul-99
Expires on: 14-Jul-15
Last Updated on: 18-Feb-13

Registrant:
iHeavy, Inc.
Box 5352
New York, New York 10185
United States

Administrative Contact:
Hull, Sean hullsean@gmail.com
iHeavy, Inc.
Box 5352
New York, New York 10185
United States
+1.2125336828
[/code]

2. Authored a Technical Book (pagerank 3)

I authored a book for O’Reilly in 2001 called Oracle and Open Source. This bumped up our ranking from a flat 1 because we got backlinks from O’Reilly’s author blog, a strong authoritative signal to Google.

Why is database administration talent in short supply? They are the Mythical MySQL DBA

Here’s Why I Wrote the Book on Oracle & Open Source.

[quote]
Consistent ownership and use of a domain name, along with backlinks from other authorities in your area of expertise weigh strongly in your favor.
[/quote]

3. Started blogging weekly

In Spring of 2011 I started blogging regularly. This was an effort to build out my services business, solidify my voice, and bring prospects and customers to my site.

[mytweetlinks]

4. Installed Google Analytics & Feedburner

It might seem crazy but to that point I didn’t track much. Without metrics you don’t know which pages users are visiting, how long they’re staying, or where they’re converting.

Also take a look at: Why Generalists are Better at Scaling the Web

A conversion – for those out of the analytics loop – is when a user does something you want them to do. For an e-commerce site, they buy or start the process of buying. For a services website it could be visiting your about page, downloading a pdf or e-book, or signing up for a newsletter.

5. WordPress SEO plugin

WordPress is a great publishing platform. Among the many plugins to choose from, Yoast SEO is a very important one to include. It exposes all the hidden SEO fields and functions in a powerful way. Edit your short description, keywords & categories, and a lot more.

Check out: A CTO Must Never Do This

It also helps you frame and think about how your content is seen both by search engines, and searchers alike.

6. Keyword research

A little keyword research goes a long way. You might be a subject matter expert in a given field, but if you don’t know how your customers search, you can’t help them find you. Remember they don’t know what you do, so likely don’t know jargony terms or the vernacular your expertise uses within.

SEO Moz has some great tools to help you, along with Wordtracker and Google has a keyword research tool for adwords.

[quote]
Strong titles should make you click to open the post. A dash of keyword research and regularly watching your analytics should be revealing. Give your readers what they want!
[/quote]

See also: My Blog Traffic is Growing Using these 5 Killer Tactics

7. Watch your analytics (pagerank 4)

After about six months of regular blogging, and a few viral hits, our pagerank went up to 4. What was I doing? All of the above, plus watching analytics closely. I asked myself questions about visitors:

o Which pages do they like and why?
o What causes them to stick around?
o What causes bounce rate to go down?
o What causes them to convert?

I found that adding links to relevant content right in the text helped reduce bounce rate right away. This was a real discovery that I could apply everyday.

Hiring a Cloud Engineer? Get our 8 Questions to Ask an AWS Expert for Recruiters, Managers & candidates alike

I also noticed that good content helped, but directly imploring readers to signup to the newsletter got regular conversions daily. Huh, that was a surprise since all along I had the signup form along the right column. Go figure.

8. Guest posting

Guest posting is great. It allows you to work with real publications who have paid editors. These folks with provide you with a more professional view, and that is great for your own writing and understanding your audience. The hardest thing to learn is how to write to a broad audience.

You’ll also of course get a backlink which is a major authority signal to the search engines. You might get paid a bit too, but your mileage may very.

I managed to do some regular writing for INFOWORLD and Database Journal. I wrote one piece for ChangeThis.com called Get Out of the Technology Hex.

From there I signed a syndication deal with Developer Zone. Since I have embedded links to content, that brings me regular traffic, even besides my profile, and the authoritative backlink.

Lately I’m working on some stuff for Gigaom and ACM’s Queue. Steady as she goes!

9. Get on the aggregators

Most likely your industry has some sort of aggregator site which will carry your RSS syndication feed. Get on those. That will drive regular traffic and RSS feedburner subscribers. We’re on Planet MySQL and it’s been great!

10. Patience, rinse and repeat

Easier said than done, I know. If you want this to happen overnight, you had better get onto the real world celebrity track. Otherwise work on your content, work on your voice, write clicky titles and keep your audience interested with solid content. And watch your traffic grow!

Get more. Grab our exclusive monthly Scalable Startups. We share tips and special content. Here’s a sample

Make MySQL clustering work for you

We’ve told you all about MySQL mult-master replication’s limitations. If you write to two masters it is bound to fail for myriad reasons.

Now what? Do what the pros do that’s what.

A. Don’t write to both masters

Using multi-master replication works great as long as you do so in active-passive mode. Never write to two masters at the same time. When you promote a new side to being a master, do it carefully:

o Put application into read-only mode temporarily (disable editing)
o Set current master to read-only mode
o Change all webservers to point to new master
o Change new master to read-write mode
o Turn application edit back on

B. Use Statement based replication

Statement based replication has been around forever, it’s proven and it’s limitations are well known. It’s been tested for many many edge cases. You know what you’re getting.

o supports online schema changes

Perform alter tables, add or drop columns or modify indexes on the inactive master. Once those changes are complete, promote the inactive side to being primary master and perform the changes again on that master. All with zero downtime to your application. Statement based replication makes this easy as differences to columns, column order and so forth won’t break things.

o facilitates point-in-time recovery

With the SQL of all your queries being written directly to binlogs, the forensic process of reconstructing things during point-in-time recovery becomes much easier.

o perform regular checksums against current master

Use the pt-table-checksum tool to verify data. Integrity checking will help you avoid any data drift and keep everything tightly in sync.

C. Degrade gracefully – build for a read-only mode

- facilitates failover
- facilitates maintenance
- insurance plan
- disaster recovery
- levers & dials for the operations team

D. Put Memcache between application and database

- reduces load on database
- reduces latency for remote write master
- key value stores are easier to scale
- continue to get fast application response

E. Misc recommenations

o use provisioned IOPS for the database servers
o use percona server 5.6
o use multi-threaded slaves
o use semi-syncronous replication
o using percona toolkit checksum tool to provide data integrity checks
o using percona toolkit heartbeat to check slave lag
o use percona xtrabackup to do hotbackups
o perform firedrills to restore backups
o perform firedrills to do point-in-time recovery

Like our content? We publish an exclusive monthly Scalable Startups where we share more tips and special content. Here’s a sample

Sales sucks, but then I learned

Are you a developer or startup entrepreneur? Have you ever been frustrated with some of the claims made by the sales team or lacked the patience or ability to communicate across departments?

Join 4000 others and follow Sean Hull on twitter @hullsean.

Just out of college

Just out of college I got a job as a Macintosh Software Developer for a small firm outside of University at Buffalo. It was a ten person company, and half of us were on the technology side of the house. I was doing C++ & Graphical Interface design & coding.

Why is it so hard to find operations & devops talent? Enter the Mythical MySQL DBA!.

Sales is “ahead” of engineering

Besides coding, I also fielded support calls from customers which brought me perspective on both what they wanted, and where they struggled with the software. Our app helped consumers and nutritionists track diet & exercise.

[quote]
The sales team made promises of technology the company wasn’t capable of delivering. Meanwhile the engineering team was sent scrambling to answer to those promises.
[/quote]

Soon I was fielding questions from customers asking when the new heart rate monitoring would be available. I followed up by talking with the team lead & chief architect. He had no plans of building such a feature, nor did we even know how it would be possible!

[mytweetlinks]

Searching for a database expert? MySQL DBA Interview Guide.

We checked in at our weekly meetings, and the CEO explained that the sales team was simply “ahead” of engineering. Years ahead apparently even of the technology that was possible at the time!

Fast forward 5 years to professional services

A half decade later I’m doing independent consultanting for dot-coms. Much of my business came from word of mouth. Helping a firm out of a pinch, speeding their site so they can handle 10x customers on the same servers and suddenly everyone is your friend!

Too many customers is a good problem to have right? For hyper growth companies there are 5 Things Toxic To Scalability .

But all is not smooth sailing in the freelance consulting world. The dot-com crash comes along and budgets are squeezed tighter. Business spend is reduced and every dollar is scrutinized. I learned to speak to prospects about savings and personalized service, advantages of lower overhead, and real return I could provide. At the end of the day if they’re not buying, your services aren’t worth their cost!

[quote]
The sales process should inform the business about what customers really want. In a successful startup there is communication back and forth with engineering and business units so all are working in harmony.
[/quote]

Full Circle

Now coming full circle I have a wide perspective on business. I understand the engineering fundamentals, and the limitations of technology. I also have a grasp of product, and how business units must manage the bottom line, and deliver to customers or else perish in the marketplace.

Looking for a top flight cloud engineer? Grab our Amazon EC2 Interview Guide.

For the two to achieve a happy marriage, you must bring a balance of execution & technical debt, with satisfying a real customer need in the marketplace. And therein lies the innovation & startup sweet spot!

You might also like our piece Why generalists are better at scaling the web

Like our content? We publish an exclusive monthly Scalable Startups where we share more tips and special content. Here’s a sample

Dinner, dollars & devlishly creative thinking

Efficiency at Dinner?

I just finished reading Tyler Cowen’s opus, An Economist Gets Lunch. I have to admit I’m already a fan of his writing, getting a daily dose on from his blog Marginal Revolution.

Join 4000 others and follow Sean Hull on twitter @hullsean.

What I like about this book is that it is unconventional by definition. Further economists like scalability engineers like to think about efficiency. How can I squeeze out more from less? Like the business question how do I get better ROI or more bang for my buck? Questions spring to mind like – What does an economist know about food? Or – What does food eating have to do with economics? Well on both points you’ll get some surprising answers.

Hiring or job seeking? Check out our MySQL DBA Interview questions which is useful to managers, candidates and human resources alike.

To the former question, Cowen has some really good insight because he brings the fresh perspective of an economist. His sort of mantra throughout the book is:

[quote]
Food is a product of economic supply and demand, so try to figure out where the supplies are fresh, the suppliers are creative and the demanders are informed.
[/quote]

Economists & engineers talk shop

What about the second question, how is the food we eat related to economics? Further does it have an impact on environmental and energy consumption questions? As it turns out in a rather big way yes it does. Let Tyler say it in his own words…

[quote]
When it comes to relieving climate change problems, there are two approaches. The first to put it squarely is to have everyone memorize facts about boats & bananas, and update that analysis as often as is necessary. The second approach is to rely on the price system, specifically to modify prices so that they reflect more information about the value of the environment. That’s the economically smart way to address climate change. The first method is wielding a pea shooter and the second is more like a bazooka.
[/quote]

Interested in web speed? Why generalists are better at scaling the web.

What he advocates more specifically is taxing the things we want to reduce. Biggest on the list are fossil fuels he says and next up meat production which through methane emissions contribute to climate change problems. These taxes will naturally curb our use, cause us to take fewer trips, be more efficient with our use, and tighten the wallet naturally.

Applying an economists eye to food & environment yields some excellent insights. For those of us in the startups & internet these fresh takes may well give us some insight in business too. If nothing else it’ll help us find the best meal for dinner!

Want more? Grab our Scalable Startups monthly for more tips and special content. Here’s a sample

Transaction isolation breaks when writing two masters

Continuing our discussion of multi-master replication, we hit on five more reasons why writing to two masters aka active-active replication is very dangerous.

Click through to the end for multi-master solutions that work with MySQL.

Reason 6 – You lose transaction isolation

This may sound like a theoretical point to some. But hopefully we can all appreciate that while you’re making changes to your data, you don’t want another user or session with their fingers in the pie, right?

This is implemented in all relational databases, MySQL, Oracle, and SQL Server included as transactions or transactional isolation. While you’re operating on rows they’re locked for other sessions to write to. If they want to do so, they wait in line until you’re done.

In master-master replication, this principal is completely broken. Altough your MySQL instance enforces this on the source side, the second master knows nothing about what you are doing. All of the transactions on that side may do whatever they like to your data.

Let’s give an example:

[code]
mysql> select * from a;
+------+
| c1 |
+------+
| 5 |
+------+
1 row in set (0.00 sec)

masterdb1> set autocommit=0;
masterdb1> update a set c1 = c1 + 5;

masterdb2> set autocommit=0;
masterdb2> update a set c1 = c1 * 5;

masterdb1> commit;
masterdb2> commit;
[/code]

Depending on the order you commit one side will then have 10 as the value, while the other side has 25! Strange indeed.

There’s no way to prevent a myriad of scenarios like this without locking. That’s why relational database introduced shared and exclusive locks, and that’s what’s missing in active-active multi-master replication.

Isolation is big, it’s serious, and without it you’re doomed!

NEXT: Reason 7 – Can’t add third node easily

PREV: Reason 5 – Cannot do integrity checking with active-active

Want more? Grab our Scalable Startups monthly for more tips and special content. Here’s a sample

10 reaons active-active is hard and how to solve it

Multi-master replication provides redundant copies of your most important business assets. What’s more it allows applications to scale out, which is perfect for cloud hosting solutions like Amazon Web Services.

But when you decide you need to scale your write capacity, you may be considering active-active setup. This is dangerous, messy and prone to failure. We’ve outlined how.

Click through to the end for multi-master solutions that work with MySQL.

Reason 1 – auto_increment introduces new problems

o MySQL’s auto_inc settings make it more difficult to change servers around in your overall replication topology

o Using auto_inc settings can cause MySQL to introducing gaps in your primary keys which is a waste of space

o Such a solution would require all tables to have auto_inc primary keys

NEXT: Reason 2 – MySQL replication is brittle to start with

Want more? Grab our Scalable Startups monthly for more tips and special content. Here’s a sample

Don't Miss Percona Live 2013

The biggest event on the MySQL calendar is the yearly Percona Live and it’s just around the corner.

This year you’ll be able to pick from a whopping 110 technical sessions by 90 different speakers from companies like Facebook, Amazon, Google and Linkedin. Learn what’s happening at the cutting edge of open source database deployments. Besides the technical sessions, there’s plenty of hobnobbing with fellow DBAs, developers, and industry folks. A great opportunity all around.

It’s just a couple of weeks away, so don’t waste any time. You can register here and enjoy a 20% discount code “SH-Live”!

Get to it!

Want more? Grab our Scalable Startups monthly for more tips and special content. Here’s a sample

When You Have to Take the Fall

Also find Sean Hull’s ramblings on twitter @hullsean.

One of the biggest jobs in operations is monitoring. There are so many servers, databases, webservers, search servers, backup servers. Each has lots of moving parts, lots that can go wrong. Typically if you have monitoring, and react to that monitoring, you’ll head off bigger problems later.

A problem is brewing

We, myself & the operations team started receiving alerts for one server. Space was filling up. Anyone can relate to this problem. You fill up your dropbox, or the drive on your laptop and all sorts of problems will quickly bubble to the surface.

Also check out – Why generalists are better at scaling the web.

As we investigated over the coming days, a complicated chain of processes and backups were using space on this server. Space that didn’t belong to them.

Dinner boils over

What happened next was inevitable. The weekly batch jobs kicked off and failed for lack of space. Those processes were not being monitored. Business units then discovered missing data in their reports and a firestorm of emails ensued.

Hiring? Get our MySQL DBA Interview Guide for managers, recruiters and candidates alike.

Why weren’t these services being monitored, they wanted to know.

Time to shoot the messenger

Having recently seen a changing of the guard, and a couple of key positions left vacant, it was clear that the root problem was communication.

Looking for talent? Why is it so hard to find a mythical MySQL DBA or devops expert these days?

I followed up the group emails, explaining in polite tone that we do in fact have monitoring in place, but that it seemed a clear chain of command was missing, and this process fell through the cracks.

I quickly received a response from the CTO requesting that I not send “these types of emails” to the team and to direct issues directly to him.

You might also like: A CTO Must Never Do This

A consultants job

As the sands continued to shift, a lead architect did emerge, one who took ownership of the products overall. Acting as a sort of life guard with a higher perch from which to watch, we were able to escalate important issues & he would then prioritize the team accordingly.

Are you a startup grappling with scalability? Keep in mind these 5 things toxic to scalability

Sometimes things have to break a little first.

What’s more a consultants job isn’t necessarily to lead the pack, nor to force management to act. A consultant’s job is to provide the best advice possible & to raise issues to the decision makers. And yes sometimes it means being a bit of a fall guy.

Those are the breaks of the game.

Want more? Grab our Scalable Startups monthly for more tips and special content. Here’s a sample

Ken Auletta Gets Us Googled

Also find Sean Hull’s ramblings on twitter @hullsean.

The title sounds vaguely fatalistic, the end of the world is nigh, that kind of thing. It turns out though that Auletta is a journalist having reported over the years a lot on old media. So when he says “as we know it” he’s speaking as much to old media as he is to the tech vanguard.

You’ll also want to check out The Big Switch – Rewiring the World From Edison to Google by Nicholas Carr.

But what makes his book superb isn’t just his phenomenal journalistic skills, in digging up all the facts and serving up a fair and accurate presentation of things. I think it’s important that he’s not a cheerleader at all, and approaches the topic with a critical eye as much to old media who ignored many of the warning signs in early 2000′s as to google who he emphasizes has been hubristic, at times arrogant, and has struggled with issues of privacy and copyright as they’ve built their technology.

Also check Jeff Jarvis’ What Would Google Do.

What makes this book even more important though is to step back and think of it as a case study in how the internet has become such a disruptive force. And in that light, google is a business which has rode that wave as much as it has defined it. Interestingly Google was not afraid to bring him to Mountain View to speak in their AtGoogleTalks series, and that video is now up on YouTube.

Ken Auletta on At Google Talks

Want more? Grab our Scalable Startups monthly for more tips and special content. Here’s a sample

When You're Hired to Solve a People Problem

Also find Sean Hull’s ramblings on twitter @hullsean.

A good five years ago I worked for a firm in online education. Among various products they provided through their website, they were struggling with a process to get content churned out more quickly. The bottleneck was slowing down their business, and limiting the new products they could offer.

Help Us Publish, Please…

Among a number of things I was asked to look at, one particularly vexing problem surrounded publishing. Adding new products had become a cumbersome & difficult process. It took days sometimes weeks. For obvious reasons the stake holders wanted to wrestle this process out of the hands of engineering, and place it were it arguably belonged in the hands of the business units.

[quote]
When you’re hired to solve specific technical problems it only figures that you go looking for software solutions. But sometimes the problems turn out to involve the people and processes of an organization. Getting them unstuck is one of the biggest challenges an professional services consultant can face. But it is also one of the most rewarding to solve.
[/quote]

Bumping into Fear, Uncertainty & Doubt

As I dug into the meat of the problem I began to work closely with the database administrator. He was a very smart gentleman & friendly in his own way. But he also spoke with a very thick accent and brusqueness about his manner that proved difficult at times. After working together for some awhile, however I began to win him over, and he started to trust me.

Looking for a top-flight database administrator? Here’s our interview guide for recruiters, managers and candidates alike

It became apparent that he was rather resistant to handing over the keys to the publish process to non-technical folks in other departments. Having handled his share of outages, and bungling screw ups, which sometimes fall on operations during some of the least hospitable hours on the dial, I could understand his concern. What’s more he knew the code which had grown unwieldy.

If I were to use a polite euphemism I would call it spaghetti code.

Management, Managers & Trouble Brewing

Around then the CTO decided to send a manager to sniff around. Unfortunately the manager in question was a very hands off type. His edict was simply to get this done in two weeks, and proceeded to go on vacation. Upon his return when things were still hitting snags, things started to go south.

Despite AWS failures firms like AirBNB and Reddit didn’t have to go down.

Though some of the process had been automated, I refused to move the changes into full push-button automation without first testing on dev environments. Of course those requests had fallen on deaf ears.

Problem comes to a head

Next the hands off manager escalated things upstream, of course adding his own spin on the situation. Shortly thereafter I’m called into the CTOs office only to get royally chewed out. A serious smack down which I’ll admit came almost out of nowhere.

A related article which readers also found quite popular: A CTO Must Never Do This

Oh, honestly I’m not complaining. On some level this is the job of the consultant. To act as the third party, wise or unbiased second opinion, and even punching bag at times.

Once things calmed down, I explained the situation from top to bottom. Yes there was messy code, and yes the process was complex, but it could of course be automated. What really stood in the way was a very resistant engineer who currently owned the process.

As much of the Sandy recovery continues, Devops can learn real lessons from the hurricane.

The CTO for his part concurred, having had trouble communicating with the engineer himself, and really not liking him much. He then appointed a proper project manager to oversee redoing the publish process from scratch.

A Plea for Cooperation

If I were to do it all again, for my part I’d sniff out the people dynamics more carefully. It’s often the case the companies have the engineering talent in house to solve a particular problem, but not the will or knowledge to put it into play.

Is your business growing? Having trouble scaling? Here’s how we do a performance review. It’s the first step on your way to hyper growth.

To managers & CTOs I’d encourage where possible to look for people, process and communication issues. Try to ferret out when something is an engineering problem, or whether it is one of people, silos and territory.

Want more? Grab our Scalable Startups monthly for more tips and special content. Here’s a sample