Virtual server. A good and plentiful minimum resources cost around 10 euros per month. Hourly billing is used. Many variations in resources and network topology. Hosted by Hetzner, with a data center in e.g. Finland, but it’s not strictly necessary to use their services.
Domain name. This can be purchased from Hetzner, but also from anywhere else. The most important thing is that some has rights and ability to make minor changes to the domain’s DNS settings, as the domain must be set to direct to the numerical IP address where the virtual server is located.
CDN service (Content Delivery Network). A separate user account is registered with the Bunny CDN and a team member having "Manage zones" permissions should be added so that settings could be set on the customer's behalf. An advance payment of a few euros may be sufficient to last for a long time.
SSL certificate. Previously, this was purchased separately, but currently a Let's Encrypt certificate is used without cost and which is automatically renewed, which means that it doesn't require any effort from a customer. It is possible to use commercial SSL certificates, which will cause the server to perform "about a minute's worth of work" if the customer can provide the information needed to create the certificate.
For both Hetzner and Bunny CDN services, the easiest way to pay is by prepayments, which in the case of Hetzner increases the "credit balance" that is automatically used to pay the invoices.
The customer does not need to provide their bank details to the developer/seller of the publishing application. Instead the prepayments are made by sending a prepayment using PayPal's internal money transfering, after which the full amount of the prepayment is manually transferred to Hetzner and Bunny CDN.
The PayPal money transfer is preferred, especially in the initial phase, but in the later phases the Hetzner prepayment can also be paid by bank transfer. When making the transfer, the Hetzner user account's id code is entered in the reference data so that the amount sent is directed to the correct user account. It may not be necessary to pay the Bunny CDN prepayment at all for a long period of time, or even regularly if it is not used much. Bunny CDN also has other services available for use, for which a customer can choose to pay from the same prepayments.
If requested separately, the customer can receive a copy of a monthly invoice, but this is a manual operation, so sending a copy of each invoice might not happen.
Hetzner charges for the use of virtual servers, even if they are shut down. If they are completely removed, leaving only the user account for use, billing will stop immediately after the current hour.
For Hetzner's web hosting service, customer may have to pay another monthly fee for the next month, depending on when the service is suspended. For more information on this take a look at the Hetzner's documentation: 30 days to the end of the month
Domain names are typically those that are renewed or not renewed annually. Hetzner's web hosting service package includes a free domain name, with the annual fee paid from its initial and monthly fees. The domain name purchased from Hetzner is the property of the customer. If the customer terminates the web hosting package, he may continue to own the domain name by paying an annual fee to Hetzner or transfer it to another domain name registrar.
Using of the Bunny CDN can be terminated at any time, but of course it is not advisable to terminate it while all other essentials are still in use.
Hetzner invoices its services on a monthly basis, which would mean two separate invoices (for the virtual server(s) and the web hosting package). The monthly billing dates would remain the same, but would vary on a client-by-client basis. The first payment reminder for the first invoices will be sent 5 days after receipt of the invoice, for subsequent invoices after 10 days.
In Hetzner's case, the advance payment is intended to cover the costs for the next 30 days. If it starts to appear that the prepayment may not be paid, the customer will be contacted and it is anticipated that all Hetzner services used by the customer might have to be deactivated. This may mean that the virtual server with all its data may be deleted and after that it cannot be restored.
At least in the case of Hetzner, prepayments can be refunded for the remaining amount (minus the balance of the last invoice). According to the information received from Hetzner's customer service, the refund will be made using the payment method originally used to make the payments, i.e. PayPal payments via the publishing application developer to the PayPal account and bank transfers directly to the bank account of the publishing application customer. It is not quite clear whether there is a service fee for a bank transfer when paying back prepayments, but in the SEPA (Single Euro Payments Area) it should not be very much.
Overage costs means additional fees over allotted usage limits. In the case of Hetzner's virtual server, it means that virtual server's outbound data traffic is free up to 20 terabytes (1000 gigabytes) and after that customer will get charged based on overage pricing, which in Hetzner's case is 1 eur per terabyte. The means of limiting data traffic to ensure that it remains within the free 20 terabytes will be agreed with the customer. There is a risk that some fraudulent parties might use up the free data traffic through bots. See the writing A word about limiting data transfer costs and visitor traffic for more information on tracking data transfer and associated additional costs.
Resources such as disk space, memory/performance for server equipment are available on request. As minimum resources, 8 GB memory and 4 vCPUs (processor time slots) have been considered as suitable, which at 15.7.2024 pricing means a maximum cost of 8,04 eur per month. Then, a virtual server will be in use, i.e. the processor is used by multiple Hetzner's client. Dedicated servers, i.e. servers used by only a single customer, are more expensive. A publishing application can be distributed over several servers, as explained in the writing about network topology changeability.
There are no separate agreements with Hetzner or Bunny CDN to remain their user. They just simply are excellent in terms of pricing, functionality, features and willingness to evolve. The similar permanence of maintainability is also an important criterion for using them.
The control of the Hetzner user account remains solely with the developer/seller. The reasons for this include the need to authenticate with an identity document to obtain them and the risk of making incorrect configurations. With Bunny CDN customers can make technical changes themselves or create a team member account with limited permissions to make these changes. Various optionalities can be utilitized at the customer's request without any extra charge, provided that they are not too burdensome to implement. E.g. Bunny Storage, which is another service of Bunny, could be useful.
The publishing application is not yet sold as a business, but as a private person, so at this stage the customer does not pay extra for product development, maintenance, etc.
To get a feel for how to increase credit balance, two different ways of transferring money to Hetzner was tried: directly from bank account (Nordea) and using the Wise service. Both were paid on Thursday and on Monday, immediately after the weekend, the credit balance had increased using both. The service charge for Wise matched exactly the amount that was left to transfer to Hetzner. The bank did not charge a service fee. The fact that both the sender and the recipient were located in the SEPA (Single Euro Payments Area) certainly helped to speed up the transaction flow. Hetzner is a German company, where its headquarters are located.
Wise's interface is not so complicated that it would need a lot of explanation. You can get off to a good start by clicking the "Send money" button. Since it seemed relevant to be able to assess the consequences of having something wrong with the transfer details, the name of the recipient (Hetzner) was set to the name of the bank and the reference number was not only set to the required Hetzner customer ID, but it also contained text string "Customer ID:", but just as quickly the payment was made available as with a bank transfer.
The payment intermediary Wise charged a service fee of 0.41 eur for a transfer of 10 eur, which is probably an acceptable amount. The amount that ends up in Hetzner's account is clearly shown and you can see from your own online bank that ten euros have been deducted from the account. The money transfer in this case has also gone through Trustly, which has the advantage that the identity is verified by a bank ID and no other proof of identity is required.
In addition to the Hetzner IBAN, it is important to include the Hetzner customer number in the reference data. A slight mistake made in the other try out allowed to deduce that the customer ID in the reference number could also contain a little extra like "Customer ID:" before the actual customer number and the amount of money would still end up where it was supposed to. However, it is probably recommended to use only the customer number as reference number. Nordea Bank did not charge a service fee (it was probably included in the personal service package).
An online bank transfer could not be much easier. Just as easy as transferring money domestically. A slightly different amount was sent for the sake of differentiation, i.e. 3 euros, which ended up in full in Hetzner's account.
PayPal's Xoom service may be as good as Wise. Other payment services that have emerged as potentially viable include Azimo, Instarem, Revolut, MoneyGram and transferGo. There are some country restrictions on the location of the sender for payment intermediaries such as Western Union, SendMoney24, GlobalWebPay and Ria. Skrill could be a good one, but at the time of writing, individuals cannot use it to send payments to businesses.
Some of these services don't let you do much until you've proved your identity in somewhat cumbersome way, possibly requiring to take a selfie, and prove your address by scanning an invoice that came in the mail, for example. In the case of the Wise service that was tried, you can use Trustly as a payment method, so you don't need to prove your identity beyond your bank ID. According to the Wise website, Trustly is available in Estonia, Finland, Spain, Poland, Sweden and Denmark.