Development Model for the Cloud Paradigm Shift of the Same Old Same Old? Dr. Umit Yalcinalp, Salesforce.com Developer Evangelist

Similar documents
The Fastest Path to the Cloud Building Your SaaS Company on Force.com

Course Details V1.0. Selinis Technologies Pvt Ltd. 2012, All Rights Reserved

Salesforce Admin Course Content: Chapter 1 CRM Introduction Introduction to CRM? Why CRM?

Welcome to the Force.com Developer Day

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Public Cloud Offerings and Private Cloud Options. Week 2 Lecture 4. M. Ali Babar

HYBRID CLOUD SUPPORT FOR LARGE SCALE ANALYTICS AND WEB PROCESSING. Navraj Chohan, Anand Gupta, Chris Bunch, Kowshik Prakasam, and Chandra Krintz

Backup and Recovery of SAP Systems on Windows / SQL Server

Cloud Computing Training

Cloud Platforms, Challenges & Hadoop. Aditee Rele Karpagam Venkataraman Janani Ravi

Cloud Computing. Technologies and Types

Harnessing the Power of the Microsoft Cloud for Deep Data Analytics

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Ø Teaching Evaluations. q Open March 3 through 16. Ø Final Exam. q Thursday, March 19, 4-7PM. Ø 2 flavors: q Public Cloud, available to public

Assignment # 1 (Cloud Computing Security)

Cloud to Cloud Integrations with Force.com. Sandeep Bhanot Developer

Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

glovia OM Cloud - based Enterprise Resource Planning A Presentation for Prospective Clients February 2014

SharePoint 2010 Interview Questions-Architect

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

iway Roadmap: 2011 and Beyond Dave Watson SVP, iway Software

Cloud Computing Technology

Cloud computing - Architecting in the cloud

Salesforce Certified Force.com Developer Study Guide

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

Cloud Computing Trends

Cloud Models and Platforms

Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com

Salesforce integration with Enterprise Open Source. Mischa de Vries László van den Hoek SFDC Consultant OS Consultant

Cloud Computing Now and the Future Development of the IaaS

An Oracle White Paper November Leveraging Massively Parallel Processing in an Oracle Environment for Big Data Analytics

Appendix A: Case Studies

Oracle Database Cloud Service Rick Greenwald, Director, Product Management, Database Cloud

IBM Tivoli Storage Manager for Microsoft SharePoint

Last time. Today. IaaS Providers. Amazon Web Services, overview

Salesforce Limits Quick Reference Guide

The Cloud as a Computing Platform: Options for the Enterprise

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

Jitterbit Technical Overview : Salesforce

Cloud Computing. Lecture 24 Cloud Platform Comparison

Storage Options in the AWS Cloud: Use Cases

Cloud Powered Mobile Apps with Azure

TRAINING & CERTIFICATION

Lecture 02a Cloud Computing I

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Deploying ArcGIS for Server Using Esri Managed Services

Oracle Applications and Cloud Computing - Future Direction

CATALOG OF CLASSES IT and Technical Courses

Deploying ArcGIS for Server Using Managed Services

A programming model in Cloud: MapReduce

BusinessObjects Enterprise XI Release 2 Administrator s Guide

Microsoft Training and Certification Guide. Current as of December 31, 2013

CLOUD COMPUTING & WINDOWS AZURE

IT as a Service. Transforming IT with the Windows Azure Platform. November 2010

Cloud Computing. Chapter 1 Introducing Cloud Computing

Alfresco Enterprise on AWS: Reference Architecture

Service Oriented Architectures

Cloud Computing: Making the right choices

Cloud vs. On Premise: Is there a Middle Ground?

ANDREW HERTENSTEIN Manager Microsoft Modern Datacenter and Azure Solutions En Pointe Technologies Phone

Embracing the Cloud 5 Key Benefits From Salesforce.com. Mark Easley Sr. Director Sales Engineering Service Cloud measley@salesforce.

WHITEPAPER. Force.com: A Comprehensive Look at the World s Premier Cloud-Computing Platform

