Multi-tenancy

OpenEdge 11
Ken Wilner, Vice President of Technology
The Progress Software Difference
Driving Operational Responsiveness
with Everything We Do
2
© 2010 Progress Software Corporation
Delivering Operational Responsiveness
with Responsive Business Applications
Responsive
Business
Applications
Application Development
Platforms
3
© 2010 Progress Software Corporation
Simplify creation of dynamic applications
Provide deployment flexibility for public
Driving
Operational
and
private
clouds Responsiveness by
delivering the industry’s best business
application
development
platforms with
Enhance
our
partners’ applications
with
the fastest
time-to-value
new
RPM tools
Application Market Evolution
Delivery of
Application or
Service
Application
Development
Platform
Applications
Devices &
FromPricing/Usage
a User’s perspective:
&
Users
Models
Services
“Get a Login”
User Interface
Security &
Multi-tenancy
Personalization
A complete “in the box” SaaS
Platform for
ISVs
Flexibility
Compliance
and Business Service Providers looking to
Data Optimize service delivery in the Cloud
Model-Driven
Management
Scalability
Integration
Business Logic
Reliability
Tools/Architecture
Service Level
Management
Deploy in the Cloud
(Public or Private)
Infrastructure
Virtualization
4
Ecosystems
© 2010 Progress Software Corporation
Hardware
Network
SaaS/Cloud Evolution
SaaS 1.0: 2000-2006
SaaS 2.0: 2005-2011
SaaS 3.0: 2010-2014
Early Adoption ($3.6B
market) Cost-effective Hosted
Service Delivery
Mainstream ($8B-14B market)
Integrated Business Services
Ubiquitous Adoption
Business Service Delivery in
the Cloud
Community of
end-user customers
Industry
Expertise
Business
Services
Software
Services
Characteristics:
• Standalone apps
• Multi-tenancy as an option
• Focus on TCO and rapid
deployment
• Web 1.0
5
Characteristics:
Management
Services
Technology
Services
• Horizontal
• Integrated business platform: SaaS
apps exchange data and interoperate
• SaaS integrated suites
• Joint marketing and lead generation
• Service-oriented architecture
© 2010 Progress Software Corporation
Characteristics:
• Vertical business ecosystems
• Inter-enterprise collaboration
• Common infrastructure
• Web 2.0/Virtualization
What is Cloud Computing?
A style of computing where scalable and elastic IT-enabled
capabilities are delivered as a service using Internet technologies.
– Gartner, August 2009
Cloud Consumers
Cloud
Services
Cloud Providers
6
© 2010 Progress Software Corporation
Pay just for what you use– low price of entry
Simple self-service, scale up or down with global reach
Focus on differentiation, not infrastructure
Development
Process/Service Creation
Deployment
Application Delivery
Automated provisioning
Efficient utilization and monitoring
Simple management
OpenEdge
Our Vision
OpenEdge is the leading SaaS
Platform for ISVs and Business Service
Providers to simplify service
development and delivery for the Cloud
resulting in greater Operational
Responsiveness
7
© 2010 Progress Software Corporation
Why SaaS/Cloud?
For ISVs/Business Service Providers
 Access to more and different customers
 Achieve higher growth rates
 Gain economies-of-scale
 Reduce costs
 Standardization of offerings
 Greater focus on application competency
8
© 2010 Progress Software Corporation
Why SaaS/Cloud?
For Application End-users
 Lower and predictable costs
 Rapid time to value
 More deployment flexibility
 Cost effective
 Dynamic interaction
9
© 2010 Progress Software Corporation
Progress Software
Leadership in Software as a Service (SaaS)
1
Over 250 Partners delivering SaaS / Ondemand today using the OpenEdge SaaS
Platform
2
~ 40% Say It Will Be More Than Half Their
New Business In 2010
3
SaaS and BSPs in over 22 countries around
the world
4
Combination of OpenEdge SaaS Platform
and Business Model together drives
SUCCESS
10
© 2010 Progress Software Corporation
7 Keys To Success
User Interface
Flexibility
Being able to easily use the UI technologies that meet the
needs of the customer
Productivity
Provide a highly productive environment focused on OpenEdge
and industry best practices
Operational
Excellence
Always available and scales to any size
Security &
Compliance
Ensuring that data and applications are accessed only by those
who need to know
Multi-tenancy
Going from 1 to N
Integration
Ability to easily integrate to any other application by supporting
all relevant standards
Personalization
Ensuring the application looks as the tenant and end-user want
11
© 2010 Progress Software Corporation. All rights reserved.
OpenEdge 10.2 Release Summary
2009
2008
Q4
Q1
Q2
10.2A
Q3
Q4
10.2B
UI Flexibility
 OpenEdge GUI for .NET
Security & Compliance
 Transparent Database Encryption
Operational Excellence
 OpenEdge Explorer
UI Flexibility
 OpenEdge GUI for .NET usability
 ProDataSets from/to JSON
Productivity
 OpenEdge Architect enhancements
 More object-oriented extensions
Operational Excellence
 Actional for OpenEdge
 Alternate database buffer pool
 ABL-based Request timeouts
