Posts tagged as:
php
Daily del.icio.us for April 28th through May 2nd
- Use XQuery from a Java environment - XML data format can be hard to search, but with the fairly recent introduction of the XQuery API, XML searches are now flexible and easy to perform. For Java programmers who work with XML documents using SAX, DOM, JDOM, JAXP, and more, the XQuery API for
- Pragmatic Caching - a simple Cache Configuration Model for Spring « brain driven development - We’ve come up with a very pragmatic solution with a declarative style for cache configuration and a more programmatic style for handling caching behaviour. As always, the usefulness of such a solution depends on the given problem space and the surroundi
- Will open source save Sun? | The Open Road - The Business and Politics of Open Source by Matt Asay - CNET Blogs - Another question for Sun will revolve around how much open-source software will be required to move the hardware and services needle. MySQL, with more than 70 million downloads, is a good candidate to jump-start movement in hardware and services. Will it
- InfoQ: SpringSource Launches New Application Server without Java EE - The SpringSource Application Platform has been designed from the ground up to instead focus directly on supporting the widely used Spring Portfolio of open source projects. Specifically, the application server builds on the Spring Portfolio programming mo
- SpringSource - SpringSource Application Platform - SpringSource Application Platform is a completely module-based Java application server that is designed to run enterprise Java applications and Spring-powered applications based on Spring, Apache Tomcat and OSGi-based technologies
- Adobe opens up Flash, but leaves out Google and Apple | Ed Burnette’s Dev Connection | ZDNet.com - In a well timed move today Adobe announced the Open Screen Project and lifted restrictions on the use of Flash related specifications. The initiative is supported by several industry leaders including ARM, Intel, LG, Motorola, Nokia, NTT DoCoMo, Qualcomm,
- Twitter Said To Be Abandoning Ruby on Rails - We’re hearing this from multiple sources: After nearly two years of high profile scaling problems, Twitter is planning to abandon Ruby on Rails as their web framework and start from scratch with PHP or Java
- Google's Eric Schmidt - Exclusive Interview - All * Technology * News * Story - CNBC.com - CNBC's Maria Bartiromo sat down with Google CEO, Dr. Eric Schmidt Tuesday at the Milken Conference in Los Angeles to discuss Google's growth and U.S. slowdown, the possibility of a Microsoft acquisition of Yahoo!, online advertising growth rates, Google's
- Ext JS - Ext GWT v1.0 Beta 2 Released - Ext JS is pleased to announce the Ext GWT 1.0 beta2 release. This release includes numerous enhancements and bug fixes since the beta1 release and is a recommended upgrade for those using beta 1.
- Automation for the people: Hands-off load testing - Load testing is often relegated to late-cycle activities, but it doesn't need to be that way. In this installment of Automation for the people , automation expert Paul Duvall describes how you can discover and fix problems throughout the development cycle
Related posts
{ 0 comments }
Daily del.icio.us for April 22nd through April 25th
- Bonus Quote of the Day — Political Wire - "The Clintons know that she can?t win this. But they?'re hell-bound to make it impossible for Obama to win."
- Thank you, Javascript - The Daily WTF - Javascript supports octal numbers. Any number starting with a zero is octal, even if it can't be an actual octal number. In certain languages, like Perl, trying to use a non-octal number as an octal number results in an error. In other languages, like Jav
- Screencast #1 - Amazon EC2 plugin for IntelliJ | Elastic Grid Blog - Here is a screencast demonstration the use of the Amazon EC2 plugin for IntelliJ IDEA
- a little madness » Ext Discovers Step 2 of the Slashdot Business Model? - The saddest part about this is that the Ext team really have built a fantastic library, and a vibrant community around it. The library had all the hallmarks of an open source success story. Now, however, Ext have committed the cardinal sin of an open sour
- Application Development Trends - SpringSource Enterprise Edition Now Live - The new SpringSource Enterprise Edition product is specifically designed to support large organizations, providing enterprise-class tools and features. The product aims to meet enterprise requirements by being "certified, warranted and indemnified,".
- Sun looks to free up the rest of Java | The Industry Standard - By freeing these up, Java can be fully open-source and thus be packaged more easily with Linux distributions. In conjunction with this activity, Sun is talking with Linux distributors, including OpenSuse, Ubuntu and Fedora to have them offer an updated ve
- Windows Server 2008 Now 'PHP Ready' - Microsoft and Zend have worked together on Zend Core, Zend's tested, certified and supported version of PHP. Zend Core and PHP are now certified for Windows Server 2008.
- InfoQ: Comparing JEE Servers - When picking which JEE server to use for your application, you have a number of choices to select from. Knowing which application server is the best is key. Jonathan Campbell took a handful of JEE application servers, and came up with surprising results
- Ext JS - Blog - Ext JS is pleased to announce the latest release of the Ext JS toolkit and the introduction of a new product, Ext GWT 1.0 (beta 1). The Ext JS version has been updated to 2.1 and includes new components, performance improvements, bug fixes and more.
- Ajaxian » Ext JS 2.1 Released - Ext JS 2.1 has been released. In this point release the featured changes are: Full REST support, Added Ext.StatusBar Component and Samples, Ext.Slider Component and Samples, Example to demonstrate Remote Loading of Component Configs, Grid Filtering Sample
Related posts
{ 0 comments }
Simple Tags plugin & WordPress 2.5 RC2 breaks your blog
I just upgraded my blog to WordPress 2.5 RC2 and everything stopped working. Instead of getting my blog or the admin screen, I got the following error message:
Fatal error: Call to a member function add_query_var() in taxonomy.php
I discovered the root-cause of the problem and it is the wonderful Simple Tags plugin. Disabling the plugin restores WordPress back to it's own awesome self. Simple Tags is an awesome plugin that allows you to manage tags within WordPress.
I've opened an issue with the Simple Tags issue tracker on Google Code.
Tags: blog, php, plugin, tags, upgrade, WordPress, wordpress25Related posts
{ 0 comments }
Daily del.icio.us for February 10th through February 14th
- Zimbra's new Desktop: Look ma, no browser! | The Open Road - The Business and Politics of Open Source by Matt Asay - CNET Blogs - It's very cool. You should give it a spin. This is the best e-mail "client" ever built…largely because of its successful marriage of the Web with the desktop. In the future, all applications will be like this–or should be.
- Ext Road Map - Our goals for 2008 are to continue improving the 2.x version line by adding new components and enhancing some of the existing areas of functionality in Ext as shown below. Looking ahead to 3.0, there are some big new areas that we'll be getting into. In a
- The Making of MarkMail: Announcing an Informal Partnership with Codehaus - We're happy to announce we've developed an informal partnership with Codehaus to load all their mail archives and receive automatic notification of new Codehaus lists as they get created.
- A Conversation with Matt Mullenweg (Yahoo! Developer Network blog) - A few weeks ago, Matt Mullenweg (creator of WordPress) came by Yahoo to talk to a bunch of Yahoo! bloggers about the current and future state of WordPress. After the meeting, I sat down with him for our Developer Spotlight series on YDN Theater to catch u
- Andres Almiray's Weblog : Weblog - JSON-lib is a java library for transforming beans, maps and XML to JSON and back again to beans and DynaBeans. It is based on the work by Douglas Crockford in http://www.json.org/java.
- The State of BPM: Top-Five Trends | The Intelligent Enterprise Blog - The results show a number of interesting trends indicating that CIOs and business leaders are focused on improving their processes. Existing customers described how they expect to get their ROI from their BPM implementations, and most expect to see ROI ov
- Starbucks ditches T-Mobile for AT&T | Crave : The gadget blog - The new AT&T plan allows all customers 2 free hours per day, with a $3.99 fee for additional 2-hour chunks of time. Monthly subscriptions will cost $19.99 and will enable access to other AT&T hot-spot locations in addition to Starbucks.
- Anthony Park :: 100% Geek Content by Volume » New Vista Media Center Plugin - MyNetflix (beta) - I’ve kept this pretty quiet, but I’ve been working on a new Media Center plugin for a little while now. It is now ready for beta testing, and I’ve decided to run a public beta for this one. MyNetflix features * View your Netflix queue * Browse movie
- Humanized > Our Products > Enso Launcher - Enso Launcher is designed to give you instant access to your applications and windows. With a few easily remembered keystrokes, you can launch an application, switch to a window by name, and control the state of your windows.
- Martin Wolf : Advanced Java 5 Generics - Here's an article about a few of the more subtle aspects of Java 5 Generics. This is hardly the 1st article about this particular subject, but none of them explain it quite the way I would have wanted to see it when I was wrestling with this issue myself.
- Panopticon: The Power of Pre-Attentive Processing - Our visualization software is easy to use and is a great way to explore large datasets, identify outliers and find hidden patterns.
Related posts
{ 0 comments }
Daily del.icio.us for February 3rd through February 6th
- Ajaxian » Firebug 1.1 and getfirebug.com - John J Barton has been working hard on Firebug 1.1, but the work has been in the dark a little unless you are paying attention.
- Showdown - Java HTML Parsing Comparison | Lumidant - However, the clear winner was HtmlCleaner. It was the only library to successfully clean 10/10 documents. None of the others were able to even make it past the first link I provided,
- Graeme Rocher's Blog: Grails 1.0 is out the door! - We've put the finishing touches on Grails 1.0 and its out. Time to celebrate with some sleep.. enjoy!
- ted husted's blog : Apache Struts Tops OpenLogic's Open Source Leaders List with a 71% Share - Hibernate and Struts topped the list with more than 71 % of customers using each. JasperReports is the only newcomer to the list this year …
- Grails : Free PDF of Getting Started with Grails & Series for PHP Developers [cld.blog-city.com] - If you missed Michael Kimsal blog on how PHP developers can move to Grails then check out the following. Along the same lines, the book, Getting Started With Grails, is now available freely in PDF form. You can find out more information here.
- Application Development Trends - Lessons From a Yahoo Scrummaster - Yahoo has grown from its initial dotcom roots. Yahoo has more than 200 teams using agile development processes to create software for the highly volatile general-public Web application market.
- Adobe - Flex Flex Data Services - Flex Flex Data Services allows you to use spring components as remote object destinations and data management services assemblers using Flex Data Services.
Related posts
{ 0 comments }
Daily del.icio.us for January 14th
- Tweak your Ubuntu desktop with Ubuntu Tweak - Download Squad - Ubuntu Tweak makes it easy to customize your desktop environment and a handful of other settings like your startup session and power management settings. The utility runs on Ubuntu 7.04 and 7.10 and could make life a lot easier on Linux/Ubuntu newbies.
- Project Euler - Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and prog
- Michael?s Random Thoughts » The Pitfalls of Java as a First Programming Language - A Response - Blaming the first language for a failure to design a good curriculum where other necessary languages are taught appropriately is a naïve argument that misses the point and isn?t helping anyone
- bobdc.blog: Scraping and linked data - Somehow, code monkeys surrounded by earth-toned cubicle fabric think that it makes them resemble DJs surrounded by crates of vinyl if they use musical buzzwords to refer to the act of combining multiple things into a new one
- datejs - A JavaScript Date Library - Datejs is an open source JavaScript Date library for parsing, formatting and processing.
- Microsoft MIX07 - How to Make AJAX Applications Scream on the Client - A recent presentation by Cyra Richardson, Senior Program Manager Lead on the IE team, at MIX 2007 on Making Ajax Applications Scream on the Client went into detail on how developers should approach the problem of making their applications perform well on
- HTML Purifier 3.0.0 released - HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are st
- A BigDecimal Cookbook for financial calculations - Computations that yielded amounts, quantities, adjustments, and many other things were generally done with little or no attention to the special precision and rounding concerns that arise when dealing with financial issues.
- Apache Lenya - Open Source Content Management (Java/XML) v2.0 - The Apache Lenya development community is very proud to announce the 2.0 release of Apache Lenya. Apache Lenya is an Open Source Java/XML Content Management System and comes with revision control, site management, scheduling, search, WYSIWYG editors, and
- Lightview - Lightview was built to change the way you overlay images on a website.
- Best Color Tools For Web Designers - Determining the core color for a web project could be easy but finding the right alternatives to match the core can sometimes be difficult. That?s where the color tools play its roles. Color tools help you determine matching color or even suggest sets o
Related posts
Daily del.icio.us for January 13th through January 14th
- Tweak your Ubuntu desktop with Ubuntu Tweak - Download Squad - Ubuntu Tweak makes it easy to customize your desktop environment and a handful of other settings like your startup session and power management settings. The utility runs on Ubuntu 7.04 and 7.10 and could make life a lot easier on Linux/Ubuntu newbies.
- Project Euler - Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and prog
- Michael?s Random Thoughts » The Pitfalls of Java as a First Programming Language - A Response - Blaming the first language for a failure to design a good curriculum where other necessary languages are taught appropriately is a naïve argument that misses the point and isn?t helping anyone
- bobdc.blog: Scraping and linked data - Somehow, code monkeys surrounded by earth-toned cubicle fabric think that it makes them resemble DJs surrounded by crates of vinyl if they use musical buzzwords to refer to the act of combining multiple things into a new one
- datejs - A JavaScript Date Library - Datejs is an open source JavaScript Date library for parsing, formatting and processing.
- Microsoft MIX07 - How to Make AJAX Applications Scream on the Client - A recent presentation by Cyra Richardson, Senior Program Manager Lead on the IE team, at MIX 2007 on Making Ajax Applications Scream on the Client went into detail on how developers should approach the problem of making their applications perform well on
- HTML Purifier 3.0.0 released - HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are st
- A BigDecimal Cookbook for financial calculations - Computations that yielded amounts, quantities, adjustments, and many other things were generally done with little or no attention to the special precision and rounding concerns that arise when dealing with financial issues.
- Apache Lenya - Open Source Content Management (Java/XML) v2.0 - The Apache Lenya development community is very proud to announce the 2.0 release of Apache Lenya. Apache Lenya is an Open Source Java/XML Content Management System and comes with revision control, site management, scheduling, search, WYSIWYG editors, and
- Lightview - Lightview was built to change the way you overlay images on a website.
- Best Color Tools For Web Designers - Determining the core color for a web project could be easy but finding the right alternatives to match the core can sometimes be difficult. That?s where the color tools play its roles. Color tools help you determine matching color or even suggest sets o
- HtmlUnit vs HttpUnit « A Public Scratchpad - If you?re using HttpUnit for legacy reasons, it?s a fairly solid package, but don?t expect to get much support. If you?re starting a new project and are trying to decide between these two frameworks, HtmlUnit wins hands down. It has the features,
Related posts
Daily del.icio.us for January 5th
Daily del.icio.us for for January 5th
- 12 predictions for Enterprise Web 2.0 in 2008 | Enterprise Web 2.0 | ZDNet.com - The worlds of SOA, SaaS, and Web 2.0 have been swirling around each other for a couple of years now and in 2008 we?ll finally see these gel into a practical, modern vision of next generation enterprises
- Ext JS impressions | CodeUtopia - I?ve been using Ext in an widget I?m working on. This is something Ext works for very well, since a widget will run outside the browser?s traditional page model anyway. You could have three column layouts with resizable column sizes, keyboard suppo
- Frameworks Round-Up: When To Use, How To Choose? | Developer's Toolbox | Smashing Magazine - In the following we present an overview of most popular web application frameworks; we cover both server-side (PHP, Java, C#, Ruby) and client-side approaches (JavaScript, CSS).
- Jan 4th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7 - ScottGu's Blog - Here is the latest in my link-listing series. Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past.
- Buy Amazon stock now! - Does Henry Blodget never learn?
Wonder if Eliot Spitzer is around
If you don't know who Henry Blodget is, check out http://en.wikipedia.org/wiki/Henry_Blodget - script.aculo.us - downloads - This is a bugfix release that bumps script.aculo.us to version 1.8.1. Mainly, this release contains some important bug fixes and optimizations in Prototype, fixes cursor keys in autocompleting text fields for IE and Safari plus fixes an issue with Effect.
- Ajaxian » GWT Videos from GWT Conference Available - Pearson put on a GWT Conference that had a lot of great content. Fortunately, video cameras were running, and the video has been edited and posted
Related posts
Daily del.icio.us for Apr 13, 2007 through Apr 17, 2007
- The 90th percentile: MyFaces: The emperor has no clothes - My last project is going into production in a couple of weeks, and it has been implemented using JSF. I started with JSF in good faith: it should be stable by now, it is blessed by Sun and included as the de facto web framework in JEE 5.
- James Ward's Blog » Blog Archive » My Recent Flex & Apollo Adventures - A while back Bruce Eckel and I recorded a screencast of us building a Flex application with Hibernate and XFire on the backend. I finally got around to packaging the code for that demo. You can get it from SourceForge.
- rakaz - Make your pages load faster by combining and compressing javascript and css files - Thanks to a small PHP script and some clever URL rewriting I now have an easy to maintain method to speed up the loading of pages that use many or large css and javascript files.
- Vitamin Features » Serving JavaScript Fast - The next generation of web apps make heavy use of JavaScript and CSS. We?ll show you how to make those apps responsive and quick.
- lightWindow - Another decent lightbox Javascript library (via Ajaxian) - After researching every single modal window, lightbox, slimbox, etc out there nothing fit the bill. Granted some of them were very nice but only fit a specific purpose
- Dynamic languages: More than just a quick fix | InfoWorld | Analysis | 2007-04-16 | By Andrew Binstock - IT's rise to prominence as a core competence that delivers competitive advantage has been accompanied by a dramatic increase in the number of software development projects it must complete
- Translation From PR-Speak to English of Selected Portions of Rails Developer David Heinemeier Hansson?s Response to Alex Payne?s Interview [dive into mark] - LAUGH OUT LOUD funny take from Mark Pilgrim, John Gruber style.
- Wordpress Performance: Why My Site Is So Much Faster Than Yours by Elliott Back - There?s no good reason for Wordpress or your site to be slow, except your own negligence. Cache everything. Monitor performance
- Tim Sneath : Introducing Microsoft Silverlight - Silverlight (previously codenamed "WPF/E") is a lightweight subset of XAML for building rich media experiences on the web.
- Java Community News - BEA Releases JRockit R27.2 with Java 6 Support - BEA's latest JVM release, JRockit R27.2, is the first implementation of the Java 6 VM. In addition to providing full Java 6 support, the latest JRockit VM includes many-fold performance improvements, especially for applications with short-lived objects.
- Enomalism : XEN Virtualized Server Management Console: Amazon EC2 Migration - The Enomalism Elastic migration module is a migration tool kit for the management and migration of virtual images between your local xen based enomalism environment and the remote Amazon Elastic Compute Cloud Environment.
- Everybody Hates Don Imus - Frank Rich's brilliant column - Even in that short span, there?s been an astounding display of hypocrisy, sanctimony and self-congratulation from nearly every side of the debate
- Dev2Dev Online: Open Source and BEA - BEA believes in open source. We believe a blended strategy for application development and deployment?combining the best of open source and commercial software?provides important freedom and flexibility not available through all-or-nothing approaches
- Web Worker Daily » Blog Archive Web Worker Emergency Survival Kit « - Over the years, I?ve accumulated a variety of tools that don?t take up much space but that come in handy when an emergency comes along. On the average day, I don?t need any of these - but when I do, I?m happy to have them. Here are my suggestions
Related posts
Website Performance and Optimization
A couple of months ago, I noticed that I was getting pretty close to using up all of my monthly bandwidth allocation for my server and that was a surprise. I run several blogs that get quite a few hits but I didn't think I was anywhere near going over my 250 GB allotment. So I decided to spend a little time to optimize my server and figure out the best way to utilize what I had and optimize it to get the most performance out of my little box. Jeff Atwood's wonderful blog entry about Reducing Your Website's Bandwidth Usage inspired me to write about my experience and what I ended up doing to squeeze the most out of my server.
I had done some of the obvious things that people typically do to minimize traffic to their site. First and foremost was outsourcing of my RSS feeds to FeedBurner. I've been using FeedBurner for several years now after I learned the hard way how badly programmed a lot of the RSS readers were out there. I had to ban several IP addresses as they were getting my full feed every 2 seconds - Hoping that was some bad configuration on their side but who knows. Maybe it was a RSS DOS attack :). After taking a little time to see what was taking up a lot of the bandwidth, I discovered several things that needed immediate attention. First and foremost was the missing HTTP compression. Looks like an Apache or PHP upgrade I did in the past few months had ended up disabling the Apache module for GZIP compression and so all the traffic was going out in text. HTTP Compression delivers amazing speed enhancements via file size reduction and most if not all browsers support compression and so I enabled compression for all content of type text/html and all CSS and JS files.