Vistara Lifecycle Management

Cloud Computing. Adam Barker

Hosted SharePoint. OneDrive for Business. OneDrive for Business with Hosted SharePoint. Secure UK Cloud Document Management from Your Office Anywhere

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

CHAPTER 1: INTRODUCTION TO SHAREPOINT

DocAve 6 SharePoint Migrator

What s new with IBM Tivoli Workload automation?

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

Cloud Computing. Chapter 1 Introducing Cloud Computing

XpoLog Competitive Comparison Sheet

CSE-E5430 Scalable Cloud Computing Lecture 2

Advancement in Salesforce using CPQ (Configure Price Quote) Technological Catalyst

Michael Noel. Colin Spence. SharePoint UNLEASHED. 800 East 96th Street, Indianapolis, Indiana USA

Cloud Courses Description

Data processing goes big

Visual Workflow Guide

ur skills.com

Introduction to Azure: Microsoft s Cloud OS

Microsoft Azure for Your SAP Solutions. Speaker Name Date

AVLOR SERVER CLOUD RECOVERY

Sun Cloud API: A RESTful Open API for Cloud Computing

Systems Integration in the Cloud Era with Apache Camel. Kai Wähner, Principal Consultant

Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise

DottsConnected SHAREPOINT 2010 ADMIN TRAINING. Exercise 1: Create Dedicated Service Accounts in Active Directory

Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid clouds.

Architectural Implications of Cloud Computing

Monitis Project Proposals for AUA. September 2014, Yerevan, Armenia

White Paper on CLOUD COMPUTING

SHAREPOINT 2010 DEVELOPMENT : IN THE CLOUD. Faraz Khan Senior Consultant RBA Consulting

Transcription:

Development Model for the Cloud Paradigm Shift of the Same Old Same Old? Dr. Umit Yalcinalp, Salesforce.com Developer Evangelist

Computing History Reduce Complexity, Do More Turing Machines Assembly code Programming Languages Application Frameworks Application Platforms Application Servers Scripting and Dynamic Languages

Take Application Servers as an Example Essential Built in services Load Balancing Memory Cache Transaction Management Connection management Packaging a full app (war, ear, ) Security/Authentication Messaging Infrastructure simplifies tasks User management Monitoring and Management of Apps Versioning Tooling and Composition Integration APIs (WS, REST, )

However Business App Dev Requirements stayed similar Develop an application that has m abstract entities. Define relationship between entities. Display data subset j in a page and update data set if x is true. Implement and Deploy an application that has n users where a user can belong to one of k different roles Restrict access of data subset j to user role i when x is true. If user role has made change p, notify user roles s. Do {x, y, z, send email, fax,.to m users} when f happens. Do f every {day, week, } when s Generate report on organized by Make the application extensible, customizable Deploy mobile client for app that maintain disconnected data for user using dataset x. Integrate app with Twitter, feed, Integrate app with Payment System,

Challenges in traditional way of developing apps remained

Infrastructure Services: Hardware

Infrastructure Services: Operating System

Infrastructure Services: Database

Infrastructure Services: App Server

Application Services

Operational Services

Business Services

How do many developers make this happen?

Putting it together: Duct Tape!

Complexities Abound to Final Destination Application Ideas Infrastructure Services Application Services Operational Services Business Services Final App Network Storage Operating System Database App Server Web Server Data Center Disaster Recovery Security Sharing Integration Customization Web Services API Multi-Language Multi-Currency Integrated Workflow Authentication Availability Monitoring Patch Mgmt Upgrades Backup NOC Ordering Provisioning Licensing Billing Renewal Upgrades Marketing Sales Analytics Multi-Device Messaging Search

Now comes along Cloud Computing Paradigm The chatter and buzz on the street About developing services, platforms and applications Don t host but use hosted resources elsewhere Develop with hosted services, software, platforms Pay as you go Consume as you go Monitor and adopt

