This is the second of a two-part newsletter on “going big”. By “going big” I mean how one transitions from a Web site with little to moderate traffic, to one that can handle tons of traffic. The previous newsletter looked at going big from the macro perspective: theory, implementation, hardware, and networking. In this newsletter, I’ll look at the micro perspective: how to write code that scales well. And, as it turns out, this newsletter again got to be too big, so this is part one of two parts that makes up part two of the two-part series. (Huh?) In this newsletter, I’ll mostly focus on code. The next will mostly focus on the database.

Before going into details, I’m going to define what it means to be a “big” site. As I said in the previous newsletter, it actually depends upon the kind of content and activity the site has: X number of video requests is far more demanding than the same X number of mostly text pages. Likewise, X number of WordPress page requests is far more demanding than the same X number of static HTML page requests. For the purposes of this discussion, let’s say that “big” is a site that gets in the broad neighborhood of 100,000 to 500,000 pageviews per day. At that point (if not before), you’ll need more than one server to handle the load. (As a counterpoint, on the highest end, Netflix sometimes requires up to 20,000 servers at a single time.)

As always, questions, comments, and all feedback are much appreciated. And thanks for your interest in what I have to say and do!

Continue Reading...

I just recently discovered the Web site LayoutIt!. LayoutIt! provides a Web-based drag-and-drop interface for creating HTML layouts using the Twitter Bootstrap framework. For someone like me, with no design skills whatsoever, Twitter Bootstrap and this new LayoutIt! tool are wonderful inventions.

Continue Reading...

When it comes to running a business, a lot of the discussion and effort goes towards getting new clients. Getting new clients is important, of course, especially when you’re just getting started, but I believe that many business and people don’t focus enough on the clients they already have. As happy as you are when you get a new project and client, how long is it before your eyes start to wander to that next possible job? This is natural, and certainly I’ve been guilty of it myself. But I would argue that you should put at least as much thought and effort into treating your current clients right as you put into getting new clients. Let’s look at the why’s and how’s…

Continue Reading...

Last week, the first public preview of version 2 of the Yii framework was announced. Qiang and the entire team have been working very hard, and this is a great milestone to reach. The code is available on Github, and there’s a whole forum dedicated to feedback and design discussions. Input from the Yii community is actively encouraged. All that being said, understand that Yii 2 is not nearly ready for production uses yet. Many bugs will undoubtedly be found, and other changes to the framework’s design are inevitable, too.

Besides mentioning this exciting news, I also wanted to explain how I expect this impacts my self-published book on the Yii framework…

Continue Reading...

A couple weeks ago, I posted a link to the Nettuts+ article “HTTP: The Protocol Every Web Developer Must Know – Part 1” by Pavan Podila. That was the first part of a two-part article, covering what every Web developer ought to know about the Hypertext Transfer Protocol. That article explained the fundamentals of HTTP, and is something that that truly every Web developer should read. Nettuts+ just posted Part 2. In this article, Podila goes into…

Continue Reading...