Policy Based Approach To Runtime Governace


Published on

SOA runtime governance requirements are best specified in a declarative form that describes the metrics the runtime governance system must capture, the constraints the service network must satisfy and the actions that must be taken in order to insure the continued satisfaction of the runtime governance constraints. Such declarative specifications are usually simpler, easier to understand and easier to evolve than more procedural specifications. In this presentation we discuss an approach to SOA runtime governance in which governance requirements are specified as policies.
Policies support the governance of both the technical aspects of the service network and the logical business systems supported by the service network. Specific policies supporting common runtime governance tasks including:
• Performance, availability and security monitoring
• Service virtualization
• Service network reconfiguration
• Service level agreements and contracts
• Security management
• Distributed fault detection, diagnosis and correction
In addition to the specification of particular governance behaviour, a flexible mechanism is required to bind the policies to particular services and transactions supported by the service network. In addition, the biding mechanism must support dynamic reconfiguration of the policy binding in response to changes in the service network’s changing state and evolving configuration.
Finally, the specification of policy can be further simplified by defining policy types which are then specialized for use in specific situations.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Policy Based Approach To Runtime Governace

    1. 1. SOA Runtime Governance A Policy-Based Approach Paul Butterworth Chief Technology Officer AmberPoint, Inc October 2008
    2. 2. Agenda <ul><li>SOA Characterization </li></ul><ul><li>Policy-based Runtime Governance </li></ul><ul><li>Some Examples </li></ul>Based on our experiences with ~200 customers
    3. 3. Typical Service Network Topology firewall Shared Services External Services Order Entry Accounting Partner Internal Services Credit <ul><li>Services not applications </li></ul><ul><li>Shared </li></ul><ul><li>Dynamic </li></ul><ul><li>Federated </li></ul>
    4. 4. Typical Service Network Infrastructure Java Service Mainframe Application Web Service DBMS Biz Application Biz Application Appliance In all but the newest of environments, “SOA” ≠ “Just Web Services & XML” Network Service Bus
    5. 5. Keys to Successful Governance and Management of SOA Applications <ul><li>Continuous SOA Discovery </li></ul><ul><li>Service Management & Security </li></ul>
    6. 6. Keys to Successful Governance and Management of SOA Applications <ul><li>Business System Validation </li></ul><ul><li>Closed Loop Governance </li></ul><ul><li>Continuous SOA Discovery </li></ul><ul><li>Service Management & Security </li></ul><ul><li>Business Transaction Management </li></ul> <ul><li>Business </li></ul><ul><li>Architects & Development </li></ul><ul><li>Operations </li></ul>
    7. 7. SOA Runtime Governance and Life Cycle SOA Runtime Governance automates real-time visibility and control at each stage of the SOA lifecycle Development Staging Production IDE’s Process Tools Business Logic Discovery Policies <ul><li>Performance </li></ul><ul><li>Availability </li></ul>Performance <ul><li>Automatically enforce governance </li></ul><ul><li>Security </li></ul><ul><li>Logging </li></ul>Diagnostics Validation Capacity Planning Service Levels Discovery <ul><li>Automatically discover rogue services </li></ul>More Policies <ul><li>Performance </li></ul><ul><li>Availability </li></ul><ul><li>SLAs </li></ul><ul><li>Security </li></ul><ul><li>Logging </li></ul><ul><li>Audit </li></ul>
    8. 8. Agenda <ul><li>SOA Characterization </li></ul><ul><li>Policy-based Runtime Governance </li></ul><ul><li>Some Examples </li></ul>
    9. 9. Governance Constraints as Policy <ul><li>Declarative specification of system characteristics as “Policies” </li></ul><ul><ul><li>Configurations </li></ul></ul><ul><ul><li>Constraints </li></ul></ul><ul><ul><li>Desired states </li></ul></ul><ul><li>Specify what must be accomplished as opposed to “how” </li></ul><ul><ul><li>What are my service levels not how to measure them </li></ul></ul><ul><ul><li>What are my faults not how to detect them </li></ul></ul><ul><ul><li>What level of security do I require </li></ul></ul>
    10. 10. Policy Benefits in Runtime Governance <ul><li>Improve Productivity and Increase Accuracy </li></ul><ul><ul><li>Simpler constraint specification </li></ul></ul><ul><ul><li>Easier to understand </li></ul></ul><ul><ul><li>Easier to change </li></ul></ul><ul><li>Eliminate Policy Obsolescence </li></ul><ul><ul><li>Decouple policy description from policy enforcement </li></ul></ul><ul><ul><li>Remap and reassign policies as environment evolves </li></ul></ul><ul><ul><ul><li>New intermediaries and system architecture </li></ul></ul></ul><ul><ul><ul><li>New phase of lifecycle – testing vs. production </li></ul></ul></ul><ul><ul><ul><li>Different department / division – architectural choices </li></ul></ul></ul><ul><li>Leverage intrinsic and increasing SOA capabilities of various “intermediaries” whenever possible </li></ul><ul><ul><li>Platforms – Indigo, WebSpeher, WebLogic, NetWeaver, IONA, etc. </li></ul></ul><ul><ul><li>ESBs – AquaLogic, WebSphere ESB, SAP XI </li></ul></ul><ul><ul><li>XML-aware Appliances – Cisco AON, Forum, Datapower, Reactivity, etc. </li></ul></ul>
    11. 11. Policy-based Runtime Governance Architecture data Collected Data Runtime Policy & Analysis Engine policies data PEP Load Balancing data Exception Management begin end <ul><li>Developer </li></ul><ul><li>Feedback on runtime errors </li></ul><ul><li>Systems Operations </li></ul><ul><li>Ensure reliability </li></ul><ul><li>Business Operations </li></ul><ul><li>Track our contracted service levels </li></ul><ul><li>Security Officer </li></ul><ul><li>Enforce authentication </li></ul>Runtime Governance Service Network Policy Requests Simple Policies Complex Policies <ul><li>Instrumentation </li></ul><ul><li>Failover </li></ul><ul><li>Load balancing </li></ul><ul><li>Content-based routing </li></ul><ul><li>Transformations </li></ul><ul><li>Encryption </li></ul><ul><li>Security checks </li></ul><ul><li>Service level agreements </li></ul><ul><li>Exception handling </li></ul><ul><li>Advanced security </li></ul><ul><li>Validation </li></ul>Runtime Policy Execution Point (PEP) Runtime Policy S1 S3 S2 S4 S1 S2 service contract Enterprise Service Bus
    12. 12. Binding Policy to SOA <ul><ul><li>All production services </li></ul></ul><ul><ul><li>All orders > $10,000 </li></ul></ul><ul><ul><li>All services in Accounting application </li></ul></ul><ul><ul><li>All services deployed in WebLogic containers </li></ul></ul>s1 s5 s4 s2 s6 s3 where “ Accounting” Security Encryption all services One-at-a-Time Approach where deployed on .NET app servers Logging Dynamic Approach s1 p1 s2 s3 s100 p1 p1 p50 100 svcs x 50 policies 5,000 policy points Load-Bal Weighted <ul><ul><li>Apply p1 to s1 </li></ul></ul><ul><ul><li>Apply p2 to s2 </li></ul></ul><ul><ul><li>Apply p1 to s2 </li></ul></ul><ul><ul><li>… .. </li></ul></ul>
    13. 13. Detailed Metadata of Your SOA Environment <ul><li>Operational Info: </li></ul><ul><ul><li>When service was discovered </li></ul></ul><ul><ul><li>Availability </li></ul></ul><ul><ul><li>Type of service </li></ul></ul><ul><ul><li>Type of container </li></ul></ul><ul><ul><li>Link to WSDL </li></ul></ul><ul><li>Business Info: </li></ul><ul><ul><li>Business owner </li></ul></ul><ul><ul><li>Division </li></ul></ul><ul><ul><li>Version </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>Custom: </li></ul><ul><ul><li>Chargeback info </li></ul></ul><ul><ul><li>Risk assessment </li></ul></ul><ul><ul><li>Links to URL’s </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>Operational Info Business Info
    14. 14. Capability-based Delegation of Runtime Policies AmberPoint Dependencies Policy Runtime Governance Security AuthN Monitoring Load-Bal Round-Robin Logging <ul><li>Gathers existing application knowledge and policies </li></ul><ul><li>Assigns policies based on capabilities </li></ul><ul><li>Translates runtime policy into platform-specific interfaces </li></ul><ul><li>Monitors execution </li></ul><ul><li>Agents to round out capabilities and for other components </li></ul>Runtime Repository Network
    15. 15. Agenda <ul><li>SOA Characterization </li></ul><ul><li>Policy-based Runtime Governance </li></ul><ul><li>Some Examples </li></ul>
    16. 16. Universal Policy Library Consistent enforcement regardless of SOA infrastructure <ul><li>Library of commonly used runtime policies </li></ul><ul><li>Based on standards </li></ul><ul><ul><li>WS-Policy </li></ul></ul><ul><ul><li>WS-SecurityPolicy </li></ul></ul><ul><ul><li>WS-PolicyAttachment </li></ul></ul><ul><li>User-extensible </li></ul><ul><li>Leverage the metadata </li></ul><ul><ul><li>“ Apply Encryption to All Services where Application_group = ‘Accounting’” </li></ul></ul><ul><li>Synchronize with other governance processes </li></ul><ul><li>Instrumentation </li></ul><ul><li>Content-based Policies </li></ul><ul><li>Versioning </li></ul><ul><li>Authentication – certificates, credentials, SAML, etc </li></ul><ul><li>Authorization </li></ul><ul><li>Censorship </li></ul><ul><li>Credential Mapping </li></ul><ul><li>Crypto – Signatures & Encryption </li></ul><ul><li>Throttling </li></ul><ul><li>Failover </li></ul><ul><li>Load Balancing </li></ul><ul><li>Quality of Service </li></ul><ul><ul><li>Performance </li></ul></ul><ul><ul><li>Availability </li></ul></ul><ul><ul><li>Throughput </li></ul></ul><ul><li>Service Level Agreements </li></ul><ul><li>Exception Handling </li></ul><ul><li>Validation </li></ul>
    17. 17. Service Virtualization <ul><li>Abstracts service changes and versions behind a published ‘façade’ (a ‘virtual’ service) </li></ul><ul><li>Enables endpoint routing, load-balancing, failover, transformations etc. </li></ul><ul><li>Sees simpler interface </li></ul><ul><li>Service changes don’t show through. </li></ul>Before After Virtual Svc (PEP) <ul><li>Load balance </li></ul><ul><li>Route </li></ul><ul><li>Transform </li></ul><ul><li>Version </li></ul>Service B OrderLookup ChangeDate ChangeQty ScheduleShip ChangePrior LookupETA Service B OrderLookup ChangeDate ChangeQty ScheduleShip ChangePrior LookupETA Service A Service A
    18. 18. Service Level Management <ul><li>Real-time visibility into service network performance and availability </li></ul><ul><li>Segmentation and prioritization based on business criteria </li></ul><ul><li>Trigger preventative and corrective actions </li></ul><ul><ul><li>Redirect traffic </li></ul></ul><ul><ul><li>Make less critical requests wait </li></ul></ul><ul><li>Reporting </li></ul><ul><ul><li>Compliance </li></ul></ul><ul><ul><li>Historical trends for capacity planning </li></ul></ul>Process Engine Service Bus
    19. 19. Transaction Management <ul><li>Visibility into technical and application-level errors </li></ul><ul><ul><li>“ rejected”, “unknown”, “Error code: UUUEX32AF”, SOAP faults, no response, transport-level errors </li></ul></ul><ul><li>Monitoring of business-level anomalies </li></ul><ul><ul><li>International travel ticket with price < $100 </li></ul></ul><ul><li>IT & Business Operations Non-Compliance </li></ul><ul><ul><li>Order completed and shipped, but never invoiced </li></ul></ul><ul><ul><li>Regulatory non-compliance (Privacy Act, HIPAA conditions etc. ) </li></ul></ul>
    20. 20. SOA Security Integrate with Existing Security Solutions <ul><li>XML Signatures/Validation </li></ul><ul><li>Apply to parts of message, across multiple hops </li></ul><ul><li>Transport, language & vendor independent </li></ul><ul><li>Last-Mile Security for Distributed SOA </li></ul><ul><li>Local intermediaries enforce security for each end-point </li></ul><ul><li>Manage security events & exceptions across distributed environments </li></ul><ul><li>XML Encryption/Decryption </li></ul><ul><li>Apply to parts of message, across multiple hops </li></ul><ul><li>Independent of transport, language or vendor </li></ul><ul><li><?xml version='1.0'?> </li></ul><ul><li><PaymentInfo xmlns='http://example.org/paymentv2'> </li></ul><ul><li><Name>John Smith</Name> </li></ul><ul><li><EncryptedData </li></ul><ul><ul><li>Type='http://www.w3.org/2001/04/xmlenc#Element' xmlns='http://www.w3.org/2001/04/xmlenc#'> </li></ul></ul><ul><ul><li><CipherData> </li></ul></ul><ul><ul><ul><li><CipherValue>A23B45C56</CipherValue> </li></ul></ul></ul><ul><ul><li></CipherData> </li></ul></ul><ul><li></EncryptedData> </li></ul><ul><li></PaymentInfo> </li></ul>Process Engine Service Bus <ul><li><Name> </li></ul><ul><li><Encrypted </li></ul><ul><ul><li>Type='http </li></ul></ul><ul><ul><li><CipherDa </li></ul></ul><ul><ul><ul><li><Cipher </li></ul></ul></ul><ul><ul><li></Ciphe </li></ul></ul>
    21. 21. Client Provisioning switch data Reduces costs by eliminating coding. service contract AmberPoint Registry Policy Manager Data Collection Management Svcs policies <ul><li>Provisions client with service contract requirements </li></ul><ul><ul><li>Looks up service endpoint and caches it for higher performance </li></ul></ul><ul><ul><li>Provisions required security policies </li></ul></ul><ul><ul><li>Automatically process request and response to match policy requirements </li></ul></ul><ul><ul><ul><li>Insertion of security info, acquire security tokens, etc. </li></ul></ul></ul><ul><li>Collects client-side service level metrics </li></ul><ul><ul><li>Provides visibility into “first mile” SLA metrics </li></ul></ul><ul><ul><li>Local logging of interactions, if requested </li></ul></ul>policies data
    22. 22. Business System Validation Development Staging Production Process Engine Service Bus The “Preflight Check” for SOA Systems <ul><li>Acceptance testing of pending changes to SOA environment </li></ul><ul><ul><li>New Versions of Services </li></ul></ul><ul><ul><li>Policy Changes </li></ul></ul><ul><ul><li>Bug Fixes </li></ul></ul><ul><ul><li>Infrastructure Patches, etc. </li></ul></ul><ul><li>Uses knowledge of dependencies and observed interactions </li></ul><ul><li>Simulates services that can’t be replicated in pre-production environments </li></ul><ul><ul><li>External services </li></ul></ul><ul><ul><li>Fee-based services </li></ul></ul><ul><li>Gives Staging and Operations a final check before deploying changes </li></ul> : Security Policies Functioning Unexpected Deviation for B2B Partner Usage  : WS-I Compliant  : Capacity Adequate Validation Checklist
    23. 23. Q&A Paul Butterworth [email_address] www.amberpoint.com 510.663.6300