Abstract. Many companies are adopting cloud for hosting applications delivered as a service over the Internet. An application service delivered in this way is referred as Software as a Service (SaaS). The SaaS providers get benefits from getting cloud resources provisioned on-demand and through pay-as-you-go billing models. These capabilities enable faster application development and deployment with lower upfront investment into infrastructure. To benefit the most from the cloud, software architecture must be designed with consideration that software will run on the cloud. However, a legacy application is often developed by using monolithic architecture approach and might not get all advantages provided by a cloud computing. A growing monolithic application gets less flexible in development, has longer provisioning time, slows down the speed of innovation and lowers economy of scale. As result of such problems, not only commercial companies, but also the various academic researchers aim to design software as a "cloud-native" application. This kind of software has specific non-functional requirements that define scalability, reliability, fault tolerance and other cloud-specific requirements. This systematic literature review is based on the case studies, published articles and other literature related to the cloud-native or cloud-ready applications. It generalizes common traits of non-functional requirements defined in analyzed resources. Also, it walks through architectural styles of the applications running on a cloud and presents recently developed architectures that are used for large-scale software services delivered on a cloud.