The components of cloud computing architecture are hardware and software, required for the delivery of cloud computing services. Cloud infrastructure and services may be operated or deployed in different ways depending on customer needs and requirements, as some cloud customers have security and privacy concerns over their sensitive data. Public and private cloud deployment models are different, as public clouds share a computing infrastructure across many users or businesses. Cloud computing service providers serve various types of customers. A cloud customer may be a small business, medium business, large business, or just an individual benefiting from the cloud services for personal purposes. Efficient memory management is considered one of the most important topics in cloud computing, where on-demand resource allocation is required to ensure efficiently in utilizing cloud services. Cloud computing is a very attractive solution to companies, providing many benefits and solutions, and has been widely adopted by businesses.