PaaS Cloud

5 downloads 112867 Views 517KB Size Report
deploy those applications to a cloud hosting provider such as. Amazon. EC2. PaaS platforms also have .... [4] http://bungeeconnect.wordpress.com/2008/02/.
International Journal of Computer Science and Information Security (IJCSIS), Volume 1, Issue 1. Published Online September 2013 in IROCS Journals (http://www.irocsjournals.org)

“PaaS Cloud” 1, 2

Pragati Chavan 1, Gurudatt Kulkarni 2 Lecture in Marathwada Mitra Mandal’s Polytechnic, Pune, India [email protected], [email protected]

ABSTRACT Cloud computing infrastructures enable companies to cut costs by outsourcing computations on-demand. However, clients of cloud computing services currently have no means of verifying the confidentiality and integrity of their data and computation This paper discuss the characteristics and benefits of cloud computing. It proceeds to discuss the Platform as a service (IaaS). This paper aims to provide a means of understanding and investigating IaaS. This paper also outlines the responsibilities of PaaS provider and the facilities to PaaS consumer. Keywords: cloud computing; cloud services; SaaS; PaaS; IaaS

1. INTRODUCTION TO CLOUD COMPUTING: [1,2] Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services. The services themselves have long been referred to as Software as a Service (SaaS), so we use that term. The datacenter hardware and software is what we will call a Cloud.[1] In a nutshell, it is quite vivid , “A Cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers.” Cloud computing also offers a low barrier to entry for system administration, providing a simple interface to manage multiple computers. However, the key advantage to cloud computing is elasticity. Typically, a cloud consists of a dynamically assigned group of computers that can scale up quickly at your request. Further, these computers are virtual machines that are unconstrained in their capabilities. The Cloud model generally consists of three varieties of architectures which refer to and provide three types of generic services, namely: Software Services, Platform Services and Infrastructure Services. These are generally abbreviated as Software-as-a-Service (SaaS), Platform-as-aService (PaaS) and Infrastructure-as-a-Service (IaaS), respectively. Presenting the model as a pyramid, the Software Services will be at the top and the Infrastructure Services will be at the

bottom of the pyramid. Based on this anatomy, the Cloud services are often defined, as in the following sections, and as shown in Figure 1.0

Figure 1.0 A Generic 3-Layer Model of Cloud Computing [2].

Whether private or public, cloud computing networks have the following three core components: 1. Infrastructure as a Service - Traditionally in the business environment a user’s day-to-day computing resources are held in one server at one location. The infrastructure is fixed. With cloud computing, the infrastructure is provided to the user in an ‘on-demand manner’, hence the term ‘Infrastructure as a Service’ (IaaS).

23

PaaS Cloud

2. Platform as a Service - This component really builds on the previous one but with an additional layer of capability that allows organizations to develop, build, and deploy their own applications to support their own specific business needs.[1] 3. Software as a Service – Software as a Service (SaaS) is where a user no longer owns the software that is utilized but instead uses it when required via cloud computing. The software remains the property of the service provider and the user pays for access either by annual subscription or on a pay-perusage basis.[1]

2. DEFINITION OF PAAS Platform as a service is a form of cloud computing that holds considerable potential to help enterprise developers quickly write and test customer- or employee- facing Web applications, something that companies of all stripes will be under growing pressure to deliver. These online development environments come from a range of vendors, including Salesforce.com (Force.com), Microsoft (Azure, starting next month), and startups such as Wave Maker. These platforms tend to center around one development language or methodology—not a bad thing for enterprise [3].

on Rails. The platforms promise more efficient coding through automation of tasks such as setting up a newly composed app as a Web service. Most also offer a cloud infrastructure service, or links to vendors such as Amazon.com, so that developers can launch what they build in a cloud infrastructure that can keep up with demand for the new application. PaaS solutions are development platforms for which the development tool itself is hosted in the cloud and accessed through a browser. With PaaS, developers can build web applications without installing any tools on their computer and then deploy those applications without any specialized systems administration skills. McKinsey & Company, in their 2008 report "Emerging Platform Wars," defined Platform as a service as "cloud based IDEs that not only incorporate traditional programming languages but include tools for mash up-based development."

Figure 2.1 Platform as Service Business View [6].

2.1. WHAT MAKES PAAS DIFFERENT?[5]

Figure 2.0 Platform as a Service Layers[5]

developers, who aren’t looking for just any platform but one that matches their preferences in tools and language, such as .Net, Java, or Ruby

Copyright © 2013

The alternative to PaaS is to develop web applications using desktop development tools like Eclipse or Microsoft Access, and then manually deploy those applications to a cloud hosting provider such as Amazon EC2. PaaS platforms also have functional differences from traditional development platforms. These include: • Multi-tenant development tool: traditional development tools are single user - a cloudbased studio must support multiple users,

I.J. of Computer Science and Information Security, 2013

24

PaaS Cloud

each with multiple active projects. •

monitoring to scale your cloud app, that's not PaaS! Pay as you go billing - avoiding upfront costs has made PaaS popular. If you can't pay with your credit card based on usage, that's not PaaS!

2.3. Benefits of PaaS [5] The benefits of PaaS lie in greatly increasing the number of people who can develop, maintain and deploy web applications. In short, PaaS offers to democratize development of web applications much the same way that Microsoft Access democratized development of client/server application

Figure 2.2Vertical Platform as a Service Environment.







Multi-tenant deployment architecture: scalability is often not a concern of the initial development effort and is left instead for the sys admins to deal with when the project deploys. In PaaS, scalability of the application and data tiers must be built-in. Integrated management: traditional development solution usually does not concern them with runtime monitoring, but in PaaS, the monitoring ability needs to be baked into the development platform. Integrated billing: PaaS offerings require mechanisms for billing based on usage that are unique to the SaaS world.

2.2. FAUX PAAS - 4 WAYS TO TELL IF IT'S REALLY PAAS [5] At a minimum, a PaaS solution should include the following elements: • Browser-based development studio - if you have to install something on your computer to develop applications, that's not PaaS! • Seamless deployment to hosted runtime environment - ideally, a developer should be able to deploy a PaaS application with one click. If you have to talk to a person to get your app deployed, that's not PaaS! • Management and monitoring tools - while cloud-based solutions are very cost effective, they can be tricky to manage and scale without good tools. If you have to bolt on DIY

Copyright © 2013

Figure 5.0 PaaS Structure

Today, building web applications requires expert developer with three, highly specialized skill sets: Back end server development (e.g., Java/J2EE) 1. Front end client development (e.g., JavaScript/Dojo) 2. Web site administration. PaaS offers the potential for general developers to build web applications without needing specialized expertise. This allows an entire generation of MS Access, Lotus Notes and PowerBuilder developers to start building web applications without the huge learning curve.

3. TYPES OF PAAS SOLUTIONS Platform as a Service has enabled the provision, orchestration and functioning of mission critical business and social applications that are easily accessed by anyone over the internet. Due to the growing demand of cloud solutions including platform enablement/provision, solution providers have

I.J. of Computer Science and Information Security, 2013

25 customized their platform products according to the application to be developed or deployed, service delivery, cost, scalability and collaboration requirement. Different PaaS solutions available in the market are: • Social Application Development Platforms: These PaaS solution stacks enable the development of applications which utilize the collaborative platforms of Social websites like Facebook, MySpace and Bebo. These platforms provide API’s (Application Programming Interfaces) that facilitate the integration of user’s application with the website’s platforms, enabling user to execute that application integrated with its platform. • Web Based Application Add-On Platforms: • These offerings provide the customization of an existing Software as a Service (SaaS) or addition of features/components in a packaged application like Microsoft Word, Lotus Notes etc. Google provides API to utilize its calendar, docs, mapping and other services, as an add-on or customize application. • Stand Alone Business Application platforms: These platforms provide the large, scalable, complex and available platform to design and deploy essential business oriented applications that require reliability, security and scalability. They provide generalized development environment without incurring the cost of software licensing, hardware acquisition and maintenance expenditure to the customer. • Open Computing Platforms: Such a platform enables the development of applications with the liberty to use virtually any programming language, database, operating system and server. Providers provision computing power and storage requirements, allowing developers to deploy their developed application onto the cloud. Amazon Elastic Compute Cloud provides storing and processing capabilities, scaled up and down easily according to the growing or decreasing requirements of the application.

PaaS Cloud

development life-cycle. Comprehensive PaaS should provide all service options in an integrated development environment within the actual target delivery platform, with source code control, version control, dynamic (interactive) multiple user testing, roll out and roll back with the ability to audit and track who made what changes when to accomplish what purpose. • Web based user interface creation tools: PaaS offerings typically provide some level of support to ease the creation of user interfaces, either based on standards such as HTML and JavaScript or other Rich Internet Application technologies like Adobe Flex, Flash and AIR. Rich, interactive, multi-user environments and scenarios can be defined, tried out by real people (non-programmers), with tools that make it easy to log/single out features that annoy or frustrate either novices or experts. Creation tools allow interfaces to be defined for different user profiles by function or expertise. • Multi-tenant architecture: PaaS offerings typically attempt to support use of the application by many concurrent users, by providing concurrency management, scalability, fail-over and security. The architecture enables defining the "trust relationship" between users in security, access, distribution of source code, navigation history, user (people and device) profiles, interaction history, and application usage • Integration with web services and databases • Support for SOAP and REST interfaces allow PaaS offerings to create compositions of multiple web services, sometimes called "mashups" as well as access databases and re-use services maintained inside private networks. Support for keeping the user/relationships device context and profile through the mashup across web services, databases and networks.

4. KEY CHARACTERISTICS [4] Services to develop, test, deploy, host and maintain applications in the same integrated development environment Different PaaS offerings provide different combinations of services to support the application

Copyright © 2013

I.J. of Computer Science and Information Security, 2013

26

PaaS Cloud

REFERENCES [1]

“A Sight into Cloud Computing”, Monika Verma, Amardeep Singh, Vandana, Sukhnandan Kaur, IJCST Vol. 2, Issue 2, June 2011.

[2]

]“Cloud Computing: Characteristics and Deployment Approaches”, Zaigham Mahmood School of Computing & Mathematics, 2011 11th IEEE International Conference on Computer and Information Technology