Applications Moving to the Cloud 1960 s Mainframe 1980 s Client/server Today Cloud Computing Applications

Platforms Moving to the Cloud 1960 s Mainframe 1980 s Client/server Today Cloud Computing Platforms

Collaboration Moving to the Cloud Lotus Notes Novell GroupWise SharePoint Groove File Sharing 1980 s Work Group Computing 2000s Intranet Computing Today Social Computing

Throw in a lot of new technologies Map reduce Column db Data service Worker task Scheduler administration What does this new paradigm offer to app developers?

The Three AmigoS of Cloud Computing Cloud Computing Platforms Software Hosted apps, abstracting APIs, OS, Data storage Platform Hosted collection of APIs, abstracting OS, data storage, Infrastructure Hosting virtual servers, OS and some kind of data store?! DATA

?!

Abstractions and Services They are all over the Map

Cloud Developer Concerns: Capabilities Managed Environment Abstraction Level Capabilities Constraints Managing the Managed Environment Cost Indirectly Affecting Development

Lets Look at these Cloud Computing Platforms Amazon WS Microsoft Azure Google App Engine (GAE) Force.com

Services Available: Virtual OS instances EC2 Data Services S3 RDS Additional Services: Load Balancing Servers Simple Queue Service Elastic MapReduce Processing Large Data Sets Job Flows on top of Hadoop Different granularity of accessing data (i.e. Pig) Monitoring Individual Task Progress

Amazon AWS Activity: Not about OS and simple data store anymore Hosting Existing Infrastructure Components: JEE, DB2, (composed images) Traditionally built apps What do you build with it More infrastructure: DIY app server functions for scalability & composition Load Balancing Deciding when to take resources offline (in development testing) Low Level Data Services Large Data Processing (must understand Hadoop ) Infrastructure Management Logic Development Methodology: It Depends! Managing/Debugging Your App: Console (monitoring, debugging, management (upgrades, shutdown)) Remote scripts managing specific to installed components

Microsoft Azure Platform: Hosting Azure applications on Microsoft Cloud Services for backend development (Old and New) Table (Data Storage) Asynchronous Worker Tasks SQL Azure Develop/Deploy Requires OS+Long list of Packages Installation Locally Built/Test on local development environment Entry Point for developers is Visual Studio.NET libraries Local debugging Local packaging(.cspkg)/manual deployment to location based Microsoft cloud Management of Remote Servers/Services Requires Server Logs Messages for managing Very tailored to existing Microsoft developers Java developer targeted with Third Party tools porting APIs

Google App Engine Services: Lean App Server Features JPA API for hiding BigTable Connection support, Cron like jobs User Administration (Google accounts/roll your own) Backend development Basics BigTable/GFS Tasks Queues (experimental) Built/Test on local development environment Naturally independent of OS JRE + GAE Managed Environment Limits Entry Point: Eclipse Develop Locally/Deploy war file Remotely Remote Monitoring System Logs Multilanguage (Java/PHP)

Commonalities & Differences Emerge Abstracted Large Data Set or SQL Managed Environment Limits Asynchronous Task/Process Management Deal with Data Sets Working with Managed Environment Limits Delineation of Development & Production Art of System Log Recording and Monitoring

Where do the Application Requirements get addressed? Next Level in PaaS: Infrastructure Application Server Capabilities Force.com Platform: Application Services + Integrated End2End Framework

First Cloud Company to Exceed: $1.3 Billion + Annual Revenue Run Rate FY2005 FY2006 FY2007 FY2008 FY2009 FY2010 Quarterly Revenue ($M) Revenue through fiscal quarter ended 10/31/09

Strong Growth In New Customers 67,900+ Paying Customers FY2002 FY2003 FY2004 FY2005 FY2006 FY2007 FY2008 FY2009 FY2010

Force.com Platform for Building Applications

