Easy Software Server Technologies
The choice between server and cloud software solutions has become a part of decision-making in most companies, and the decision is not always straight-forward.
There are many factors to consider when choosing the right way to conduct your business - starting with costs, through various functional and performance standards, all the way to security questions. When it comes to individuals, the choice is much easier - for a good couple of years now, cloud solutions have become the first option sought for personal and even small business usage.
In the following lines, we’d like to present and summarize our technologies and efforts to make both solutions best accessible for those who have made the decision. In the later sections, we also aim to present a case for the currently undecided that will help with the decision based on their key criteria.
Self-hosted (server) solutions
What we offer
As a company fully committed to web applications, we have a deep understanding of what it takes to host such an app. As part of our on-going support for self-hosted solutions, we try to simplify this complex operation as much as possible. During our 10+ years of experience with hundreds of unique server customers, we have innovated and released variety of helpful tools and manuals usable almost universally.
This was a natural step right from the beginning of our server solutions venture. Instead of having our customers prepare an environment with all prerequisites before final installation of our application, we provide the option to download the complete „server“. It is a virtual machine (VM) compatible with VMware and Virtual Box technologies that contains the application ready to start working. Thus, customer onboards the application a lot faster and with a significantly smaller effort.
We also released a couple of free variants of VM for the Redmine community, one with clean Redmine, the other with Redmine + our own free extensions (Easy Gantt, Easy WBS).
Quickly after its release, Redmine installer has become the most used tool to date. When the customer opts to install the application directly to the server, this tool makes it a lot easier than the standard way – instead of having to perform lots of manual steps (extracting installation package into a specific folder, running various server commands), there is a wizard which takes you through the basic settings and performs the installation and migrations automatically – thus minimizing the chance of an error.
Furthermore, Redmine installer is an integral part of our VMs, where it is used to install software updates without a hassle.
Easy server requirements check
As mentioned before, our applications are dependent on all sorts of systems, which is quite normal – we are living in an era of integrated technology. To keep the dependencies in order, we have devised a very simple tool that checks the important components on the server. The admin just runs a simple command, which results in a neat table listing the components and their status. Such information is valuable not only for the admin, but eventually also for our support staff that can provide better instructions for a fix if the customer turns to us.
Manuals and guidelines
Server environment is a diverse jungle of ridiculous proportions. To keep all parts in a perfect sync requires tons of experience and continually refreshing your knowledge about new technologies. For the most crucial configurations and components related to our applications, we have published instruction manuals and guidelines that assist admins in regular server maintenance.
These include – installation manuals, ruby updating, server configurations, useful commands or common server errors, and more.
Limitations of server solution
While we always try our very best to provide customers as much useful information and tools for smooth running of their self-hosted application, we cannot directly control their environment. That means we have no ability to perform fixes directly on the server, or we cannot look for the cause of various errors occurring on the server which leaves us only guessing when providing support.
Remote server support performed by our administrators is available as a paid service. Furthermore, the resolution time is always longer when compared to cloud solution – simply due to arrangements needed before access to client server can be provided. Which leads to next point:
Access restrictions and issues
In most instances when a customer asks for server support, they cannot provide direct access to the server, but rather a remote-controlling session via apps such as TeamViewer. It is better than having no access, but our experience show a significant decrease in flexibility and resolution time when using remote-controlling tools in comparison to direct (SSH) access – connection issues with the hosting computer, lagging, and loss of control when the customer uses the computer. It all adds up to 50% slower resolution time than with SSH access.
Demand for server admins is larger than supply that is a cold hard fact. Server support is no exception. For this simple reason, server support must be scheduled in advance, so that there is a sufficient time frame for complete resolution of the issue.
This is especially true if the only access option is via remote-controlling where the customer’s admin must be present. If the customer provided us SSH access, this problem is a bit smaller – our admin starts the repair immediately when available and doesn’t need to meet up with the customer’s admin.
Bug report verification
It not far-fetched to say that every server environment is different. With so many configuration options, you would think it is impossible to have two identical servers. This is often the reason why we cannot simulate an in-house a specific behavior described by the customer which acts as a bug.
If a service required to run our application is configured differently as our recommendation, it is not necessarily wrong, but may cause issues in the application that are hard to trace back to that configuration.
Cloud solution (Easy Cloud)
Technically, for the end user there is no real difference between server and cloud solution, it is still a web application which you open in your browser. From the service perspective, though, these solutions are nothing alike.
While with server solution you partially work for the app - you need to devote some resources to maintaining the app and the server environment. In cloud, all your effort is focused on working with the app to achieve goals in your business. Easy Cloud is simply about conducting your business, while we manage the “toolshed”.
What we offer
With our vast experience with server infrastructure and inexhaustible evolutionary and revolutionary innovations in this field, along with the deepest knowledge of the application requirements, we are able to guarantee that our cloud provides the optimal configuration for the best performance of our software.
With the IT world changing every day before our very eyes, we realize there will never be an ultimate perfect configuration. That’s why at any given point, we do manage the cloud by adapting best practices and our own technologies to the latest high-value-adding trends.
Our data centers are already spread through all (non-Antarctic) continents to provide reliable availability and accessibility from every part of the world. And we are not planning to stop adding new data centers to our map. All of the data centers conform to the highest standards of application hosting.
Locations of our current data centers*:
- Czech Republic
- Russia (Moscow)
- NORTH AMERICA - Canada
- SOUTH AMERICA – Brazil
- AUSTRALIA – Sydney
- AFRICA – Republic of South Africa
* - as of 09/2017
Data centers around the world provide fast performance and a high level of safety.
OVH hosting in Europe & Canada
Amazon AWS in Asia & South America
Where do you find our servers? Virtually everywhere.
Cloud applications are generally more standardized than server solutions, which is a good thing because it reduces the cost for the customer. However, in Easy Cloud we provide exclusive customizable services that eliminate some of the basic cloud disadvantages.
One example of such service is to run the application on the customer’s domain. For instance, instead of using the standard domain for an application company.easyproject.com, you can use projects.company.com.
Another service we offer are regular full-data backups from application accessible in a secure SFTP location, which is not a standard in most cloud solutions.
If the demands to customize the cloud solution get even higher, we are up for it.
Private cloud (dedicated server)
The pinnacle of cloud services, private cloud combines the biggest advantages of both server and cloud solutions, while eliminating the most significant shortcomings of the two.
On one hand, your application is running on a separate server dedicated solely to your application, where surrounding technical services are tailored to your needs. On the other hand, you leave all concerns for the „well-being“ of the application to us, and need not carry a team for this purpose in your organization.
It was mentioned in the server part of this article that it may become complicated to solve some issues occurring on the server application. In cloud, however, you can always count with the most direct and pro-active approach to your reported issues simply because our operators can test the issue first-hand. Therefore, we are able to provide you a first-reply solution to your request very often.
Furthermore, our state-of-the-art incident monitoring technology is in full permanence 24/7, which allows us to intercept vast majority of errors before they are noticed by the end user. And those that have been discovered by users are already in the care of our committed team of experts.
Recovery in case of fatal failures of external services is within 3 hours – your application running on a new server.
Limitations of cloud solution
Control over the application
The back-end of the application – infrastructure, source code, server processes, etc. are completely under our control – the customer doesn’t get to manage this part of the solution. In case of private cloud, customer has a say in it, but doesn’t handle it directly.
It goes without saying that Easy Cloud protects user data according to high standards and all legislative policies. In spite of that, there are organizations that are simply disallowed to have data processed by external parties, due to internal rules, legislation in regulated areas or other regulations. However, this is rarely the case.
Our data shows, these are limitations directly affect only about 10 % of all our customers.
How to choose?
To help with the vital decision between server and cloud solution, we prepared a set of questions to help you realize your true priorities for the decision and to unravel some variables you may have left out of the equation.
This guide basically summarizes the previous paragraphs, but also adds other more sublime criteria.
Question #1 – Do I have the resources to self-host a web application?
Starting with obvious – reliable server infrastructure, skilled server admins. But then it goes deeper, to software prerequisites.
- Will I have to hire new employees to manage the application?
- Will my technicians require additional training for this kind of application?
- Will I need to buy a new server?
- Will I need to update/replace an operating system?
- How many components will I have to install/update in order to be able to install the application?
Remember, keeping up with current server technologies to run a reliable web application may be more demanding than it seems at the first glance.
Question #2 – How much would self-hosting cost?
In cloud, you are only paying for so-called SaaS (software as a service), while server solution implies additional costs as well. Not just the price of the application, but also internal costs for maintenance, hardware or technical trainings. If your application budget is not ready for such overhead, you will be unpleasantly surprised...and so will your supervisors.
Always keep this in mind, when preparing for a self-hosted application. In the end, the decision may be easier than you expect in a side-by-side budget comparison.
Question #3 – What kind of support am I expecting?
While response times are similar in both solutions, there are objective reasons why some issues on the server may be resolved in weeks, as opposed to hours on the cloud.
Statistically, the resolution time of mid-to-high complex issues is slower in server solutions than on the cloud. This is simply because the support operator doesn’t have first-hand access to the issue and may not be able to replicate the reported behavior.
It is not a surprise that the majority of software users opt for the complete, effort-free, plug-and-play solution of the cloud if given the option. For individuals and most companies, it is not even a decision – just start a cloud instance, invite your team and continue to focus on your core business with the help of the new app.
There will always remain a few areas where cloud solution is not possible, and these get the care and attention they deserve from the vendors of server solutions. But it will remain the more demanding and expensive of the two.