Post Syndicated from Davy Jones original https://www.anchor.com.au/blog/2017/03/maximising-site-performance-key-considerations/
The ongoing performance of your website or application is an area where ‘not my problem’ can be a recurring sentiment from all stakeholders. It’s not just a case of getting your shiny new website or application onto the biggest, spec-ed-up, dedicated server or cloud instance that money can buy because there are many factors that can influence the performance of your website that you, yes you, need to make friends with.
The relationship between site performance and business outcomes
Websites have evolved into web applications, starting out as simple text in html format to complex, ‘rich’ multimedia content requiring buckets of storage and computing power. Your server needs to run complex scripts and processes, and serve up content to global visitors because let’s face it, you probably have customers everywhere (or at least have plans to achieve a global customer base ). It is a truth universally acknowledged, that the performance of your website is directly related to customer experience, so underestimating the impact of having poor site performance will absolutely affect your brand reputation, sales revenue and business outcomes negatively, jeopardising your business’ success.
Site performance stakeholders
There is an increasing range of literature around the growing importance of optimising site performance for maximum customer experience but who is responsible for owning the customer site experience? Is it the marketing team, development team, digital agency or your hosting provider? The short answer is that all of the stakeholders can either directly or indirectly impact your site performance.
Let’s explore this shared responsibility in more detail, let’s break it down into five areas that affect a website’s performance.
5 key site performance considerations
In order to truly appreciate the performance of your website or application, you must take into consideration 5 key areas that affect your website’s ability to run at maximum performance:
- Site Speed
- Reliability and availability
- Code Efficiency
- Development Methodology
1. Site Speed
Site speed is the most critical metric. We all know and have experienced the frustration of “this site is slow, it takes too long to load!”. It’s the main (and sometimes, only) metric that most people would think about when it comes to the performance of a web application.
But what does it mean for a site to be slow? Well, it usually comes down to these factors:
a. The time it takes for the server to respond to a visitor requesting a page.
b. The time it takes to download all necessary content to display the website.
c. The time it takes for your browser to load and display all the content.
Usually, the hosting provider will look over (a), and the developers would look over (b) and (c), as those points are directly related to the web application.
2. Reliability and availability
Reliability and availability go hand-in-hand.
There’s no point in having a fast website if it’s not *reliably* fast. What do we mean by that?
Well, would you be happy if your website was only fast sometimes? If your Magento retail store is lightning fast when you are the only one using it, but becomes unresponsive during a sale, then the service isn’t performing up to scratch. The hosting provider has to provide you with a service that stays up, and can withstand the traffic going to it.
Outages are also inevitable, as 100% uptime is a myth. But with some clever infrastructure designs, we can minimise downtime as close to zero as we can get! Here at Anchor, our services are built with availability in mind. If your service is inaccessible, then it’s not reliable.
Our multitude of hosting options on offer such as VPS, dedicated and cloud are designed specifically for your needs. Proactive and reactive support, and hands-on management means your server stays reliable and available.
We know some businesses are concerned about the very public outage of AWS in the US recently, however AWS have taken action across all regions to prevent this from occurring again. AWS’s detailed response can be found at S3 Service Disruption in the Northern Virginia (US-EAST-1) Region.
As an advanced consulting partner with Amazon Web Services (AWS), we can guide customers through the many AWS configurations that will deliver the reliability required. Considerations include utilising multiple availability zones, read-only replicas, automatic backups, and disaster recovery options such as warm standby.
3. Code Efficiency
Let’s talk about efficiency of a codebase, that’s the innards of the application.
The code of an application determines how hard the CPU (the brain of your computer) has to work to process all the things the application wants to be able to do. The more work your application performs, the harder the CPU has to work to keep up.
In short, you want code to be efficient, and not have to do extra, unnecessary work. Here is a quick example:
# Example 1: 2 + 2 = 4
# Example 2: ( ( 1 + 5) / 3 ) * 1 ) + 2 = 4
The end result is the same, but the first example gets straight to the point. It’s much easier to understand and faster to process. Efficient code means the server is able to do more with the same amount of resources, and most of the time it would also be faster!
We work with many code efficient partners who create awesome sites that drive conversions. Get in touch if you’re looking for a code efficient developer, we’d be happy to suggest one of our tried and tested partners
Accurately predicting the spikes in traffic to your website or application is tricky business. Over or under-provisioning of infrastructure can be costly, so ensuring that your build has the potential to scale can help your website or application to optimally perform at all times. Scaling up involves adding more resources to the current systems. Scaling out involves adding more nodes. Both have their advantages and disadvantages. If you want to know more, feel free to talk to any member of our sales team to get started.
If you are using a public cloud infrastructure like Amazon Web Services (AWS) there are several ways that scalability can be built into your infrastructure from the start. Clusters are at the heart of scalability and there are a number of tools can optimise your cluster efficiency such as Amazon CloudWatch, that can trigger scaling activities, and Elastic Load Balancing to direct traffic to the various clusters within your auto scaling group. For developers wanting complete control over AWS resources, Elastic Beanstalk may be more appropriate.
5. Development Methodology
Development methodologies describe the process of what needs to happen in order to introduce changes to software. A commonly used methodology nowadays is the ‘DevOps’ methodology.
What is DevOps?
It’s the union of Developers and IT Operations teams working together to achieve a common goal.
How can it improve your site’s performance?
Well, DevOps is a way of working, a culture that introduces close collaboration between the two teams of Developers and IT Operations in a single workflow. By integrating these teams the process of creating, testing and deploying software applications can be streamlined. Instead of each team working in a silo, cross-functional teams work together to efficiently solve problems to get to a stable release faster. Faster releases mean that your website or application gets updates more frequently and updating your application more frequently means you are faster to fix bugs and introduce new features. Check out this article ‘5 steps to prevent your website getting hacked‘ for more details.
The point is the faster you can update your applications the faster it is for you to respond to any changes in your situation. So if DevOps has the potential to speed up delivery and improve your site or application performance, why isn’t everyone doing it?
Simply put, any change can be hard. And for a DevOps approach to be effective, each team involved needs to find new ways of working harmoniously with other teams toward a common goal. It’s not just a process change that is needed, toolsets, communication and company culture also need to be addressed.
The Anchor team love putting new tools through their paces. We love to experiment and iterate on our processes in order to find one that works with our customers. We are experienced in working with a variety of teams, and love to challenge ourselves. If you are looking for an operations team to work with your development team, get in touch.
If your site is running slow or you are experiencing downtime, we can run a free hosting check up on your site and highlight the ‘quick wins’ on your site to boost performance.
The post Maximising site performance: 5 key considerations appeared first on AWS Managed Services by Anchor.