Some older browser don't handle JS and CSS compressed files but anything of IE6 seemed to handle JS/CSS compression just fine and my usage tracking (pictured above) indicated that most of my IE users were using IE 6 and above.
Enabling HTTP Compression compressed my blog index page by 78% resulting in a statistical performance improvement of almost 4.4x. While your mileage may vary, the resulting performance improvement got me on the Top20 column at GrabPERF almost every single day.

Another issue I had was the number of images being loaded from my web server. As most of you already know, browsers will typically limit themselves to 2 connections per server and so if a webpage being loaded has 4 CSS files, 2 JS files and 10 images, you are loading a lot of content over those 2 connections. And so I used a simple CNAME trick to create an image.j2eegeek.com to complement www.j2eegeek.com and started serving images from image.j2eegeek.com. That did help and I considered doing something similar for CSS and JS files but decided instead to outsource image handling to Amazon's S3.
Amazon's S3 or Simple Storage Service is a highly scalable, reliable, fast, inexpensive data storage infrastructure that is fast and relatively inexpensive. S3 allows you to create a 'bucket', which is essentially a folder that must have a globally unique name and cannot have any sub-buckets or directories and so it's basically emulates a flat directory structure. Everything you put in your bucket and make publically available is accessible via http using the URL http://s3.amazonaws.com/bucketname/itemname.png. Amazon's S3 Web Service also allows you to call it using the HTTP Host header and so the URL above would become http://bucketname.s3.amazonaws.com/itemname.png. You can take this further if you have access to your DNS server. In my case, I created a bucket in S3 called s3.j2eegeek.com. I then created a CNAME in my DNS for s3.j2eegeek.com and pointed it to s3.amazonaws.com. And presto - s3.j2eegeek.com resolves to essentially http://s3.amazonaws.com/s3.j2eegeek.com/. I then used John Spurlock's NS3 Manager to get my content onto S3. NS3 Manager is a simple tool (windows only) to transfer files to/from an Amazon S3 storage account, as well as manage existing data. It is an attempt to provide a useful interface for some of the most basic S3 operations: uploading/downloading, managing ACLs, system metadata (e.g. content-type) and user metadata (custom name-value pairs). In my opinion, NS3 Manager is the best tool out there for getting data in and out of S3 and I have used close to 20 web based, browser plug-in and desktop applications.

