andrés vettori-from saas to paas

Upload: zerxiomendoza1930

Post on 06-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    1/55

    From SaaS to PaaS

    Andrs G. Vettori, CTO

    [email protected]

    mailto:[email protected]:[email protected]
  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    2/55

    Agenda

    About us

    What is SaaS / PaaS? Differences?

    Emerios 1.0: our SaaS solution.Our Pain Points

    Emerios 2.0 : our PaaS solution.

    Emerios 2.0 DemoLearned lessons

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    3/55

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    4/55

    About vmbc

    1997: Inbound and outbound call routing withPreferenceManager1998: 28 DS3s brought on line to scale to the needs of any client

    1999: Automated call compliance withComplianceLock2000: Live reporting capabilities withInReport

    2001: Virtual routing intelligence withActive Listening2002: Multiple message testing withRapid Recycle Resonance2004: SMS capabilities to 2.2 billion mobile users withVClient 2005: Web, Voice, and Mobile interoperability with VLink 3602006: Artificial intelligence and speech recognition withVoiceRec2007: Mobile internet and rich media delivered by VContent2008: Multi-channel enrollment and verification withERS

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    5/55

    About vmbc

    Pioneer the of Message Broadcasting Industry Authoritative leader in compliance with State & FTC regulations

    Best record in the industry for state-by-state and HIPPA compliance

    Unmatched Experience and a Worldwide Presence:

    Founded in 1997, over 4 Billion+ Contactsand counting

    Worldwide Presence: Los Angeles, London, Buenos Aires, Irvine

    Market Leading Intelligence Response Technologies

    Emerios Response Services database and response platformensures superior customer experience

    Storied history of innovation and development

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    6/55

    About me

    Love technology in general, self-taught.With a Digital electronics background, I equally enjoy writingcode and building stuff (computers, networks, etc.)

    30 years as a software developer Thats true. Im 42 and wrote my first program (a text version of Luna Lander) when I

    was 12, using a Casio programmable calculator.

    17 years as Project/Team Leader

    15 years as Software Architect

    10 years as CTO / Chief Architect

    Microsoft Certifications: MCSE / MCSD / MCTSome projects leaded: Renault Argentina Extranet Licitaciones,ISP Ciudad Digital, Proyecto Middleware TERNIUM.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    7/55

    SaaS == Software as a Service

    http://en.wikipedia.org/wiki/SaaS

    Software as a service, or "on-demand

    software," is a software delivery model in

    which software and its associated data are

    hosted centrally (typically in a public or

    private cloud) and are typically accessed by

    users using a thin client, normally a webbrowser over the Internet.

    http://en.wikipedia.org/wiki/SaaShttp://en.wikipedia.org/wiki/SaaShttp://en.wikipedia.org/wiki/SaaS
  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    8/55

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    9/55

    SaaS vs PaaS?

    SaaS: focus on providing

    application services to solve

    ONE vertical industry problem.

    PaaS: focus on providing

    platform services to build anyapplication for any industry.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    10/55

    SaaS PaaS?

    Building a PaaS solution might bemore complex and harder.

    Becoming a PaaS provider is notthe natural evolution step for allSaaS providers.

    Is just an strategic businessdecision based on what you wantto be.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    11/55

    SaaS == PaaS?

    Multi-tenancy

    Scalability

    Fault-tolerance

    Configurability & extensibility:

    optional for SaaS, mandatory

    for PaaS

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    12/55

    Our SaaS Solution

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    13/55

    Emerios 1.0

    Real-Time Customer Verification and Response

    End-to-end multi-channel Enrollment processes.

    Vmbc verifies name, address, social security number, phonenumber, tax information, email address and desired outcomes ofcustomer.

    VMBC requests communication preferences from customer in orderto understand the method by which they prefer a response.

    After verification, Vmbc responds with appropriate forms,instructions and requirements in order to service the customer

    VMBC follows up to ensure the customer has responded with allnecessary documentation necessary to qualify for the service.

    If the enrollment business process includes periodic verification,vmbc manages that as well.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    14/55

    Lifeline Enrollment Timeline

    A History of Success!

    Q4-Y2008

    -Multi

    language

    New StatesVirginia

    Georgia

    Massachusetts

    #Reqs:281

    Q3-Y2009

    -LexisNexis

    -BackOffice

    -Update info

    -De-Enroll

    -FCC Audit

    -Verification

    New States

    Illinois

    #Reqs:1059

    Q2-Y2009

    -Process

    Versioning

    & deploy

    New StatesAlabama

    West Virginia

    New Jersey

    ConnecticutNew Hampshire

    DC

    Ohio

    Wisconsin

    #Reqs:794

    Q1-Y2009

    -Fraud rules

    -BackOffice

    -CSR Notes

    -Rejection

    reasonsNew States

    New York

    Pennsylvania

    Michigan

    North Carolina

    Delaware

    #Reqs:595

    Q3-Y2008

    Initial

    Release

    New States

    Tennessee

    Florida

    #Reqs:608

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    15/55

    SafeLink Enrollment

    Outstanding achievement

    Less than 4 months from final PDD to production release after UAT in

    August, 2008.

    Definition, development and rollout of 7 states in less than 4 weeks(AL, CT, DC, NH, NJ, OH, WI, WV) on June 2009. An average of 1 State

    every 4 days.

    Less than 12 weeks to design, develop, test and release the

    customizable Fraud Prevention Engine through LexisNexis Validationrules. Released in July, 2009.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    16/55

    SafeLink Enrollment

    Applications Received 8,646,325

    Applications Active 4,334,443

    Phones Shipped 6,364,266

    In Process ~50KPublic site daily visits: ~260K

    New Enrollments per day: ~10K

    Phone calls processed per day: ~30K

    Documents processed per day: ~5,000

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    17/55

    Development Platform & Tools

    .NET based

    Team Foundation Server / Team Build

    Visual Studio 2010 - .NET 4

    ASP.NET, MVC, Ajax, WCF, WPF, WFSilverlight 3.0

    Enterprise Library 4.x

    WS-Federation, Identity Framework

    Retina.NET 2.0 OR/M

    Others: ABCPdf, Moq, Selenium

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    18/55

    Emerios 1.0 Platform

    Private Cloud with two redundant Data Centers

    Operating System Windows Server 2008 R2 x64

    Microsoft Hyper-V 2.0

    IIS, MSMQ, NLB, Active Directory

    Database: MS SQL Server 2008 x64

    IVR Services: Speech Server 2007 x64

    Supporting Services: TMG 2010, SUS, System Center 2007

    Storage: 2x SAN Dell Storage: 45 Disks 450Gb 15K (20Tb Raw)

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    19/55

    0

    2000

    4000

    6000

    8000

    10000

    12000

    14000

    16000

    Count

    Poly. (Count)

    New Enrollments by day

    Daily Average: 9,599

    Total: 2,401,483

    Maximum: 13,910

    SafeLink Enrollment

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    20/55

    0

    50,000

    100,000

    150,000

    200,000

    250,000

    300,000

    350,000

    400,000

    450,000

    Page Views

    Poly. (Page Views)

    Public site daily visits

    Daily Average: 266,521

    Maximum: 386,707

    SafeLink Enrollment

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    21/55

    0

    10000

    20000

    30000

    40000

    50000

    60000

    Calls

    Poly. (Calls)

    Phone calls processed by day

    Daily Average: 30,579

    Total: 6,988,123

    Maximum: 42,050

    SafeLink Enrollment

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    22/55

    Emerios 1.0 System Block Diagram

    Public WebSite

    CSR WebSite

    Web public CSR User

    STS

    Enrollment Service

    Web FaadeWorkflowServIce

    SecurityTokenService(ST

    S)

    Enrollment System

    DDBBPrincipal Mirror

    CRMSTS

    SSL

    SSL

    AddressValidation

    Public Calls

    IVR

    Mail - Fax

    FormRequest

    Corporative Services

    STS

    3rd Parties

    EnrollmentIntegration

    Staging

    WorkFlowManager

    CRMManager

    Admin WebSite

    Admin User

    SSL

    STS

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    23/55

    Our Pain Points

    Development life cycle for content changes

    Implemented a CMS (Sitefinity 4.x)

    New Release Deployments

    Custom tool on top of MSDeploy

    Storage IOPS vs. effective space

    Monitor usage patterns to keep optimizing things

    Database monitoring & tuning

    Partitioning / Sharding

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    24/55

    Our Pain Points

    Server Memory consumption

    Server role consolidation (POD strategy)

    Memory usage optimization

    Shared caching strategies (Velocity)

    Data replication

    Settled down on SQL Mirroring

    Production Monitoring & Diagnostics Mix of System Center and custom tools (performance

    counters, Http Trace, self-diagnostics, etc)

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    25/55

    Our PaaS Solution

    On top of all that, we then focused on the

    business part of our requirements:

    How hard is to add new functionality or change

    something existing in a system?

    How easy we could create a new solution for a

    completely new industry?

    How fast and easy we could deploy a newinstance of a system for a new customer?

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    26/55

    Motivation

    Enrollment System (Emerios 1.0)limitations:

    Designed for the implementation of clientsLifeline government programs

    Customizations require extensive knowledgeof the code and the developmentenvironment -> long lead times for theexecution ofchanges requested by clients

    No economy of scale to maintain and supportdevelopment of new features for newcustomers

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    27/55

    Motivation

    Emerios 2.0 must entice the market through apowerful, graphic User Interface that providesend-to-end customization of processes andworkflows that are not limited to one

    industry.

    In order to improve the value of Emerios,create business opportunities and get more

    clients on the platform, the solution must bedynamic and easily customizable by non-developer team members.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    28/55

    Typical Requirements Lifecycle with

    Emerios 1.0 :

    Motivation

    Deployment

    to PROD

    Deployment

    to PRE

    For User

    Acceptance

    Tests

    Quality

    Assurance

    DevelopmentProduct

    Backlog

    Requirements

    prioritization

    Product

    Development

    Requirements

    gathering and

    definition

    Customer

    Sign Off

    Customer

    Sign Off

    2 weeks

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    29/55

    Requirements lifecycle with Emerios 2.0:

    Business Analysts are able to capture business

    requirements and execute their design models

    as working applications -> no more ultra-detailed documents to be interpreted by

    developers and testers

    Motivation

    Deployment

    to PROD

    Change

    Implemented

    in PRE

    For UserAcceptance

    Tests

    Product

    Development

    Requirementsgathering and

    definition

    Customer

    Sign Off

    Customer

    Sign Off

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    30/55

    An example of module-based development onEmerios 2.0:

    A new Financial Module is added to the existingQualification, Billing and Data Validationmodules.

    Motivation

    Emerios

    2.0

    Core

    BillingModule

    DataValidation

    Module

    Qualification

    Module

    Emerios

    2.0

    Core

    Finance

    Module

    DataValidation

    Module

    QualificationModule

    Billing

    Module

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    31/55

    Research

    With the aim at learning from existing

    model-oriented platforms, the following

    products were analyzed:

    Salesforce

    Mendix

    Outsystems Agile

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    32/55

    Research - Salesforce

    What we liked:

    Rich business entity definitions

    Formula-based fields and field validations supported

    Automatic CRUD forms for business entities

    Business model published as a web service (API)

    Common business entitiy aspects (notes, attachments, etc.)

    Modular Extensibility

    Approval Templates (Mail, Web forms)

    Business Model testing support

    Integrated public UI and reporting Module Market (like the AppStore)

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    33/55

    Research - Salesforce

    What we did not like:

    Propietary extensibility language (Apex)

    Form-based configuration tools (as opposed to point-and-click and drag-

    and-drop UIs)

    Configuration tools oriented to business developers (with some degree

    of programming skills)

    Web-based tools with poor user experience (i.e. no intellisense, HTML

    source code editing, etc.)

    Workflows do not enable the definition of operations, just rules

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    34/55

    Research - Mendix

    What we liked:

    A basic application can be developed in less than 5 minutes

    Workflows can invoke other workflows

    Document Templates (same as Emerios Enrollment System's generated

    PDF forms)

    Business Model Versioning

    Business model published as a web service (API)

    API with multiple entity formats (JSON, XML, Java native), and multiple

    hosting protocols (HTTP, Web Services, Java native)

    Both Cloud and On-premises hosting supported

    Modular Extensibility

    Module Market (like the AppStore)

    Integration with SAP

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    35/55

    Research - Mendix

    What we did not like:

    Only Java extensibility supported (our know how is .NET-based)

    On-premises hosting using Java technologies only (our know how is

    based on Microsoft technologies)

    Configuration tools are Desktop-only

    Business Entity Modeling using complex UML notation

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    36/55

    Research - Outsystems Agile

    What we liked: A basic application can be developed in less than 5 minutes

    Configuration tools with outstanding user experience, oriented to non-technical users

    Workflows for site navigation

    Integrated public UI, reporting and performance KPI.

    Business Model Versioning with 1-click deploy and 1-click rollback

    Business data and Business Entity definitions can be imported from Excel

    Application Templates (with predefined functionality for commonbusiness models)

    Supports multiple platforms and languages (.NET / Java)

    Automated deploy and rollback

    Modular Extensibility

    Both Cloud and On-premises hosting supported

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    37/55

    Research - Outsystems Agile

    What we did not like:

    Configuration tools are Desktop-only

    Requires platform services side-by-side with business services (when

    hosted on-premises)

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    38/55

    Research - ComparativeSalesforce Mendix Outsystems Agile

    Modelling Interface

    Web site with form-based UIDesktop App (Visual Studio alike) Desktop App Desktop App (excellent UX)

    BUSINESS MODELEntities

    Form-based UML class diagram / Entity-relationmodel

    Entity list (can be imported form

    Excel)Workflows Form-based Workflow Designer Workflow DesignerTriggers/Events Form-basedBusiness Rules

    Expression editor (textual DSL) Special Workflow DSL WorkflowsUser Interface Raw custom-HTML editor / Visual

    Force Desktop editor Form editor Form editor + Workflow fornavigationVersioning Supported Supported SupportedExtensibility Apex propietary programming

    language Java .NET / Java1-Click Deploy Supported Supported Supported1-Click Rollback Supported (what about data

    changes?)ARCHITECTURECloud Hosting Supported Supported SupportedOn-premise Hosting Not-supported Supported SupportedFault-Tolerance They claim they don't have single-

    points-of-failure

    (this means full redundancy on

    every layer)Reporting Integrated reports (web UI)

    Full audit of data changes Integrated reportsIntegrated reports

    Automatic performance KPIs

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    39/55

    Research Conclusions

    Building Emerios 2.0 as an application platform, with almostthe same functionality as the ones analyzed, would demand agreat effort, thus a project of several months.

    However, Emerios 2.0 cannot wait so much time to enter the

    market, which leads to evaluate the following possibilities: Buy approach: use an existing platform, taking full advantage of

    every aspect that it has out-of-the box, and focus on building thosemodules whose business Emerios knows well and has experience on.

    Incremental Build approach: build a minimal core that can executebusiness models coming from different sources (code, workflow,database, etc.), using coded processes in a first stage (fastest to buildand do not require a user interface), and then, in future stages,include other types of business model configuration tools (that abusiness analyst could use to replace every coded process).

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    40/55

    Research ConclusionsBuy Approach

    Pros Cons Best time-to-market.

    Proven technology and architecture.

    The most cost-effective:

    Analysis, Development, Test, IT costs demanded

    when building a new product.

    Maintenance costs.

    Less flexible (it might be impossible to extend beyond

    the current scope of the platform and we cannot assess

    this until faced with the platform limitations vs.

    business requirements).

    Worse fit to the business (generic solutions might not

    be able to fit the business model as tightly as a custom

    solution could).

    Startup cost (after buying the product, we might need

    to write lots of business modules to fit our current

    business model).

    Learning curve.

    Security requirements might restrict the tool selection.Build Approach

    Pros Cons

    Best flexibility (there are no platform limits; we could

    always extend our kernel to accomplish anything, nomatter how complex).

    Best business modeling accuracy (we could model only

    which is necessary for the business, without the

    overhead of writing generic modules we do not really

    know we will need).

    More time-to-market to come up with a polished

    product (Salesforce has more than two years ofimprovement over a working platform).

    Need to build and integrate the modeling tools

    (business entities, business processes, etc.).

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    41/55

    Emerios 2.0 Product Vision

    The Emerios 2.0 solution is a highly configurable

    business modeling platform that can host

    multiple business models at the same time,

    providing an API to interact with externalsystems.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    42/55

    Emerios 2.0 Business Models

    Emerios 2.0 is centered on Business Models, typicallyconsisting of: Business Entity Definitions: a description of the data

    involved in the business (e.g. products, purchase orders,enrollments, customers, etc.).

    Business Processes: the operations involved in the business(e.g. purchase product, list products, create enrollment,etc.). These can be executed by direct execution, anevent/trigger firing or scheduling.

    Business Events/Triggers: can be seen as part of thebusiness process definition, but important enough to benoteworthy. They provide support for asynchronousinteractions (system or human based) and provide a way toconnect and reuse business processes.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    43/55

    Emerios 2.0 Business Models

    At design time Business Analysts create or maintain

    Business Models using the Emerios 2.0 Modeling Tools.

    Those Business Models are stored in an internal database

    known as the Business Model Database.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    44/55

    Emerios 2.0 Business Models

    At run time, the Emerios 2.0 Runtime Engine loads Business

    Models, from the Business Model Database, and exposes

    Business APIs that can be used by external sites and services

    to interact with the Business Models.

    As a result of interaction with the Business Models throughthe API, business data is created, updated or deleted within

    the Business Data Database.

    For example, a Customer might

    browse a product catalog online

    and purchase a product.

    Afterwards, he might call an IVR

    to check the status of his

    purchase order.

    For example, when a customer purchases some

    products, the stock of those products is reduced and

    a new purchase order is created. This business data

    is stored in the Business Data Database.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    45/55

    Emerios 2.0 Modeling Tools

    Business Analysts are the main users ofEmerios 2.0 ModelingTools.

    These tools enable them to model a specific business, whichincludes the definition of: The Client whose business is being modeled

    The Application to be hosted on Emerios 2.0 platform

    Billable Items that will be part of the client/application billing

    Business Entities, to store the data involved in the business

    Business Processes, to model the behavior of business operations

    Web Portals that will act as points of entrance to the applicationhosted on Emerios 2.0 platform

    Security for the application hosted on Emerios 2.0 platform

    Reports on business data and operations

    Data transfer between Emerios and the clients system

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    46/55

    Emerios 2.0 Modules

    Emerios 2.0 supports extensibility and configurability through amodular architecture.

    A Module is a logical grouping of components that provide aspecific functionality by integrating with external servicesand/or extending other Emerios 2.0 modules.

    Emerios 2.0 Modules: Can be enabled and disabled on a per-tenant basis without the need

    to deploy or restart services.

    Extend both the design-time and the run-time aspects of Emerios2.0.

    Could be developed in-house or by third-party development teams.

    The Emerios 2.0 Core is the set of essential built-in Modulesthat are always available for any Business Model of any tenant. Our Emerios 2.0 Standard Module Library built on top of our Core

    will provide additional functionality like: Security (authentication,authorization, data encryption), Auditing, Logging, etc.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    47/55

    Emerios 2.0 Architecture

    Emerios Core Modules

    Workflow Metadata Data Access Audit

    Multi-Tenant Database Storage

    OLTP DWH Staging

    Emerios Core Services

    DynamicDataExchange

    DynamicReportingEngine

    Security

    C

    MS

    Emerios Standard Modules

    CRM Enrollment Admin

    Business Modules

    DES DEEP

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    48/55

    Emerios 2.0 Core

    Metadata Module

    Describe Business Entities

    (e.g.: products have

    price, sku, etc.)

    Data Module

    Create, Read, Update and

    Delete Business Entities

    (e.g.: products)

    Process Module

    Create, Read, Update and

    Delete Business Processes

    (e.g.: purchase products)

    REST API Module

    Expose business processes through

    HTTP REST (e.g.: to be consumed

    by light iPhone applications)

    SOAP API Module

    Expose business processes as SOAP

    Web Services (e.g.: to be

    consumed by ETCs workflows)

    Other Modules Examples

    Address Validation

    Enrollment

    Lifeline

    Customer Identity Validation (LexisNexis)

    http://en.wikipedia.org/wiki/Representational_State_Transferhttp://en.wikipedia.org/wiki/SOAPhttp://en.wikipedia.org/wiki/SOAPhttp://en.wikipedia.org/wiki/Representational_State_Transferhttp://en.wikipedia.org/wiki/Representational_State_Transfer
  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    49/55

    Case Study: E-CommerceEmerios 2.0 Modeling Tools

    Business Entities Business Processes

    (*) Provided bya Customers Module

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    50/55

    Case Study: E-Commerce

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    51/55

    Emerios 2.0 In a Nutshell

    Emerios 2.0 is centered on Business Models.

    A Business Model is a software representation of a real-world business.

    The Emerios 2.0 Modeling Tools are a set of tools used by Business Analysts to create and

    maintain Business Models at design-time.

    Business Models define entities, processes, events and additional configuration (security

    permissions & roles, for example) , which are stored in the Business Model Database.

    The Emerios 2.0 Runtime Engine loads Business Models from the Business Model Databaseand exposes Business APIs for those models.

    Customer-facing apps such as Web Sites, IVRs, etc. access the Business Model through its

    Business API.

    Business data (e.g. products, orders, etc.) is stored in the Business Data Database.

    A Module is a logical grouping of components that provide a specific functionality by

    integrating with external services and/or extending other Emerios 2.0 modules.Modules can be enabled and disabled on a per-tenant basis, without the need to deploy or

    restart services, and extend both the design-time and the run-time aspects of Emerios 2.0.

    The Emerios 2.0 Core is the set of essential built-in Modules that are always available for

    any Business Model of any tenant.

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    52/55

    Emerios 2.0 Demo

    Administration site

    Process Workflow designer

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    53/55

    Learned Lessons

    Before building anything, define your business objectivesBecoming a PaaS solution provider is not the natural (and

    mandatory) evolution step after SaaS

    It might be, if you are worried by the economies of scale

    of your potential business and projectsThere are a lot of architectural and technical challenges in

    any SaaS and PaaS solution. PaaS adds on top of SaaS the

    ability to define and build completely new applications

    We focused on business processes as the way toexpress and build applications by non-technical users

    Put usability and accountability as top priorities

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    54/55

    Learned Lessons

    Keep It Simple (KISS principle)Do performance Testing Early in the process

    Unit test / micro testing

    Stress test

    Load test Long duration tests

    Resource consumption

    Think about production monitoring and debugging

    Think about reporting and data integration

  • 8/3/2019 Andrs Vettori-From SaaS to PaaS

    55/55

    Andrs G. Vettori, CTO

    [email protected]

    mailto:[email protected]:[email protected]