UCA15E08 - CLOUD COMPUTING UNIT-IV - DEVELOPING

Transcription

UCA15E08 - CLOUD COMPUTINGUNIT-IV - DEVELOPING APPLICATIONSGoogle – Microsoft – Intuit Quick Base – Cast Iron Cloud – Bungee Connect – Local clouds and Thin Clients –Virtualization – Server Solutions – Thin Clients.*******GOOGLEIf you want to get an app on the cloud, the Google App Engine is the perfect tool to use to makethis dream become reality. In essence, you write a bit of code in Python, tweak some HTML code, andthen you’ve got your app built, and it only takes a few minutes.Having knowledge of Python certainly helps, but it isn’t a deal-breaker, because Python is a lotlike other scripting languages.Java is very prevalent on the cloud. It is a very strong scripting tool and one that programmersknow well. But its complexity is probably hurting it more than helping.Other Python advantages include the open-source nature of Python. Python looks a lot likeSQL, but with a different syntax. That means that you can’t use any of the millions of already scriptedSQL tools to generate reports or produce graphs. Also, App Engine doesn’t store joins, which willbreak some of the code written for traditional databases.PaymentGoogle is charging when applications exceed certain limits. For instance, Google says that youcan only get ―200 million megacycles of CPU per day.‖ On the plus side, App Engine will bring upnew servers when demand rises.Looking at the terms and conditions, you can see that Google has the power to do whatever theywant with your creation. Lock-in can be a problem, but at least it is somewhat offset by the open-sourcenature of the scripting language. The cloud can scale the application as needed, but if you have dreamsof making your application big, Google might not be the best option.There are plenty of competitors in the cloud. Amazon has its own cloud, but it takes a differentapproach, giving the user an empty Linux shell. That offers more flexibility, but the handholding isn’tUCA15E08 - CLOUD COMPUTINGUNIT-IVPage 1

there as it is on Google. It might take longer to place an application on Amazon’s Elastic ComputeCloud, but it offers richer APIs, including web services for REST and SOAP queries.Force.com and GoogleSalesforce.com struck up a strategic alliance with Google with the availability of Force.com forGoogle App Engine. Force.com for Google App Engine is a set of tools and services to enabledeveloper success with application development in the cloud. The offering brings togetherForce.com and Google App Engine, enabling the creation of entirely new web and businessapplications. Force.com for Google App Engine builds on the relationship betweenSalesforce.com and Google, spanning philanthropy, business applications, social networks, andcloud computing.Force.com for Google App Engine provides a set of tools and services meant to foster thecreation of new kinds of web and business applications built and delivered entirely in the cloud. Insteadof managing and maintaining their own client/server infrastructure, developers can use cloudcomputing infrastructure from Google and Salesforce.com to build, run, and deliver new applicationson the Web. Web applications developed on App Engine are easy to build, easy to maintain, and easyto scale as traffic and data storage needs grow.Force.com for Google App Engine provides: A means to leverage Python in a scalable cloud environment and interact directly with database,workflow, and logic capabilities in Force.com. Force.com for Google App Engine enables the creation of Python libraries that, when placed onGoogle App Engine, allow App Engine apps to read and write to Force.com using the Force.com API. App Engine developers get access to Force.com services and capabilities including mobile, analytics,security and sharing models, user authentication, Multilanguage and currency support, and more.Force.com for App Engine includes Getting started guide Python library documentation Examples showing Python code accessing Force.comUCA15E08 - CLOUD COMPUTINGUNIT-IVPage 2

Testing harness for the provided library Wiki FAQ page on developer.force.com with best practices and latest tips and tricksGoogle GearsAnother development tool that Google offers is Google Gears, an open-source technologyfor creating offline web applications. This browser extension was made available in its earlystages so that the development community could test its capabilities and limitations and helpGoogle improve upon it. Google’s long-term hope is that Google Gears can help the industry as awhole move toward a single standard for offline capabilities that all developers can use.Google Gears addresses a major user concern: availability of data and applications whenthere’s no Internet connection available, or when a connection is slow or unreliable.Google offers Google Gears as a free, fully open-source technology in order to help every webapplication, not just Google applications.UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 3

