Building an Enterprise PaaS framework using Open Source Components
Prakash Iyer
Trimble Navigation Ltd.
Vice President, Software Architecture & Strategy
Corporate HeadquartersSunnyvale, California
Trimble – Global company positioned to meet a global market
10/29/2013
$0
$250,000
$500,000
$750,000
$1,000,000
$1,250,000
$1,500,000
$1,750,000
$2,000,000
$2,250,000
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
Trimble – Sustained growth
10/29/2013
Cadastral & Geospatial
Agriculture
Heavy Civil Construction Building Construction
Transportation & Logistics
A key concept is “franchise value” which requires a subtle & holistic view of every aspect of our businesses
10/29/2013
Oil, Gas &
Chemical
Field Service
Electric UtilitiesEnvironmental &
Waste
Forestry
Water Utilities Mining
Government
Rail
Emerging businesses provide us with potential growth accelerators
10/29/2013
The competition and enterprise challenges require nuanced resolution of the “entrepreneurship and collaboration”
apparent paradox
Growth & Breakout Market Leadership
Entrepreneurship:
- Speed
- Adaptability
- Accountability
- Focus
- Self interest
Scalability & Capability
Collaboration:
– Consistency
– Platforms
– Culture & skills
– Tools
– Common interest
Divisions Corporate
Platform ?
Platform Challenges
• Perceived value gap
• Team autonomy – organizational challenges
• Business value thinking
• Traditional platform vs. product driven platform
• Platform code and product ownership
– Who owns the shared components?
• Get the architecture right
– Ask the folks at Health and Human Services !!
Company Confidential
• Core services needed to build any modern Enterprise Application
• Provides an architectural framework to build loosely coupled SOA (Service Oriented Architecture )apps
• Architecture to take advantage of the Cloud while building a service platform that can run on private, public or behind the firewall
• TPaaS combines a development platform, computing resources, deployment infrastructure and managed hosting services, so you can reduce the cost, time and complexity of application development.
• Common services layer for building scalable solutions
• Can be offered as a service framework for Trimble dealers and
• partners to host their applications
Trimble Platform as a Service (TPaaS)
Company Confidential
• Core Services
– API Management
– Identity Management
– Enterprise Service Bus
– Business Process Service
– Complex Event Processor
– Business Rule Server
• Cloud Container to host any Trimble service
– Act as a gateway to share any Trimble Service for wider reuse
• E.g. Reverse GeoCoding, Object Registry, Event Registry, etc can be hosted for
wider Trimble
– Scalable “One click” cloud deployment
– Service metering and charging for services
– Technology agnostic to host services (.Net, Java)
What does TPaaS provide?
Company Confidential
• Availability and ability to customize
• Portability and ownership
– Vendor lock-in?
• Flexibility
• Lower Cost & Support Ecosystem
• Platform is not what our customers pay for
• Watch for licensing model and who is behind it
Why Open Source ?
Company Confidential
• Comprehensive set of services
• Support & Flexibility
• Strategic alignment
• Active Community
• Track record of executing on a vision
Why WSO2?
Company Confidential
•
High Level Architecture View
PaaSContainer
PaaS (Cloud Monitoring, Auto scaling, Service Metering)
PaaSContainer
Core platform services (API Mgr., ESB, Identity ,Complex Event processor, MDM, MAM etc. )
Trimble Shareable Services
Market focused Services(80/20 apps)
Market focused Services(80/20 apps)
Market focused Services(80/20 apps)
Fine
Coarse
Vertical Application Partner AppsVertical Application
Infrastructure(AWS, Rackspace, VMware etc)
TPaaS and Vertical Solutions
Infrastructure as as Service (e.g. AWS, Rackspace)
Trimble App-1 Trimble App-2 Trimble App-3 Partner App Customer App
PaaS Container
Core services
Telematics services
Buildings services
Other Domain specific services
Service clusters from industries; core services developed centrally Ag. Services
Geospatial services
Company Confidential
• API Management
• Identity Management
• Enterprise Service Bus
• Scalable and HA deployment
TPaaS – Step 1
API Manager
• All services will be published through API manager for consumption by the Applications.
• Includes a Service Registry to govern services
• Manage service (API) versions and lifecycle (publish, deprecate, retire).
• Manage subscriptions to services
• Apply security policies to services.
• Track service consumption and statistics.
• Enforce rate limiting and throttling policies
• Horizontally scalable.
API Manager Scalable Deployment
• API manager components split for a scalable architecture
• Store/Publisher runs in a different cluster as a web application
• API gateway nodes that handles all the api traffic run in a separate cluster
• Management node runs independent of these worker nodes
Enterprise Service Bus
• Virtualizes services for loose coupling
• Declarative development with configuration.
• Message mediation through Enterprise Integration Patterns
• Routing based on header, content and rules.
• Message transformation
• Horizontal scaling via clustering with stateless server architecture
• Low resource utilization
• WSO2 LB on all other
layers
• HA on WSO LB using AWS
ELB
• Auto scaling using WSO
LB for all TPaaS layers
• Puppet for Configuration
Management within
TPaaS
• Monitoring setup
• Alerting
TPaaS Deployment
Governance Model
• Trimble Model
– Need a clear governance structure to involve all the stakeholders
– Make one person to make the final decision when needed
– Rolling deliverables
– Find an evangelist in each team using the platform services
– Keep the core team small and nimble to deliver core services
– Make sure to have good support for Opensource components used
– Everyone understands the vision and the value of the platform
– Support from top and bottom layers of the organization
Road ahead and lessons learned
• Simplify deployment model
– Simplify PaaS deployment from installing in different locations
– Use other tools where needed make the model simple
• Too many knobs to turn when you build a platform on an Opensource.
– Find ways to hide complexity
• Bring config. management across environments under version control
• Full Application life cycle management
– Integrating to an AppStore
• Mobile PaaS – An important next step
– Managing and securing content, device and Application
• Service discoverability and sharing model
Thank [email protected]