Series: The Web Platform

Posted by Stuart Herbert @ 7:54 AM, Thu 11 Oct 07

3 Comments

Welcome to The Web Platform, an on-going series of blog posts about the environment that you need to create and nurture to run your web-based application in.

This is a list of the topics that I’m planning to cover over the coming weeks and months. As topics are covered, I’ll add links to the postings to this page, so that over time this page builds up into what I hope will become a comprehensive guide.

I’m always on the look-out for new topics that need to be covered. If there’s a particular gap you’d like to see covered, please leave a comment on this page, and I’ll do my best to get it covered for you if I can.

I’m also extremely interested in hearing your own experiences on all of the topics that I’m blogging about. Your feedback, whether its by comments left on each blog post, or direct email to stuart (at) stuartherbert.com, is always most welcome.

Best regards,
Stu

Welcome

  • Introduction
  • Web Platform 101
    • Architecture: Application Servers vs CGI Model

Building Blocks

Servers are a bit like LEGO blocks; they come in all shapes and sizes, and you can stick them together in all sorts of wonderful ways to solve your problems and build your own masterpiece.

This section covers the six classic ways of grouping servers together.

Deployment Options

Servers can be grouped in many ways, and there are different ways that those groups can be installed, or deployed. The different deployment options trade complexity and cost for improved uptime, resilience, and business continuity.

This section looks at five classic ways to deploy servers.

  • Direct Internet Connection
  • DMZ
  • Multiple DMZs
  • Split Site
  • Failover

Hardware To Deploy

What goes in a server matters, as does what goes around it.

This section looks at what makes a difference when spec’ing a server, and the additional hardware components you might need to make your server(s) work.

  • Commodity Hardware
  • Blade Servers
  • CPU: The Need For Speed
  • Multi-processor Machines
  • RAM: Making Room
  • Disk: Space And Waiting
  • Firewalls
  • Load Balancers

Runtime Environment

The hardware goes hand-in-hand with the software that you’re going to run on it. One of the great advantages of the open-source languages that power the web is that you’re not locked into just one platform.

This section looks at the options for deploying on the two most popular platforms today: Linux and Windows.

Designing A Deployment

In every project, the time eventually comes to make a decision so that hardware can be purchased and cabled up to the Internet. Get it wrong, and your website could be struggling under the weight of your users, or thousands of dollars could be wasted on hardware that’s sitting there completely idle.

This section looks at how you can decide what to spend your money on, and how to work with a client to come to that decision.

  • Determining Who To Talk To
  • When To Talk To Them
  • Determining Capacity
  • Determining Resilience
  • Determining Security
  • Meeting A Budget

Performance Killers

Over the last twenty years, as hardware has gotten cheaper, the mantra “You can always throw more hardware at it” has become more and more popular. But hardware is expensive, and so is the cost of hosting it and looking after it. Keep your costs down by making your web-based application lean, mean, and hungry for users rather than a fat lady that’s just hungry for hardware.

In no particular order, this section looks at different areas of hardware and software that affect the performance of your web-based application.

  • Load Testing
  • Performance Profiling
  • DNS
  • Database Queries
  • Code Complexity
  • Memory Usage
  • Thrashing - Over-using Virtual Memory
  • Disk I/O
  • Network Queues
  • Offline Processing
  • Browser Caching
  • The Number of HTTP Requests
  • SSL Requests
  • Runaway Code
  • PHP Crashes
  • Caching PHP Objects
  • Compiling PHP From Source
  • Data Imports
  • Mixed Purpose

Cluster Killers

Your application is lean and mean, and you’ve built the right platform to deploy it to. But does your application play well when it runs on multiple servers?

In no particular order, this section looks at different areas where your solution as a whole could run into trouble, and what you can do about it.

  • Code Construction
  • Code Deployment
  • Session Management
  • Fault Finding
  • Sharing Data
  • Security
  • Data Integrity
  • Hardware Replacement
  • Too Many Responsibilities
  • Capacity Management

3 Comments

  1. Six Classic Ways To Group Your Web Servers | Stu On PHP says:
    November 20th, 2007 at 10:48 pm

    [...] Series: The Web Platform [...]

  2. PHP’s Built-In Solutions For Shared Hosting | Stu On PHP says:
    November 27th, 2007 at 10:50 pm

    [...] Series: The Web Platform [...]

  3. PHP’s Built-In Solutions For Shared Hosting | MT-Soft Website Development says:
    November 28th, 2007 at 1:42 pm

    [...] article is part of The Web Platform, an on-going series of blog posts about the environment that you need to create and nurture to run [...]

Categories

Archives

What's Stu Doing Now?

Latest Photos

N82 Test Shot
N82 Test Shot
N82 Test Shot
N82 Test Shot
N82 Test Shot
N82 Test Shot
N82 Test Shot
N82 Test Shot
N82 Test Shot
N82 Test Shot

This Month

August 2008
S M T W T F S
« Jun    
 12
3456789
10111213141516
17181920212223
24252627282930
31