Google Gears builds on the Web’s existing programming model by introducing new JavaScriptAPIs for sophisticated data storage, application caching, and multithreading features. Google Gearsworks with all major browsers on all major platforms: Windows, Mac, and Linux. A sample of GoogleGears in use is shown in Figure 11-1.Google Gears is available at http://gears.google.com.******UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 4

MICROSOFTMicrosoft’s Azure Services Platform is a tool provided for developers who want to writeapplications that are going to run partially or entirely in a remote datacenter.The Azure Services Platform (Azure) is an Internet-scale cloud services platform hosted inMicrosoft datacenters, which provides an operating system and a set of developer services thatcan be used individually or together.Azure can be used to build new applications to run from the cloud or to enhance existingapplications with cloud-based capabilities, and it forms the foundation of all Microsoft’s cloudofferings.Its open architecture gives developers the choice to build web applications, applicationsrunning on connected devices, PCs, servers, or hybrid solutions offering the best of online andonpremises.Some of the applications available on the Azure cloud are shown in Figure 11-2. Azure allowsdevelopers to quickly create applications running in the cloud by using their existing skills with theMicrosoft Visual Studio development environment and the Microsoft .NET Framework.UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 5

Azure utilizes several other Microsoft services as part of its platform, known as the Live Meshplatform.Live ServicesLive Services is a set of building blocks within the Azure Services Platform that is used tohandle user data and application resources. Live Services provides developers with a way to buildsocial applications and experiences across a range of digital devices that can connect with one ofthe largest audiences on the Web.UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 6

Microsoft SQL ServicesMicrosoft SQL Services enhances the capabilities of Microsoft SQL Server into the cloud as aweb-based, distributed relational database. It provides web services that enable relational queries,search, and data synchronization with mobile users, remote offices, and business partners. It can storeand retrieve structured, semistructured, and unstructured data.Microsoft .NET ServicesMicrosoft .NET Services is a tool for developing loosely coupled cloud-based applications.NET Services includes access control to help secure applications, a service bus for communicatingacross applications and services, and hosted workflow execution.Microsoft SharePoint Services and Dynamics CRM ServicesMicrosoft SharePoint Services and Dynamics CRM Services are used to allow developers tocollaborate and build strong customer relationshipsDesignAzure is designed in several layers, with different things going on under the hood.UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 7

Layer ZeroLayer Zero is Microsoft’s Global Foundational Service. It is the most basic level of thesoftware that interfaces directly with the servers.Layer OneLayer One is the base Azure operating system. It used to be code-named ―Red Dog,‖ RedDog is the technology that networks and manages the Windows Server 2008 machines that form theMicrosoft hosted cloud.Red Dog is made up of four pillars: Storage (a file system) The fabric controller, which is a management system for deploying and provisioning Virtualized computation/VM Development environment, which allows developers to emulate Red Dog on their desktopsRed Dog is designed by Microsoft such that it only has to be deployed on a single machine, and thenmultiple instances of it can be duplicated to the rest of the machines in the cloud.Layer TwoLayer Two provides the building blocks that run on Azure. Developers build on top ofthese lower-level services when building cloud apps.Layer ThreeAt Layer Three exist the Azure-hosted applications. Some of the applications developed byMicrosoft include SharePoint Online, Exchange Online, Dynamics CRM, and Online. Third parties willcreate other applications.******UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 8

INTUIT QUICKBASEIntuit Inc.’s QuickBase launched its new QuickBase Business Consultant Program. Theprogram allows members to use their expertise to create unique business applications tailoredspecifically to the industries they serve—without technical expertise or coding.This helps members expand their reach into industries formerly served only by IT experts.Using QuickBase, program members will be able to easily build new on-demand businessapplications from scratch or customize one of 200 available templates and resell them to theirclients.To help members succeed, the program provides training, partner relationship management, andlead-generation tools to help them locate potential customers and maximize the power of QuickBase.QuickBase Business Consultants also receive a free version of QuickBooks Online to help them bettermanage and grow their own businesses.With the QuickBase Business Consultant Program, the value shifts to the entrepreneurs andindustry experts who can now solve real business problems without being a technical expert.Entrepreneurs and forward-thinking VARs will see huge benefits from this shift.*****UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 9