Three AmigoS and Force.com Software: Applications on Salesforce.com Cloud Platform Customizable Extensible Infrastructure: Multitenant Kernel Data Storage ISO 20071 Certified Security Loan Balancing Replication & Recovery Transaction Management Sandboxed Application Trust (Status Monitoring

Platform - Force.com Philosophy: Common Things Simple Complex Things Possible Distribution Analytics User Interface Logic Integration Data Model Development Methodology Development Activity Declarative Programmable Metadata Driven with Shared Data Model Built in: Customizable UI, Analytics, Distribution, Workflows Iterative Development Paradigm: See it as you build it Application Sharing/Exchange Enforce Good Development Practices Development to Production: Testing

Hello World?

Development Process Create an org : Private on SFDC cluster A collection of applications Built on top of shared metadata Every org becomes live and pre-populated with metadata Can accommodate > 1 developers depending on license Develop/Test If Sandbox, Complete Tests to Production Register Custom URL/Expose as Website Package specific app for AppExchange

Two Development Approaches: Web Interface What you build is what you see Rapid Prototyping Eclipse Plugin The App is alive on the cloud

Application Data Model Name Merchandise LineItem Invoice IsDeleted Text LongText RichText Boolean Number Picklist (single or Multivalue) Computed Fields Formula Rollup Lookup: 1-m Master-Detail: Hierarchical SOQL: Object Oriented Query Language Metadata

Business Logic Declarative Logic (point and click) Field Requiredness/Uniqueness Audit History Tracking Workflows Rules & Approval Processes Formula-Based Logic (spreadsheet-like) Formula Fields Data Validation Rules Workflows Rules & Approval Processes Procedural Logic (code) Apex Triggers Apex Classes

Declarative Workflow: Visual Process Manager

Data Model Realized in Default UI

Rapid Development

Hello World Object

Creating Fields

Hello World Field

Exposing Hello World Object as a Tab

Immediately Exposed in UI

Object is alive and well (CRUD/Search integrated)

Custom Pages: Visual Force/JSP Like Markup

Sites: Register custom URL

Saw that even BigFoot is moving to the Cloud

Next Stop Wonderland: Collaboration for the Enterprise One can follow any Entity just like a User Same Development Paradigm with Any Entity in the platform

Developer s Toolbox Language Runtime: Apex: Java, C# like language For creating CRUD Logic on Data Model (triggers) Executing Queries (SOQL and SOSL) Developing Controllers in conjunction with VF Pages Background Process Management Scheduled Tasks Batch Processes for handling large data sets Eclipse Plugin Developed using WS APIs Retains only metadata locally Allows browsing metadata, dynamic SQL and code execution Remote execution, commit of metadata, dynamic code blocks Synchronizes live development with an org on the cloud Enables versioning locally with external tools

Developer Integration Toolkits: Force.com WS API language bindings in target languages, environments Packaging Apps for Distribution Within an org selecting an app Requires Test Implementation Sandboxing A snapshot of metadata (and data) of an existing org Requires testing to move to production Integral Part of Development Process: Testing Framework Governance Limits Mobile development Search Analytics

Perspective of customers and analysts Application Development: 5X Faster At half the cost

Transparency

Differences in Platforms Degrees of Abstraction and Tight Integration with Data Model Abstraction of Application Server Capabilities Exposing Application Framework Capabilities Data Model & Handling and Managing Large Data Background Process & Task/Queue Governance Limits Level of Integration Support Level of Management Needed from Developer Tangible and Intangible Cost of using a platform

The Duct Tape Index for Cloud Platforms

Cloud Development Landscape Levels of Abstraction Application Composition Development Environment (local, remote, mixed) Workflow Development and Deployment Cycles Customizability / Extensibility Integration Being a Good Citizen Testing Versioning Monitoring Cost of Trying out a Platform

The confusion should not be cloud developer s epitaph

Where a developer wants to get

Conclusion: Choose Your Abstraction Level Wisely: Flexibility(Roll Your Own) vs. Time to Develop(Managed) Think long term Being a Good Citizen is Not Optional Logs and Monitoring Rules in Clouds

Q & A! http://developer.force.com! Twitter: umityalcinalp!