Hosting and support
For users to see your website it needs to be made available using a server on the internet, this is called Hosting. A server that hosts websites performs any necessary processing before sending it along it's way via the public internet to client browsers.
Core services
The majority of websites hosted at Persistent Objects are Python's Django for the main processing delivering web pages, Django Rest Framework for APIs powering mobile and single page apps, PostgreSQL server to store data and Simple Storage Service (S3) for files.
This infrastructure needs supporting and that includes backing up data, upgrading applications and monitoring everything to ensure it all works as expected.
Disaster recovery
Backing up data is essential in case of disaster, in fact to ensure the latest changes are secure we use continuous replication to reduce risk even further.
Monitoring for high availability
Monitoring websites and applications ensures issues are identified early so they can be fixed ASAP. If an issue can't be fixed immediately, our engineers are alerted so the issue is not forgotten.
Upgrades
The world doesn't stand still and neither do client expectations. Upgrading apps and infrastructure is a constant set of tasks. There's always a need to support the latest browsers, including mobile, tablet and desktop. The latest software may deliver faster browsing, better graphics or improved user experience. Upgrading software often has to be planned, tested and implemented carefully to ensure compatibility with existing software, and that may include refactoring existing software and coordinating app upgrades. Although much is automated to keep costs down, ensuring a smooth transition is always a semi manual process - automated as far as is reasonable but with human oversight.
As an addition to supporting your website, if you have minor changes, these can often be incorporated easily and we often do so without charge.
All software has bugs
Although we aim for bug free software, bugs are an inevitable part of software development. Nearly all software has bugs due to complexity, human fallibility, changing environments, and challenges accommodating different use cases. Sometimes development relies on existing bugs so fixing them isn't always an option.
Open source
As an ecosystem, open source delivers high quality software at negligible cost, the volume of users helps ensure issues are managed delivering high quality software thanks to having many users monitoring and providing feedback as well as fixes. This burden sharing and transparency is what makes open source software what it is today.
Costs
Keeping costs to a minimum is a priority here at Persistent Objects and we achieve this by managing our own infrastructure, carefully managing the apps we use and automating as much as is reasonable. You get all this starting at less than the price of a coffee a day.