CAST IRON CLOUDCast Iron Systems introduced its development platform, the Cast Iron Cloud. Cast Ironoffers the choice of a completely cloud-based integration service or an on-premise integrationappliance as an organization’s application ecosystem evolves. Any organization, regardless of sizeor resources, can connect SaaS solutions with other on-demand and onpremise applications,immediately boosting productivity.By delivering our integration solution in the Cast Iron Cloud, or via our onpremise appliances,we can provide organizations with a seamless and secure transition between on-demand and on-premiseenvironments.‖As SaaS usage expands from departmental silos into the extended enterprise, integration of dataand applications is even more critical to productivity and success. Cast Iron and its partners can deliverthe most widely used solution for connecting SaaS and enterprise applications through the simplicityand speed of Integration as a Service (IaaS).The Cast Iron Cloud influence the company’s delivery of completed integration projects quicklyand also eliminates the need for customers to invest in integration infrastructure or deep middlewareexpertise.By offering its SaaS integration solution in the cloud and on-premise, Cast Iron is anticipatingthese diverse end-to-end application integration needs, including data cleansing and migration,UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 10

and application integration by offering intelligent connections, data transformations, processworkflow, monitoring and management, plus guaranteed delivery of all data.Cast Iron is transforming the integration experience using the Cast Iron Cloud. The company isintroducing a cloud-based library of preconfigured Template Integration Processes (TIPs) for themost common SaaS business processes. Cast Iron has created these templates based on its experiencewith thousands of customer integrations. For example, if customers need to integrate two SaaSapplications, they simply search Cast Iron’s cloud based library of TIPs, choose the TIP that matchestheir scenario, and deploy it to the Cast Iron Cloud. In minutes, their SaaS integration project goes liverather than taking weeks or even months to develop using custom codeFor companies that want to customize TIPs based on their specific requirements, Cast Iron isproviding a self-guided wizard similar to the simple wizard-based. Users answer a few questions basedon the specific situation, and the integration process is automatically customized to expedite SaaSintegration and adoption.*****UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 11

BUNGEE CONNECTBungee Labs offers its Bungee Connect web application development and hostingplatform. Developers use Bungee Connect to build desktop-like web applications that leveragemultiple web services and databases, and then deploy them on Bungee’s multitenant gridinfrastructure.Bungee Connect provides development, testing, deployment, and hosting in a single, ondemand platform. The company claims that using their solution, significant time and cost areeliminated across the entire application life cycle—reducing time-to-market by as much as 80percent.Bungee Connect includes the following features: A single, on-demand environment for developing, testing, deploying, and hosting Interaction delivered entirely via browser with no download or plug-in for developers or end users Delivery of highly interactive user experience without compromising accessibility and security Automated integration of web services (SOAP/REST) and databases (MySQL/ PostgreSQL) Built-in team collaboration and testing Built-in scalability, reliability, and security Deep instrumentation of end-user application utilization for analytics Utility pricing model based on end-user application use Developers and IT managers can leverage acompletely online platform to build and deliver powerful, AJAX-enabled, multiple data-source webapplications.Development, team collaboration, and test deployment hosting on Bungee Connect arefree of charge. Developers pay only when their applications are actually used by end users. Once aBungee-powered application is deployed on the Bungee Grid infrastructure, end-user utilization of theapplication is deeply instrumented to provide developers with detailed insight into applicationperformance and usage patterns, and to compute the application’s utility bill.*****UCA15E08 - CLOUD COMPUTINGUNIT-IVPage 12

