Challenges ahead:
1. For cloud service providers:
- Technical challenges arise for the management of large computing infrastructure and the use of organization Technologies on top of them.
- In the infrastructure as a service domain how many resources need to be provisioned, and for how long should they to be used, in order to maximize the benefits?
- Integration of real and virtual infrastructure need to be taken into account from different legal, security and legislation perspectives.
- Security in terms of confidentiality, secrecy, and protection of data in another important challenge. Example- a data analyst company named Cambridge analyticaused data of millions of users on Facebook without consistent from the end users.
- Different legislations in different countries pose challenges. this is because cloud data is stored across globe by service providers.
2. For Cloud Service consumers:
- Organization do not on the infrastructure so there is challenge for confidential data, which organization cannot afford to revel.
- Protection of data from hackers and malicious users is big threat. End users are concerned about the data being used in inappropriate way by unauthorized users.
- Need to have control over data could become a challenge. In many countries, government Agencies want access to all data that is generated within the country. Now, if this data is stored in same other country, rules of their land may not allowed access to data stored within the boundaries. This poses and interesting challenge of ownership and access to the data.
Historical developments:
Five core Technologies of the past have played vital role in evaluation of cloud computing these technologies are distributed system, virtualizations, web 2.0, service orientation and utility computing.
1. Distributed systems:

Fig:Distributed systems
- Clouds are essentially large distributed computing facilities that make available their services to third parties on demand.
- The primary purpose of distributed systems is to share resources and utilise them better. in case of cloud computing, this concept is taken to the extreme and resources are rented to users. in that sense, Cloud Computing is an extended form of distributed systems.
- Distributed systems are characterized by two factors
- They are composed of multiple independent components that work together.
- End users perceives this as single system.
- Three major milestones along the distribution systems highway that has lead to cloud computing are
- Mainframe computing
- Cluster computing
- Grid computing

Fig:Computing mile stones
- Mainframes:
- First example of large computational facilities leveraging multiple processing units.
- Mainframes are highly reliable, powerful computer specialized in large data processing.
- Mostly used by large organization for bulk data processing removal in the processing of significant amounts of data.
- These were not distributed systems.
- No system shutdown required to replace failed components, and the system could work without interruption.
- Batch processing were supported.
- Forwarded large computational power by using multiple processors, which were presented as a single entity to users.
- Provided the features like always on and high flow fault tolerance. These become the factor features of distributed systems and eventually for cloud computing.
- Clusters:
- Started as low cost alternative to the use of mainframes and supercomputers.
- Machines could be connected by high bandwidth network to achieve single specific task and presenting itself as a single cohesive system.
- Clusters become the standard Technology for parallel and high performance computing around 1980s.
- Cluster could be setup using cheap machines available in market there why it provided flexible and less expensive alternative to mainframe and supercomputers.
- Cluster computing was the main reason for evolution of tools like Condor and parallel virtual machine.
- Cluster could be easily extended if more computational power was required.
- Grids:
- It's an evaluation of cluster computing.
- Grid computing post a new approach to access large computational power, huge storage facilities and variety of services.
- A computing read was dynamic aggregation of heterogeneous computing notes, and its scale was nationwide or even worldwide.
- Cloud Computing is considered successor of grid computing.
2.Virtualization:
- virtualizations is another core technology for cloud computing.
- It has been around for more than 40 years.
- Virtualizations is essentially a technology that allows creation of different computing environments. These environment are called virtual because they stimulate the interface that is expected by a guest.
- Most common fossilization includes hardware virtualization.
- Hardware virtualization means the hardware expected by operating system is stimulated by a software. this allows execution of multiple operating stacks on same hardware platform. For example, user is able to execute virtual machine that consists of Windows operating system on the same hardware user can also executive virtual machine with LINUX operating system.
- This is the best technology that enables Cloud Computing solution to deliver virtual server service on demand, such as Amazon easy to write scale, VMware Vcloud and others.
- At the higher level, Runtime environment made by programs are also virtualized.
- This approach is used in cloud computing to provide a platform for scaling applications on demand, such as Google App Engine and Windows Azure.
3. Web 2.0:
- The web is primary interface through which Cloud Computing delivers its services.
- Web 2.0 refers to world wide web websites that emphasize user generated content, usability and interoperability for end users.
- Web 2.0 brings interactive and flexibility into web pages, providing enhanced User experience.
- Provides web based access to services for end users using Technologies like XML, JavaScript and Web Services.
- Users become provider of content. for example Facebook.
- Web 2.0 applications are extremely dynamic the improve continuously by following the usage trend of the community.
- Example of web 2.0 application includes Facebook, Google documents, flicr, Instagram etc.
- Existence and evolution of web 2.0 applications is fundamental for making cloud services accessible to the wider public.
4. Service oriented computing:
- Service is an abstraction representing a self describing and platform agnostic component that performs any function.
- Service orientation is the core reference model for cloud computing systems.
- Application is developed as collection of services.
- Service oriented computing supports the development of rapid, low cost, flexible interoperable and evolvable applications and system.
- Attributes of service include
- Loose coupling- allows the services to Cater to variety of problems and make them reusable.
- Reusable- being reusable and answers the value of services.
- Programming language independent- increases the accessibility and usage of services by variety of users.
- Location transparent -helps usage of services by wide range of user across globe.
- Service oriented computing introduces two attributes that is fundamental to Cloud Computing they are:
- quality of service(qos).
- Software as a service(saas).
- Quality of service- Functional and nonfunctional attributes that can be used to evaluate the behaviour of a service from different perspectives attributes such as response time, security, scalability and availability are monitored.
- Software as a service-
- It's a new delivery model for applications.
- Term Inherited from application service providers. ASP delivers software services across wide area networks made available over data centres. ASP is completely responsible for maintaining infrastructure and end user does not have to maintain these.
- It takes this one step further by making each component independently available as a service.
- Allows Complex business logics to be exposed as a service and applications can be developed on the fly.
- Web Services-
- Most popular from the service orientation.
- Simply put, web service is a function that can be accessed by other programs over internet.
- Web Services used open standards like XML, JSON, SOAP, REST, WSDL AND UDDI.
- WSDL- web service definition language. it is defined in XML and forms of metadata using which web service can be inferred by other programs. in a way, with defines public interface of a web service. client program connecting to a webservice can relate the WSDL file to determine what operations are available on the server.
- SOAP- simple object access protocol. An XML language that defines how to invoke a webservice model and collect the result.
- UDDI- Universal description, Discovery and integration. XML based registry that help search services across the world.
5. Utility oriented computing:
- Utility computing please listen to deliver software components as utility such as electricity and telephone with pay-as- you-use model.
- The idea of providing computing as a utility like a natural gas, water, power and telephone connection has a long history but has become a reality today with the advent of cloud computing.
- The mainframes days, IBM and other mainframe providers used to provide processing powers to organization like banks and government Agencies through their data centres.
- This brought in the new business model such as user metering, high end processing powers and invention in hardware and software stacks.
- Expansion and adoption of Internet and web provided that ecological means to realize utility computing on a worldwide scale and through simple interfaces.
- For application and system development, service-oriented computing and service oriented architecture introduced the idea of delivering external services for performing a specific task within a software system. for example, applications uses single sign of facility provided by Google or Facebook and when not develop their own login business logic.
- Applications for being developed as a network of utility services spread across Internet.