In cloud computing services, high availability is one of the Quality of Service (QoS) requirements which is necessary to maintain customer confidence. High availability systems can be built by applying redundant nodes and multiple clusters in order to cope with software and hardware failures. Due to cloud computing complexity, dependability analysis of the cloud may require combining state-based and non-statebased modeling techniques. This paper proposes a hierarchical model combining Reliability Block Diagrams (RBDs) and Continuous Time Markov Chains (CTMCs) to evaluate the availability of OpenStack private clouds, by considering different scenarios. The steady-state availability, downtime, and cost are used as measures to compare different scenarios studied in the paper. The heterogeneous workloads are considered in the proposed models by varying the number of CPUs requested by each customer. Both hardware and software failure rates of OpenStack components used in the model are collected via setting up a real OpenStack environment applying redundancy techniques. Results obtained from the proposed models emphasize the positive impact of redundancy on availability and downtime. Considering the tradeoff between availability and cost, system providers can choose an appropriate scenario for a specific purpose.