Service Orientation
Why is it good for your business



 By
 Sastry Malladi
 eBay Inc
Overview

 Service Orientation Intro
 Different Service styles
 Challenges
 Case Study : eBay
 Recap




                    2
Fun facts about eBay
  eBay manages …
    Over 97 million active users
    Over 2 Billion photos

             eBay users worldwide trade on average $2000 in
              goods every second ($ 62 B in 2010)
             eBay averages 4 billion page views per day
             eBay has over 250 million items for sale in over
              50,000 categories
             eBay site stores over 5 Petabytes of data
             eBay Analytics Infrastructure processes 80+ PB of
              data per day
             eBay handles 40 billion API calls per month


                          In 40+ countries, in 20+ languages, 24x7x365


                    >100 Billion SQL executions/day!
Service Orientation

            An architecture style to move from
            brittle, hardwired, application silos
            that inhibit change…



            … to shared, reusable, business
            and infrastructure components…



            … which eliminates application
            redundancy and complexity, and
            enable Business Agility, Innovation
             and Operational Excellence.



    4
Terminology

 Service
   Well defined piece of functionality, with a defined interface, with fully
    encapsulated business logic and data, that is managed and exposed
    consistently, and which is independent of any data formats and
    message protocols

 Data Binding/Format
   The format in which the data is represented on the wire (e.g XML, NV,
    JSON, BinaryXML, ..) –a.k.a Wire Format

 Message Protocol
   The protocol followed by the client and service when exchanging
    messages (e.g, SOAP).

 Transport protocol
   Protocol used at the transport level (e.g HTTP, SMTP)
                             5
Services - Not just technology




Technolo
                              Services                Process
   gy
Run-time stack
Integrated tooling
                                                      Domain modeling
                                                      Life-cycle mgmt
Infrastructure services                               Governance
Registry/Repository                                   PDLC changes
Routing



                               People
                               Think interfaces
                               Promote Reuse
                               Biz and IT alignment
                          6
                               Training & Docs
Some common Misconceptions dispelled
 SOA is a new technology
     It’s an architecture paradigm applied to existing or new technologies

 SOA implies Web Services and SOAP
     WS/SOAP is not an exclusive protocol. REST style with JSON, NV is more popular in
      the current days

 SOA/Services is an end in itself
     SOA is a means to enable business agility

 Services are always developed from ground up
     Business always leverage existing functionality, but morph them into services and
      develop some new services on the way

 At service development time, its consumers are known
     Service development may start with some use cases in mind, but they will evolve over
      a period of time
Enabling possibilities




                              TOMMOROW
TODAY




                     FUTURE
              8
Services benefits

 Business Agility
     Faster time to market for new business offerings
     Quicker response to business change
     Easier integration with partners and third parties and adjacencies

 Innovation
     Enable internal and external Innovation

 Operational excellence
     Reduced cost for any new feature development
     Better developer productivity
     Reduced cost of failure
Typical steps for Service orienting
your business
 Do the domain modeling for your enterprise
 Decompose domains into components
 Intersection between domains should be zero
 Assign owners and architects to domains
 Choose on Central Vs decentralized governance
 Get Business and Technology alignment
 Pick a technology stack, including tools for Dev, QE and
  Ops
 Train the developers
 Execute, track progress and course correct.
Overview

 Service Orientation : Benefits
 Different Service styles
 Challenges
 Case Study : eBay
 Recap




                    11
Different Service Styles
• SOA
 •   Formal Contract, interface (WSDL or other)
 •   Transport / Protocol agnostic (bindings)
 •   Arbitrary set of operations
• REST
 •   Based on Roy Fielding’s dissertation
 •   Web/Resource oriented
 •   Suits well for web based interactions
 •   Piggy backs on HTTP verbs : GET, POST, PUT,
     DELETE
 •   No formal contract
Overview

 Service Orientation : Benefits
 Different Service styles
 Challenges
 Case Study : eBay
 Recap




                    13