LOCAL CLOUDS AND THIN CLIENTSThe cloud computing model doesn’t always mean your clients have to traverse the Internet toget at content.A local cloud—also known as presentation virtualization— skips the service providercomponent, and allows you to manage all the content yourself in your own datacenter.Most organizations will not jump to the cloud all at once. One way to become familiar with cloudcomputing concepts and benefits without the outsourcing commitment is to bring the cloud as close aspossible by building your own cloud for your business.With a local cloud, you keep your server in-house and clients connect to it. That is, they areclients that don’t use hard drives, DVD-ROM drives, or any other peripherals. Rather, theycommunicate with the server and it is the server performing all the processing and storage, only to passthe data back to be displayed on the thin client.Virtualization in Your OrganizationThere are pros and cons to going virtual. In this, we’ll take a closer look at the benefits and limitationsof a virtualized solution. Server virtualization This is a method of partitioning a physical server computer into multipleservers so that each has the appearance and capabilities of running on its own dedicated machine. Anexample of this is VMware or Hyper-V . Application virtualization This is a method that describes software technologies that separate themfrom the underlying operating system on which they are executed. A fully virtualized application is notUCA15E08 - CLOUD COMPUTINGUNIT-IVPage 13

installed in the traditional sense, although it still executes as though it were. The application is trickedat run time to believe that it is directly interfacing with the original OS and the resources it manages. Presentation virtualization This method isolates processing from the graphics and I/O, which makesit possible to run an application in one location (the server) but be controlled in another (the thin client).In this method, a virtual session is created and the applications project their interfaces onto the thinclients. It can either run a single application or present an entire desktop.Why Virtualize?Virtualization can help companies maximize the value of IT investments, decreasing the serverhardware footprint, energy consumption, and cost and complexity of managing IT systems whileincreasing the flexibility of the overall environment.1. CostDepending on your solution, you can have a cost-free datacenter. You do have to shell out themoney for the physical server itself, but there are options for free virtualization software and freeoperating systems.Microsoft’s Virtual Server and VMware Server are free to download and install. If you usea licensed operating system, of course that will cost money. For instance, if you wanted five instancesof Windows Server on that physical server, then you’re going to have to pay for the licenses. That said,if you were to use a free version of Linux for the host and operating system, then all you’ve had to payfor is the physical server.2. AdministrationUCA15E08 - CLOUD COMPUTINGUNIT-IVPage 14

Having all your servers in one place reduces your administrative burden. What this means isthat you can save time in your daily server administration or add more servers by having a virtualizedenvironment. The following factors ease your administrative burdens: A centralized console allows quicker access to servers. CDs and DVDs can be quickly mounted using ISO files. New servers can be quickly deployed. New virtual servers can be deployed more inexpensively than physical servers. RAM can be quickly allocated for disk drives. Virtual servers can be moved from one server to another.3. Fast DeploymentBecause every virtual guest server is just a file on a disk, it’s easy to copy (or clone) a system tocreate a new one. To copy an existing server, just copy the entire directory of the current virtual server.This can be used in the event the physical server fails, or if you want to test out a new application toensure that it will work and play well with the other tools on your network. Virtualization softwareallows you to make clones of your work environment for these endeavors.4. Reduced Infrastructure CostsWe know how you can cut costs by using free servers and clients, like Linux, as well as freedistributions of Windows Virtual Server, Hyper-V, or VMware. . If you reduce the number of physicalUCA15E08 - CLOUD COMPUTINGUNIT-IVPage 15

servers you use, then you save money on hardware, cooling, and electricity. You also reduce thenumber of network ports, console video ports, mouse ports, and rack space.Some of the savings you realize include Increased hardware utilization by as much as 70 percent Decreased hardware and software capital costs by as much as 40 percent Decreased operating costs by as much as 70 percentHow to VirtualizeAs with setting up a network security solution or figuring out the best wireless networkingsolution, the best way to implement a virtualization solution is to start by making sure you fullyunderstand the issues surrounding virtualization.1. AssessmentThe first step is to conduct an environmental assessment of your organiza

Cloud, but it offers richer APIs, including web services for REST and SOAP queries. Force.com and Google . allow App Engine apps to read and write to Force.com using the Force.com API. App Engine developers get access to Force.com services and capabilities including mobile, analytics, . Using