In addition, I also decided to try out a couple of PHP Accelerators out there to see if I could squeeze a little more performance out of my web server. Compile caches are a no-brainer and I saw decent performance improvement in my PHP applications. I blogged about this topic in a little more detail and you can read that if you care about PHP performance.


The last thing I did probably had the biggest impact after enabling HTTP compression and that was moving my Tomcat application server off my current Linux box and moving it to Amazon's EC2. Amazon's EC2 or Elastic Compute Cloud is a virtualized cloud of computing available to you for $0.10 per hour of CPU utilization. I've been playing around with EC2 for a while now and just started using it for something real. I have tons of notes that I taken during my experimentation with EC2 where I took the stock Fedora Core 4 images from Amazon and made that server into my Java application server running Tomcat and Glassfish. I also created my own Fedora Core 6, CentOS 4.4 image and deployed them as my server. My current AMI running my Java applications is a Fedora Core 6 image and I am hoping to get RHEL 5.0 deployed in the next few weeks but all of that will be a topic for another blog.
In conclusion, the HTTP Compression offered me the biggest reduction in bandwidth utilization. And it is so easy to setup on Apache, IIS or virtually any Java application server that is it almost criminal not to do so.
Maybe that's overstating it a bit - but there are some really simple ways to optimize your website and you too can make your site hum and perform like you've got a cluster of servers behind your site.