General Challenges
 Technical
   Additional latencies due to multi-hop communications
   Debugging/Tracing is harder
   Need for efficient Request/Session level caching
   Increased Security and monitoring challenges
   Multiple, often competing standards
 Operational
   Developer adoption and learning curve
   Governance processes
   Migration of existing Apps
   Updates to existing tools and processes.
   Deployment and rollout
   Measurement of progress and ROI




                                    14
Further challenges in large scale deployments

 Technical
   Co-existence of old and new technologies during transition phase
   Supporting internal and external clients that have different
    protocols/data binding needs, for the same service deployment
   Integration testing
   High availability and Scalability – high volume and low latency
   Decomposition of existing apps and migration of legacy services

 Operational
   Version and dependency management
   Time to Market pressures
   Need for a strong yet simple governance process
   QoS and SLA management

                           15
Overview

 Service Orientation : Benefits
 Different Service styles
 Challenges
 Case Study : eBay
 Recap




                    16
Services @eBay

 It’s a journey !
 History
    One of the first to expose APIs /Services
    In early 2007, embarked on service orienting our entire
     ecommerce platform, whether the functionality is internal or
     external
    Support REST style as well as SOA style
    Have close to 300 services now and more on the way
    Learned a lot from feedback from our customers and
     operational issues and evolved our technology and strategy
     over time
    Early adopters of SOA governance automation
                         17
Services @eBay – Contd.

 Technology stack
   Mix of highly optimized home grown framework
    components as well as best of breed commercial and
    open source components , integrated together – All
    standards based (WSDL, Http, JAX-WS, JAX-RS ..)
 Goals
   Organize the enterprise as a set of reusable business
    functions
   Reduce the cost of new features and applications
   Encourage and enable new business opportunities
Addressing the challenges
 Technical
   Policy driven Light weight and high performant Services platform
   Model-driven Service decomposition
   Support for REST and SOAP style from the get go
   Unified Testing framework and service virtualization
   Constantly evaluate and iterate over technology..

 Operational
   Simple and flexible governance processes and life cycle management, iterated over
    time
   Strong operational management and monitoring tools
   Developer training and incentives for being a good citizen
   Formal process and tools to measure adoption and progress.



                                  19
Services platform overview
                                                           Dev/Arch                              Life cycle/dependency mgmt
Design/Dev




                                 Develop
                                 Services, consumers,                                              Registry/
                                         Eclipse
                                                                                                   Repository
                                         Dev tools
                                                                                                                       Assertions
                   Test tools                                                                                          svc



              Registry
                                           clients                                    services
                                       SOA/REST client                            SOA/REST Server
Runtime




                                       Framework                                  Framework
              External routing
              (ESB)




                                                        Authentication       Authorization       RL     Monitoring    Logging
             Rest Mapping




                                                 Admin console             Policy service
                                                                                                              Monitoring console
             Tier




                                                                      20
A word on ESB
• Decouple of service consumers from service
  producers:
  • Routing and transformation
  • Support QoS
  • Minimal latency overhead and high scalabilty
• Evaluated various products and selected
  WSO2 ESB
  • It rocks !
• It processes more than 1B messages per
  day !

                     21
Service Layers and Taxonomy
 Defining a finite set of service layers and their
  relationships
 Goals
    Provide a mechanism to build and layer services that have different
     characteristics
    Enable service lifecycle management for services with different scopes of
     impact
    Clearly establish guidelines on what functionality can be implemented in
     which layers
    Define allowed access patterns between layers
    Enable better dependency and rollout management




                              22
Our specific taxonomy


                           Application Layer




                             Business


              controlled


                                               Intermediate/Core
                                                                                      d
                                                                                 le
                                                                         tr   ol
     Common/Infrastructure                                         con


OK

                               23

                                                                    23
What is Service governance
 A set of activities related to exercising control over design, development
  and life-cycle of Service providers and Service consumers, for
  consistency manageability and for promoting re-use


 Design time
    Interface and types design review and approval
    Enforcement of consistency guidelines for contract (interface, policies and behavior)
    Enforcement of dependency and layering guidelines


 Runtime
    Deployment policies
    Security/caching/monitoring/availability policies
    Reconciliation between what it is (runtime) and what it should be (design)


 Change management
    Dependency and impact analysis
    Versioning (both major and minor) of existing services
    Making sure existing subscribed clients don’t break.
                                        24
