In keeping with the spirit of PaaS, Tenants should not be concerning themselves with high availability of the platform itself. Contrast this to traditional application development where time may be devoted to the understanding of the container's HA facilities and how they may be incorporated into an application's final design. While this is less of a concern for web applications, HA concerns typically come to play when considering how to manage user session and state data in a cluster.
Running an application in a PaaS solution should mean that the developers are freed from such concerns and can devote their energy on building the business functions of the application. The PaaS instance should handle HA simply as another "service" of the platform. Applications should have a convenient location to store session information (e.g. traditional HTTP session API) and not be concerned with the reliability or efficiency of the implementation.
In some respects, the implementation of a highly available PaaS platform is no different than a custom crafted application environment. Many of the same tried and true techniques for redundancy, replication and fault tolerance are of course the same. The difference between PaaS high availability and traditional solutions comes down to contract management.
Establishing good SLA definitions between Tenant and the PaaS provider is crucial. For instance one Tenant may require that their application may only endure seconds of downtime per year whereas another Tenant may be comfortable with monthly downtime for maintenance. Failure recovery is another key aspect of negotiation between the Tenant and PaaS provider- how long will a Tenant need to wait before their application is available were disaster to strike in the data center? This answer may be impacted by organizational as well as regulatory needs.