Productivity
 OE Architect
 OOBE – videos and cheatsheets
 AppServer development
12
© 2010 Progress Software Corporation. All rights reserved.
OpenEdge Takes You Where You Need to Be
Continuous Evolution
through the IT paradigms
Service Oriented Architecture
Process-Oriented
Applications
Business Process
Business Process
Simplify your business
Business Process
Service-Oriented
Architecture
Standards
Platform
Integration
User Interface Methods
35
© 2003 Progress Software Corporation
OpenEdge 11 Eases SaaS/Cloud
Computing
Packaged Apps
Legacy
XML
Email
4GL
Active-X
Client Smart Adapters
XML
Java
EJB
XML
JMS
Server Smart Adapters
System Smart Adapters
OpenEdge 10 Enabled SOA
Progress
Oracle
SQL Server
DB2/400
ODBC
JDBC
V9 Delivered Distributed Computing
Universal Application Architecture
V8 was Client/Server
1998
13
2000
2002
2004
© 2010 Progress Software Corporation. All rights reserved.
2006
2008
2010
2011
OpenEdge 11 Roadmap
14
© 2010 Progress Software Corporation. All rights reserved.
Multi-tenancy Options Continuum
Isolated
Tenancy
Infrastructure
Tenancy
Application
Tenancy
Shared
Tenancy
Tenant1 Tenant2 Tenant3
Tenant1 Tenant2 Tenant3
Tenant1 Tenant2 Tenant3
Tenant1 Tenant2 Tenant3
App
App
App
App
App
App
App
App
DB
DB
DB
DB
DB
DB
Infra. Infra. Infra.
Infrastructure
Isolating
Easier customization, security
Simpler throttling control
Target dissimilar customers
No transformation
15
© 2010 Progress Software Corporation. All rights reserved.
DB
DB
DB
DB
Infrastructure
Infrastructure
Sharing
Better economy of scale
Simpler management
Target like-customers
Least cost to serve
Multi-Tenant Tables
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Multi-tenancy built into
the database
 Data physically
partitioned by
tenant identity
Schema
Customer
Tenant 1
partition
1 Lift Line Skiing
2 Urban Frisbee
3 Hoops Croquet
 Built-in tenant level
authentication
Tenant 2
partition
1 Thundering Surf
7 Fanatical Athletes
8 Game Set Match
 Minimal application
changes – just set a
per database tenant id
Tenant 3
partition
2 Hide Tide Sailing
7 Pedal Power
9 Hoops Croquet
16
© 2010 Progress Software Corporation. All rights reserved.
Multi-Tenant Tables: Data Access
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Keys unique per tenant
or unique per table
17
© 2010 Progress Software Corporation. All rights reserved.
Schema
Customer
Tenant 1
partition
1 Lift Line Skiing
2 Urban Frisbee
3 Hoops Croquet
Tenant 2
partition
1 Thundering Surf
7 Fanatical Athletes
8 Game Set Match
Tenant 3
partition
2 Hide Tide Sailing
7 Pedal Power
9 Hoops Croquet
Multi-Tenant Tables: Data Access
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Keys unique per tenant
or unique per table
 Query is tenant specific
Tenant 1
partition
18
© 2010 Progress Software Corporation. All rights reserved.
Customer
Schema
FIND CUSTOMER
Tenant 1
WHERE
partition
CUST_NUM=2.
1
2
3
Lift Line Skiing
Urban Frisbee
Hoops Croquet
Tenant 2
partition
1 Thundering Surf
7 Fanatical Athletes
8 Game Set Match
Tenant 3
partition
2 Hide Tide Sailing
7 Pedal Power
9 Hoops Croquet
Multi-Tenant Tables: Data Access
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Keys unique per tenant
or unique per table
 Query is tenant specific
Schema
1 Lift Line Skiing
2 Urban Frisbee
3 Hoops Croquet
 “Super” tenant query
Super
Tenant
Customer
For each customer:
Display cust-num,
name
1 Thundering Surf
7 Fanatical Athletes
8 Game Set Match
2 Hide Tide Sailing
7 Pedal Power
9 Hoops Croquet
19
© 2010 Progress Software Corporation. All rights reserved.
Multi-Tenant Tables: Data Access
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Keys unique per tenant
or unique per table
 Query is tenant specific
Schema
1 1 Lift Line Skiing
1 2 Urban Frisbee
1 3 Hoops Croquet
 “Super” tenant query
 Tenant id virtual
column
Super
Tenant
Customer
For each customer:
Display
tenantid(customer),
cust-num, name.
2 1 Thundering Surf
2 7 Fanatical Athletes
2 8 Game Set Match
3 2 Hide Tide Sailing
3 7 Pedal Power
4 9 Hoops Croquet
20
© 2010 Progress Software Corporation. All rights reserved.
Multi-Tenant Tables: Data Model
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Shared or multi-tenant objects
• Tables, indexes, LOBs,
sequences
 Shared Only
• Triggers & stored procedures
• Default values
 Partitions created automatically as
tenants are added (lots of defaults)
 Support up to 32K tenant partitions