[3]

http://www.platformasaservice.com/

[4]

http://bungeeconnect.wordpress.com/2008/02/ 18/defining-platform-as-a-service-or-paas/

[5]

http://www.keeneview.com/2009/03/what-is-platformas-service-paas.html

[6]

http://www.techtaffy.com/2012/02/paas-will-affect-thefuture-of-software-says-gartner

[7]

http://www.siia.net/blog/index.php/2011/03/siiamembers-only-issue-brief-key-characteristics-of-apaas-offering

[8]

“Cloud Computing Research and Development Trend”, Shuai Zhang ; Coll. of Sci., Hebei Polytech. Univ., Tangshan, China ; Shufen Zhang ; Xuebin Chen ; Xiuzhen Huo, 2nd International Conference on Future Networks 2010

[9]

http://broadcast.rackspace.com/hosting_knowledge/w hitepapers/Understanding-the-Cloud-ComputingStack.pdf.

Figure 6.0 PaaS Key Characteristics [7]





Support for development team collaboration The ability to form and share code with adhoc or pre-defined or distributed teams greatly enhance the productivity of PaaS offerings. Schedules, objectives, teams, action items, owners of different areas of responsibilities, roles can be defined, updated and tracked based on access rights. Utility-grade instrumentation PaaS offerings provide developers insight into the inner workings of their applications, and the behavior of their users. Some PaaS offerings use information about user behavior to enable pay-per-use billing. Historical/usage evidence may help.

[10] http://www.kncomputing.com/papers/CloudComputing _Platform_as_Service.pdf

[11] http://www.fedplatform.org/wpcontent/uploads/2012/01/NJVC-Virtual-Global-PaaSWhite-Paper.pdf

5. CONCLUSION Platform as a Service solution stacks provide significant benefits for the business with extensive savings in upfront cost of installing such a development platform, improved productivity & profits, zero maintenance, decreased operational costs, global access to information using internet and many others. Platform as a Service provides significant cost reduction in the development, deployment and hosting of business applications. PaaS adoption gives virtually zero risk by eliminating the hefty capital investment required to build & operate infrastructure for facilitating thousands of users. Platform as a Service will be among the primary cloud service models, enabler of custom or packaged software applications which are accessible globally via internet.

Copyright © 2013

I.J. of Computer Science and Information Security, 2013