Governance process - Sample

Dev tools


                                           Service Registry and Repository


                                                       Life cycle stages

                Publish/discover
                                     Proposed      Approved        Tested           Deployed

  Build
  tools


Deployment                                Notify          Notify           Notify         Notify
   tools


 Release
  tools
                                   External         External       External          External
                                   governance       Governance     Governance        Governance
                                   process          process        process           process



                                          25
Governance – Our journey

 We initially had an elaborate governance process
 After feedback from developers, we iterated and
  eliminated this and made it a self service process
   Validation and Reporting
 Data from this repository is exported to runtime
  ESB registry and SIF.




                    26
Tracking Adoption




                                                           Ref : Wikipedia




 After domain decomposition into services, need to set goals and closely track
  Adoption – at least until you cross the “chasm”
 Formulas for tracking adoption index and ROI
 One yardstick – 3 uses of a service is break even, anything more is bonus
 eBay has been a strong supporter of Open Source model
  and community

 Recently created http://eBayOpenSource.org
    Mission is to open source some of the best of breed technologies
     that were developed originally within eBay Inc.
    For the benefit of the community
    Under a liberal open source license.
    These projects are generic technology projects and several years
     of development effort has gone into them to mature them.
    Most parts of our services platform, code named Turmeric, is
     open sourced on this site.




                           28
Recap

 Moving to Services model certainly has its benefits, but brings along
  bigger challenges
 Solving the technology part is relatively easy. Operational aspects are
  more challenging and need to address them from the beginning
 Restful Services is where the industry is headed.
 Up front design and modeling of your contract/interface, including
  granularity is very important
 Service layering, dependency and version management must be well
  thought through
 Invest upfront on developer training, Testing tools, and some form of
  governance
 eBay has been successfully able to apply this strategy and make
  progress in our service orientation journey.

                              29
Q&A