21
© 2010 Progress Software Corporation. All rights reserved.
Schema
Customer
Tenant 1
partition
1 Lift Line Skiing
2 Urban Frisbee
3 Hoops Croquet
Tenant 2
partition
1 Thundering Surf
7 Fanatical Athletes
8 Game Set Match
Tenant 3
partition
2 Hide Tide Sailing
7 Pedal Power
9 Hoops Croquet
Multi-Tenant Tables: Tenant Provisioning
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Tenant creation via DDL & Dictionary
 Identification (via schema table)
• Database specific tenant ID
• User friendly name: NH Store #1
Schema
Tenant 1
partition
1 Lift Line Skiing
2 Urban Frisbee
3 Hoops Croquet
Tenant 2
partition
1 Thundering Surf
7 Fanatical Athletes
8 Game Set Match
Tenant 3
partition
2 Hide Tide Sailing
7 Pedal Power
9 Hoops Croquet
• App specific ID (could be UUID)
 Tenant level activation/deactivation
 Runtime security by user by tenant
 Tenancy asserted via client principal
 Governors: Limit resource usage
22
© 2010 Progress Software Corporation. All rights reserved.
Customer
Multi-Tenant Tables: Operational Features
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
 Tenant partition maintenance
 Object move
 Add/drop tenants/objects
 Backup/restore, recovery
 Data dump/load
 .df support
 Index maintenance tools
 Monitoring
 Promon, VSTs
 Analysis tools
 .lg file (other log files)
23
© 2010 Progress Software Corporation. All rights reserved.
Schema
Customer
Tenant 1
partition
1 Lift Line Skiing
2 Urban Frisbee
3 Hoops Croquet
Tenant 2
partition
1 Thundering Surf
7 Fanatical Athletes
8 Game Set Match
Tenant 3
partition
2 Hide Tide Sailing
7 Pedal Power
9 Hoops Croquet
Multi-tenant AppServer
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
Application
Tenant A
User A1
Login
Session
A1-1
Login
Session
A1-2
Tenant B
User A2
Login
Session
A2-1
Login
Session
A2-2
User B1
Login
Session
B1-1
Login
Session
B1-2
User B2
Login
Session
B2-1
Login
Session
B2-2
 Multi-tenancy built into the AppServer
 4 different levels: Application, Tenant, User, Session
 Context automatically switched on a request basis as
needed
24
© 2010 Progress Software Corporation. All rights reserved.
Multi-tenant AppServer
Multi-tenancy
Simplifies Development of Multi-tenant
Applications
Application
Server
Agent
Application
Server
Broker
Application
Server
Agent
Application
Server
Agent
Context
Management
Storage Service
Context
Data
Cache
ABL
Batch
Loader
OE Database
DEFINE CONTEXT-TENANT TEMP-TABLE ttPriceList ……
 Context management service pre-loaded with context for performance
 Data cache shared across agents
 Declarative approach simplifies development
25
© 2010 Progress Software Corporation. All rights reserved.
Deploying To The Cloud
Operational
Excellence
Getting to the Cloud with Ease
 Working with the community
Community of
end-user customers
• Engaging customers and partners
• Amazon Web Services Support –
February 2010 (10.2A/10.2B)
– Certification
– Best practices and getting started
guides
 Cloud Deployment
• OpenEdge runtime in the cloud
• Other public cloud platfroms
• Push button deployment
26
© 2010 Progress Software Corporation. All rights reserved.
Software
Services
Management
Services
Business
Services
Technology
Services
High Availability – 24x7 Production Operation
Operational
Excellence
High Availability Through Online Operations,
Robustness , and Improved Diagnostics
 Near-100% online database maintenance
• Improve performance of utilities
• Avoid application restarts for schema changes
 Improved ability to monitor AppServer
• Better error diagnostics
• R-code monitoring
 On-line reload of properties
27
© 2010 Progress Software Corporation. All rights reserved.
Taking You Higher With OpenEdge 11
Security &
Compliance
 Built-in authentication
and authorization system
User Interface
Flexibility
 Microsoft WPF/Silverlight
 Ajax tools
 JSON-RPC
Integration
 Latest Web Services
standards
 REST
28
© 2010 Progress Software Corporation. All rights reserved.
Personalization
 Database multiple linguistic
sorting
Operational
Excellence
 Database table partitioning
 Actional – payload, db
interceptor
Productivity
 OpenEdge Architect
 Object-oriented extensions
What You Can Do…
“Simplifying the job of creating, operating and managing the world’s
best business applications”
 Focus on your application – target the 7 Keys
to Success
 Be the best – leverage all that OpenEdge 10.2
has to offer – try out 10.2B
 New opportunities – explore Cloud and SaaS
 Be active in the community – check out
Progress Communities
(http://communities.progress.com)
29
© 2010 Progress Software Corporation. All rights reserved.
OpenEdge 11
Ken Wilner, Vice President of Technology
E-mail: [email protected]
Blog: http://blogs.progress.com/openedge/
Twitter: Ken Wilner and progresssw
Progress Communities: http://communities.progress.com