Friday, November 5. 2010FOWA 2010: Building Scalable Architectures
A few weeks ago I visited the Future of Web Apps event in London. One of the most interesting sessions I attended was a talk on scalable architectures by Sandy Jen, the brains behind a popular service called Meebo (an instant messaging program) that was launched 5 years ago. In this blog post I wanted to recap on some of the key points in the session.
Sandy mentioned a few challenges that we need to cope with when building a website or web application. First of all, we need to make sure that the site is going to have the same user experience (UX) across all browsers and devices. Second, we need to take into consideration that the user might not have a stable Internet connection. Users also don't favour the idea of refreshing the page so utilising Ajax could provide a good investment from a UX point of view. Forcing users to download an external application to make our site enjoyable is also a thing of the past; therefore it is a good idea to avoid that approach. Finally we are still boxed in a browser: despite the browser's limitations, we still need to match our users' expectations. Continue reading "FOWA 2010: Building Scalable Architectures" Wednesday, September 8. 2010Scalable Systems, Part 3: Technology
This blog series discusses scalability from three distinct perspectives: people, processes and technology. If you haven't read the first and the second part of this series yet, we recommend you read them first before continuing with this post.
While scalability is an art more than a science, over time several sound architectural principles have emerged. Examples include designing for rollback or to be disabled, redundancy of all the components, embedded monitoring, asynchronous communication, stateless systems, etc. There isn't a perfect recipe that works for every project, but always keeping these concepts in mind and finding the right balance dramatically increases the chances of success. Continue reading "Scalable Systems, Part 3: Technology"
Posted by Lorenzo Alberton
at
14:27
| Comments (0)
| Trackback (1)
Defined tags for this entry: scalability, soa
Tuesday, August 17. 2010Scalable Systems, Part 2: ProcessesThis blog series discusses scalability from three distinct perspectives: people, processes and technology. If you haven't read the first part yet, we recommend you read it first before continuing with this post. Processes are critical to scale. They cover and assist all the different stages of software development, from the early phases (planning, design), to implementation, to putting the software into production and maintaining it. Any activity is ultimately risky, and being able to understand the potential risks and gains is essential when growing your business. When the user load is growing and adding more resources to the existing system is no longer enough, the first step usually consists of redesigning the system. As in every journey, it's good to know both the start and the destination first. So before starting any architecture or software redesign, you need to understand what the current state is. Calculating the headroom of your current system is a process that involves determining the current usage and the free capacity of each component, and measuring it against the expected growth. This will give you a better idea of the time remaining before service degradation or outages, as well as help identify the real bottlenecks of the current architecture. Continue reading "Scalable Systems, Part 2: Processes" Wednesday, August 4. 2010New white paper: Horizontally scalable web applicationsIn order to manage the success and popularity of a web site, it needs to be designed to cope with a growing number of users. Applications need to scale upwards to remain responsive during times of heavy load, and backwards to reduce TCO when costly resources are no longer needed. Our aim is to provide a timely and seamless user experience without needing to invest in a permanent platform ready for the biggest potential future traffic spike. In this white paper, we will discuss horizontal scaling, or adding additional resources (typically servers) to an existing infrastructure and spreading the load of one or more of the subsystems out across them. Because of its "shared nothing" design philosophy, PHP excels at horizontal scaling. We'll only briefly cover vertical scaling (additional RAM, CPUs or hard disk space), as every system can benefit from having bigger servers to run on. There are two main challenges to scaling applications horizontally: 1) Designing an application that can be scaled as and when the need arises. To do this requires some architectural planning of the system, using techniques such as:
2) Arriving at a system which can add and remove resources automatically. Download this white paper to learn several strategies for horizontal scaling of PHP applications, as well as to understand the overhead required for each one. We'll also make some recommendations about the kinds of scenarios which render each strategy a useful platform choice. Download now (free, but we ask you to leave your contact details)
Posted by Soila Patajoki
at
11:19
| Comment (1)
| Trackbacks (0)
Defined tags for this entry: scalability
Wednesday, July 7. 2010Scalability: People, Processes, Technology
In order to manage the success and popularity of a web site, it needs to be designed to cope with a growing number of users. A site designed to support 50 concurrent users can't serve thousands of simultaneous visitors without collapsing. Thus, the very success of a web site could also be the cause of its failure, if it is not able to sustain the sudden and exponential growth in number of users or requests.
A recent study by Computing & Double Take revealed that 83% of UK organisations admit downtime of several hours or more. Even if you manage to avoid a complete collapse, users will not stick around on a slow-loading site. The ability to grow (and shrink!) depending on need or availability thus becomes critical, directly affecting your revenue stream. A system that's able to cope with this changing demand is called scalable. Continue reading "Scalability: People, Processes, Technology" Tuesday, February 16. 2010Dutch PHP Business Seminar
On March 2nd, we are organizing another PHP management seminar in The Netherlands. In one afternoon, we'll update IT managers, CIOs, CEOs, CTOs and (web) development managers on some of the latest developments in PHP development. Topics this year are:
Continue reading "Dutch PHP Business Seminar"
Posted by Anouk Ilic
at
09:54
| Comments (0)
| Trackbacks (0)
Defined tags for this entry: business, cloud, cloud computing, conference, management, performance, scalability, seminar, services, soa, webservices
Monday, December 21. 2009Disruptive events and information flow
This weekend The Netherlands (and many other countries too, but for the purpose of example I'll stick to NL) experienced something that happens only every few years. We had up to 25 centimeters of snow, which is unusual for us, so it disrupts life significantly. On sunday, buses and trains were canceled, destinations became unreachable, and at Schiphol airport alone, over 700 people had to spent the night because it was impossible to get anywhere.
Snow continued to fall Sunday evening, so this morning most news outlets expected chaos in traffic. The Ibuildings Netherlands offices already advised all its staff to work from home on Monday, but not every company is able to tackle it that way, so the number one question for many people this morning was: "Will I be able to get to work?". The answer to the question should be simple: either trains and buses ride normally, they have delays, or they don't ride at all. Still, many of the Dutch public transport companies struggled to get that information across. Read on for an overview and an analysis, using the public transport companies of the Dutch major cities as an example of how important it is to do 'peak management'. Continue reading "Disruptive events and information flow"
Posted by Ibuildings
at
08:20
| Comments (3)
| Trackbacks (0)
Defined tags for this entry: graceful degradation, peak management, peak traffic, performance, public transport, scalability
Thursday, April 23. 2009Surviving a plane crash - The nu.nl case study
About 2 months ago, Erik Snoeijs posted a story about the NU.nl backend, a project we did for the largest news site in The Netherlands.
Back then, we already planned to write a follow up post about the front-end technology. Where the back-end focuses on flexibility and ease of use for the Nu.nl editors, the front-end focuses completely on very high performance and getting the news out to the site's readers as quickly as possible. Continue reading "Surviving a plane crash - The nu.nl case study" Thursday, February 12. 2009NU.nl; the back-end It's long overdue seeing as the new site has been up for about two months now, but better late then never!Somewhere in March of last year, we heard we might be doing the site NU.nl for ilse media. Readers not local to the Netherlands might not know it, but nu.nl is almost a concept in the Netherlands. It's the news site here, millions of people rely on it for their news throughout the day. So not very surprising we were all very excited about doing this. Continue reading "NU.nl; the back-end" Tuesday, August 12. 2008The definition of evil
Recently a colleague stated that in theory, caching could be considered 'evil'.
Now 'evil' is a very broad term which is used a lot in the IT community, but what does it really mean when we're talking about technical solutions? I asked around, but couldn't find a clear cut definition, so I went searching... Continue reading "The definition of evil"
Posted by Boy Baukema
at
16:11
| Comment (1)
| Trackbacks (0)
Defined tags for this entry: best practices, browser, caching, development, evil, optimization, performance, scalability
(Page 1 of 2, totaling 12 entries)
» next page
|
Blog