Keynote-Service Orientation – Why is it good for your business

  • 1.
    Service Orientation Why isit good for your business By Sastry Malladi eBay Inc
  • 2.
    Overview  Service OrientationIntro  Different Service styles  Challenges  Case Study : eBay  Recap 2
  • 3.
    Fun facts abouteBay  eBay manages …  Over 97 million active users  Over 2 Billion photos  eBay users worldwide trade on average $2000 in goods every second ($ 62 B in 2010)  eBay averages 4 billion page views per day  eBay has over 250 million items for sale in over 50,000 categories  eBay site stores over 5 Petabytes of data  eBay Analytics Infrastructure processes 80+ PB of data per day  eBay handles 40 billion API calls per month In 40+ countries, in 20+ languages, 24x7x365 >100 Billion SQL executions/day!
  • 4.
    Service Orientation An architecture style to move from brittle, hardwired, application silos that inhibit change… … to shared, reusable, business and infrastructure components… … which eliminates application redundancy and complexity, and enable Business Agility, Innovation and Operational Excellence. 4
  • 5.
    Terminology  Service  Well defined piece of functionality, with a defined interface, with fully encapsulated business logic and data, that is managed and exposed consistently, and which is independent of any data formats and message protocols  Data Binding/Format  The format in which the data is represented on the wire (e.g XML, NV, JSON, BinaryXML, ..) –a.k.a Wire Format  Message Protocol  The protocol followed by the client and service when exchanging messages (e.g, SOAP).  Transport protocol  Protocol used at the transport level (e.g HTTP, SMTP) 5
  • 6.
    Services - Notjust technology Technolo Services Process gy Run-time stack Integrated tooling Domain modeling Life-cycle mgmt Infrastructure services Governance Registry/Repository PDLC changes Routing People Think interfaces Promote Reuse Biz and IT alignment 6 Training & Docs
  • 7.
    Some common Misconceptionsdispelled  SOA is a new technology  It’s an architecture paradigm applied to existing or new technologies  SOA implies Web Services and SOAP  WS/SOAP is not an exclusive protocol. REST style with JSON, NV is more popular in the current days  SOA/Services is an end in itself  SOA is a means to enable business agility  Services are always developed from ground up  Business always leverage existing functionality, but morph them into services and develop some new services on the way  At service development time, its consumers are known  Service development may start with some use cases in mind, but they will evolve over a period of time
  • 8.
    Enabling possibilities TOMMOROW TODAY FUTURE 8
  • 9.
    Services benefits  BusinessAgility  Faster time to market for new business offerings  Quicker response to business change  Easier integration with partners and third parties and adjacencies  Innovation  Enable internal and external Innovation  Operational excellence  Reduced cost for any new feature development  Better developer productivity  Reduced cost of failure
  • 10.
    Typical steps forService orienting your business  Do the domain modeling for your enterprise  Decompose domains into components  Intersection between domains should be zero  Assign owners and architects to domains  Choose on Central Vs decentralized governance  Get Business and Technology alignment  Pick a technology stack, including tools for Dev, QE and Ops  Train the developers  Execute, track progress and course correct.
  • 11.
    Overview  Service Orientation: Benefits  Different Service styles  Challenges  Case Study : eBay  Recap 11
  • 12.
    Different Service Styles •SOA • Formal Contract, interface (WSDL or other) • Transport / Protocol agnostic (bindings) • Arbitrary set of operations • REST • Based on Roy Fielding’s dissertation • Web/Resource oriented • Suits well for web based interactions • Piggy backs on HTTP verbs : GET, POST, PUT, DELETE • No formal contract
  • 13.
    Overview  Service Orientation: Benefits  Different Service styles  Challenges  Case Study : eBay  Recap 13
  • 14.
    General Challenges  Technical  Additional latencies due to multi-hop communications  Debugging/Tracing is harder  Need for efficient Request/Session level caching  Increased Security and monitoring challenges  Multiple, often competing standards  Operational  Developer adoption and learning curve  Governance processes  Migration of existing Apps  Updates to existing tools and processes.  Deployment and rollout  Measurement of progress and ROI 14
  • 15.
    Further challenges inlarge scale deployments  Technical  Co-existence of old and new technologies during transition phase  Supporting internal and external clients that have different protocols/data binding needs, for the same service deployment  Integration testing  High availability and Scalability – high volume and low latency  Decomposition of existing apps and migration of legacy services  Operational  Version and dependency management  Time to Market pressures  Need for a strong yet simple governance process  QoS and SLA management 15
  • 16.
    Overview  Service Orientation: Benefits  Different Service styles  Challenges  Case Study : eBay  Recap 16
  • 17.
    Services @eBay  It’sa journey !  History  One of the first to expose APIs /Services  In early 2007, embarked on service orienting our entire ecommerce platform, whether the functionality is internal or external  Support REST style as well as SOA style  Have close to 300 services now and more on the way  Learned a lot from feedback from our customers and operational issues and evolved our technology and strategy over time  Early adopters of SOA governance automation 17
  • 18.
    Services @eBay –Contd.  Technology stack  Mix of highly optimized home grown framework components as well as best of breed commercial and open source components , integrated together – All standards based (WSDL, Http, JAX-WS, JAX-RS ..)  Goals  Organize the enterprise as a set of reusable business functions  Reduce the cost of new features and applications  Encourage and enable new business opportunities
  • 19.
    Addressing the challenges Technical  Policy driven Light weight and high performant Services platform  Model-driven Service decomposition  Support for REST and SOAP style from the get go  Unified Testing framework and service virtualization  Constantly evaluate and iterate over technology..  Operational  Simple and flexible governance processes and life cycle management, iterated over time  Strong operational management and monitoring tools  Developer training and incentives for being a good citizen  Formal process and tools to measure adoption and progress. 19
  • 20.
    Services platform overview Dev/Arch Life cycle/dependency mgmt Design/Dev Develop Services, consumers, Registry/ Eclipse Repository Dev tools Assertions Test tools svc Registry clients services SOA/REST client SOA/REST Server Runtime Framework Framework External routing (ESB) Authentication Authorization RL Monitoring Logging Rest Mapping Admin console Policy service Monitoring console Tier 20
  • 21.
    A word onESB • Decouple of service consumers from service producers: • Routing and transformation • Support QoS • Minimal latency overhead and high scalabilty • Evaluated various products and selected WSO2 ESB • It rocks ! • It processes more than 1B messages per day ! 21
  • 22.
    Service Layers andTaxonomy  Defining a finite set of service layers and their relationships  Goals  Provide a mechanism to build and layer services that have different characteristics  Enable service lifecycle management for services with different scopes of impact  Clearly establish guidelines on what functionality can be implemented in which layers  Define allowed access patterns between layers  Enable better dependency and rollout management 22
  • 23.
    Our specific taxonomy Application Layer Business controlled Intermediate/Core d le tr ol Common/Infrastructure con OK 23 23
  • 24.
    What is Servicegovernance  A set of activities related to exercising control over design, development and life-cycle of Service providers and Service consumers, for consistency manageability and for promoting re-use  Design time  Interface and types design review and approval  Enforcement of consistency guidelines for contract (interface, policies and behavior)  Enforcement of dependency and layering guidelines  Runtime  Deployment policies  Security/caching/monitoring/availability policies  Reconciliation between what it is (runtime) and what it should be (design)  Change management  Dependency and impact analysis  Versioning (both major and minor) of existing services  Making sure existing subscribed clients don’t break. 24
  • 25.
    Governance process -Sample Dev tools Service Registry and Repository Life cycle stages Publish/discover Proposed Approved Tested Deployed Build tools Deployment Notify Notify Notify Notify tools Release tools External External External External governance Governance Governance Governance process process process process 25
  • 26.
    Governance – Ourjourney  We initially had an elaborate governance process  After feedback from developers, we iterated and eliminated this and made it a self service process  Validation and Reporting  Data from this repository is exported to runtime ESB registry and SIF. 26
  • 27.
    Tracking Adoption Ref : Wikipedia  After domain decomposition into services, need to set goals and closely track Adoption – at least until you cross the “chasm”  Formulas for tracking adoption index and ROI  One yardstick – 3 uses of a service is break even, anything more is bonus
  • 28.
     eBay hasbeen a strong supporter of Open Source model and community  Recently created http://eBayOpenSource.org  Mission is to open source some of the best of breed technologies that were developed originally within eBay Inc.  For the benefit of the community  Under a liberal open source license.  These projects are generic technology projects and several years of development effort has gone into them to mature them.  Most parts of our services platform, code named Turmeric, is open sourced on this site. 28
  • 29.
    Recap  Moving toServices model certainly has its benefits, but brings along bigger challenges  Solving the technology part is relatively easy. Operational aspects are more challenging and need to address them from the beginning  Restful Services is where the industry is headed.  Up front design and modeling of your contract/interface, including granularity is very important  Service layering, dependency and version management must be well thought through  Invest upfront on developer training, Testing tools, and some form of governance  eBay has been successfully able to apply this strategy and make progress in our service orientation journey. 29
  • 30.

Editor's Notes

  • #5 Voice over the OSASIS reference model
  • #6 Message Protocol : There need not be any message protocol present (especially when communicating with internal services)
  • #11 Mention few tools here for domain modeling – A UML class diagram - dipicting various entities, their attributes, roles, relationships etc, plus the constraints that govern the integrity of the model
  • #13 They both have their places – They are not mutually exclusive, a combination is always what is used.
  • #19 Open sourced the home grown frameworks, more on that latter.
  • #22 Qos = Throttling, priority-based processing, security, Rate limiting
  • #24 One possible way to depict (slight issue is that it seems to imply that a service is recursively calling itself).
  • #28 Diffusion of innovations theory by Everett Rogers Crossing the chasm by Geoffrey moore ROI formula includes number of reuses, time to develop, cost of development/failure etc.
  • #29 Show the site, if time permits