In today's wired world, most applications require a server to hold and process data; fortunately, it's never been easier to acquire high powered and scalable server resources. Cloud services such as Amazon's Web Services (AWS) or Linode's VPS offerings make server access simple. The complication comes from configuring and managing servers over time. Call us crazy, but we love working with servers and we have spent several years managing "boxes" for our clients and our in-house applications. If you need short term or long term assistance with your servers, we can help.
VPS Setup & Administration
In order for your website or application to exist online, it must have a server that responds when someone visits your site. A Virtual Private Server (VPS) is a step up from cheaper shared hosting that is typically used for a new website. It has most of the benefits of owning a server (like dedicated memory, cpu and admin privileges), without the associated cost. The downside is they require an understanding of how to configure and maintain the server which is usually too steep of a learning curve for owners of smaller websites.
If your application is moderately sized or starting to outgrow it's humble beginnings, it may be time to upgrade to a VPS solution. We can help install and setup your new VPS and then help launch your website.
Benefits of a VPS:
- Your site will consistently load faster (compared to the same website on a shared host)
- The server is completely customizable to your website or application needs
- You only pay for the resources you need
- Your server has dedicated resources (memory, bandwidth, cpu...)
Cloud Computing Setup & Admin (AWS, Azure...)
Larger applications typically need more than one server to handle all of their data and users who send requests for pages. A site like Facebook owns hundreds of thousands of servers that work together to distribute the work of running their site. Cloud Computing platforms like the Amazon Web Services platform are now being offered as a reasonably priced solution for websites that need extra resources. In many ways they are like a VPS (or dedicate server), but they are designed to let your application scale when it has more users. Cost is extremely affordable and you usually only pay for what you use (instead of what you might use). The trade-off is an increase in complexity that will likely require a trained server administrator or software engineer. We can help launch your application on a cloud computing platform and maintain it over time.
Cloud computing platforms have additional benefits to a VPS:
- Cost scales with your needs; billing is based on the resources used by your application
- Performance improves since work is spread across multiple computers
- Applications are more reliable since they can be spread across multiple servers.
- Servers are located throughout the world and users "talk" to the most efficient servers.
Databases are everywhere on the internet. There are no official numbers, but we're willing to bet over 60% of all websites today now use a database in some form or fashion. Since databases are so critical to the performance of a website (and good performance helps a website succeed), it is wise to make sure your database is running as fast as possible. Having worked with a number of databases on projects of all sizes, we are able to diagnose database issues and improve their performance. Database Optimization can be as simple as changing a few settings to make the database more efficient, or as complex as rewriting parts of your application. If your application is starting to run slowly, there is a very good chance the database is the bottleneck; we can help diagnose and fix issues with your database.
What we typically check:
- Query Performance
- Server Memory Allocation
- Table Indexes
- Database Structure
- SQL Usage
Some databases we work with:
Scripting & Automation
Web servers have built-in programming languages that let administrators write small applications to automate many routine functions. These mini-applications are called "scripts" and they can significantly reduce the time and skill set necessary for a human to run the server. Like all software, there is an initial upfront investment to develop the script, but the long term savings can be tremendous for certain organizations.
Some tasks we often automate include:
- Database back-ups
- Compiling reports and distributing them via email
- Scanning log files for malicious activity
Server Analysis & Optimization
If you are having issues with your web server or would like to improve performance, we can take a look at your setup and suggest recommendations.