SlideShare uma empresa Scribd logo
1 de 23
Cloud Provisioning
Building an efficient System in the Cloud




Michael “MiZu” Zunke
CTO SRM, Safenet
Agenda


What is the thing to move to the cloud?
Cloud – What‘s different?
  – Design Criteria
Our Framework
Details
Recap: Lessons learnt
Software Monetization – Classic Product
                    On-Premise

            Copy Protection


            Products

            Orders / Entitlement /
            Production / Activation

            Licensing


            Tracking


            Reporting


            End-User Admin
Parallels
                    On-Premise                Cloud

            Copy Protection           Authentication


            Products                  Service Catalog

            Orders / Entitlement /    Provisioning, Contract,
            Production / Activation   & Entitlements

            Licensing                 Authorization

                                      Usage Tracking &
            Tracking
                                      Billing Mediation

            Reporting                 Monitoring & Reporting

                                      End-User Monitoring
            End-User Admin
                                      & Management
Some background
The CAP Theorem




                    Consistency




                              Partitioning
         Availability
                              Tolerance
Eventually Consistent


“Real internet systems are a careful mixture of
Consistency and Availability subsystems”

- Dr. Eric Brewer
Professor, UC Berkley, Co- founder Inktomi




                   “Eventually Consistent - Building reliable
          distributed systems at a worldwide scale demands
             trade-offs between consistency and availability”

                                 - Werner Vogels, CTO Amazon.com
Checking Cloud Compatibility
License Models / Authorization


• Category 1
  • Quasi stateless / autonomous   - harmless
     • Perpetual
     • Expiry date

• Category 2
  • Asynchronous                   - mostly harmless
     • Post paid

• Category 3
  • Synchronous                    - strict consistency!!
     • Max Concurrent Use
     • Depleating
Conclusions for our Problem Domain


Some Classic License Models do not SCALE
 - Problem: require a globally limited Resource
 - This inherently requires STRICT CONSISTENCY!


Classic case for „we always did it like this“ meets
  cloud.
Going cloud is not only a technical challenge!
It can require change in offering because of
   technology
So what did we do?


Work with business owner to find the right solution


Apply what we learnt before – explore how weak
  consistency can help.
Converting…


 Map to Eventually Consistent Approach

No sharp Cut-Off in distributed license resource data!

• Eventually consistent means no strict limits can get
  guaranteed. Some ‘over usage’ might happen.

• In case strict limits are required, you will have to accept
  slower response times and greater impact on disconnects.
  Strict consistency leads to reduced QoS for the end-user.
Paradigms of our Cloud Architecture



No Delay!

 speed, bandwidth & reaction time of service must not suffer just
 because the service is licensed/tracked.
Effects of “slowness”
 Amazon:   100 ms delay caused a 1% drop in revenue.
 Google:   400 ms delay caused a 0.59% decrease in search requests per user.
 Yahoo!:   400 ms delay caused a 5-9% decrease in traffic.
 see e.g. http://goo.gl/ADQuR




       Autonomous nodes - Local intelligent
                   caching!
Paradigms of our Cloud Architecture




Scale with the customer!
No additional infrastructure because of licensing system.




                 Stateless modules
              Plug into each platform!
Sentinel™ Cloud Services in action
Sentinel™ Cloud Services in action
Sentinel™ Cloud Services in action
Sentinel™ Cloud Services in action
Sentinel™ Cloud Services in action
Sentinel™ Cloud Services in action
in Detail
                    Client Node



- Feature X, TTLx                         - Login Event
- Feature Y, TTLy                         - Logout Event
                                          Authenticate
      AuthMap                                   Session




                                                     Directory
    EMS                       SCC                    Service



                            Data Engine

                Provision
                Contract

                                Data
                                Store
                                  Data
                                  Store

                                                          Amazon EC2
Key Take Aways


Distributed systems require different thinking
 • Connections are not granted
 • Autonomous components help
Moving to the cloud might have impact on what you
 can deliver
 • Your cloud offering might have to be different from the classic
 • Work with your business owner to get this straight early
Existing Customers might need to be educated
 • Customer expectations are driven by what they know
 • You might have to lead them thru the same process
Questions?




             http://sentinelcloud.com
References


CAP Theorem
  http://goo.gl/37dms - Nice intro from Julian Browne
Eventually consistent
  http://goo.gl/yTCpW - Good starting point for consistency
  considerations. Blogpost from W. Vogels, CTO Amazon
Google’s timing experiments / WPO
  http://goo.gl/ADQuR
Cloud Provisioning
Building an efficient System in the Cloud




Michael “MiZu” Zunke
CTO SRM, Safenet

Mais conteúdo relacionado

Mais de JAX London

It's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick DeboisIt's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick DeboisJAX London
 
Locks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerLocks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerJAX London
 
Worse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyJAX London
 
Java performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha GeeJava performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha GeeJAX London
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John StevensonJAX London
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfJAX London
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter HiltonJAX London
 
Complexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundComplexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundJAX London
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberJAX London
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerJAX London
 
NoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundNoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundJAX London
 
Closures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel WinderClosures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel WinderJAX London
 
Java and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk PepperdineJava and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk PepperdineJAX London
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsJAX London
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonJAX London
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaJAX London
 
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerThe Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerJAX London
 
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...JAX London
 
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenNo Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenJAX London
 
Size does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe FriedrichsenSize does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe FriedrichsenJAX London
 

Mais de JAX London (20)

It's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick DeboisIt's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick Debois
 
Locks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerLocks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael Barker
 
Worse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin Henney
 
Java performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha GeeJava performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha Gee
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John Stevenson
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter Hilton
 
Complexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundComplexity theory and software development : Tim Berglund
Complexity theory and software development : Tim Berglund
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave Gruber
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko Seeburger
 
NoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundNoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim Berglund
 
Closures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel WinderClosures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel Winder
 
Java and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk PepperdineJava and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk Pepperdine
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdams
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian Robinson
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun Gupta
 
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerThe Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
 
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
 
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenNo Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
 
Size does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe FriedrichsenSize does matter - Patterns for high scalability: Uwe Friedrichsen
Size does matter - Patterns for high scalability: Uwe Friedrichsen
 

Cloud Provisioning: Building an efficient system in the Cloud - Michael Zunke

  • 1. Cloud Provisioning Building an efficient System in the Cloud Michael “MiZu” Zunke CTO SRM, Safenet
  • 2. Agenda What is the thing to move to the cloud? Cloud – What‘s different? – Design Criteria Our Framework Details Recap: Lessons learnt
  • 3. Software Monetization – Classic Product On-Premise Copy Protection Products Orders / Entitlement / Production / Activation Licensing Tracking Reporting End-User Admin
  • 4. Parallels On-Premise Cloud Copy Protection Authentication Products Service Catalog Orders / Entitlement / Provisioning, Contract, Production / Activation & Entitlements Licensing Authorization Usage Tracking & Tracking Billing Mediation Reporting Monitoring & Reporting End-User Monitoring End-User Admin & Management
  • 5. Some background The CAP Theorem Consistency Partitioning Availability Tolerance
  • 6. Eventually Consistent “Real internet systems are a careful mixture of Consistency and Availability subsystems” - Dr. Eric Brewer Professor, UC Berkley, Co- founder Inktomi “Eventually Consistent - Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability” - Werner Vogels, CTO Amazon.com
  • 7. Checking Cloud Compatibility License Models / Authorization • Category 1 • Quasi stateless / autonomous - harmless • Perpetual • Expiry date • Category 2 • Asynchronous - mostly harmless • Post paid • Category 3 • Synchronous - strict consistency!! • Max Concurrent Use • Depleating
  • 8. Conclusions for our Problem Domain Some Classic License Models do not SCALE - Problem: require a globally limited Resource - This inherently requires STRICT CONSISTENCY! Classic case for „we always did it like this“ meets cloud. Going cloud is not only a technical challenge! It can require change in offering because of technology
  • 9. So what did we do? Work with business owner to find the right solution Apply what we learnt before – explore how weak consistency can help.
  • 10. Converting… Map to Eventually Consistent Approach No sharp Cut-Off in distributed license resource data! • Eventually consistent means no strict limits can get guaranteed. Some ‘over usage’ might happen. • In case strict limits are required, you will have to accept slower response times and greater impact on disconnects. Strict consistency leads to reduced QoS for the end-user.
  • 11. Paradigms of our Cloud Architecture No Delay! speed, bandwidth & reaction time of service must not suffer just because the service is licensed/tracked. Effects of “slowness” Amazon: 100 ms delay caused a 1% drop in revenue. Google: 400 ms delay caused a 0.59% decrease in search requests per user. Yahoo!: 400 ms delay caused a 5-9% decrease in traffic. see e.g. http://goo.gl/ADQuR Autonomous nodes - Local intelligent caching!
  • 12. Paradigms of our Cloud Architecture Scale with the customer! No additional infrastructure because of licensing system. Stateless modules Plug into each platform!
  • 19. in Detail Client Node - Feature X, TTLx - Login Event - Feature Y, TTLy - Logout Event Authenticate AuthMap Session Directory EMS SCC Service Data Engine Provision Contract Data Store Data Store Amazon EC2
  • 20. Key Take Aways Distributed systems require different thinking • Connections are not granted • Autonomous components help Moving to the cloud might have impact on what you can deliver • Your cloud offering might have to be different from the classic • Work with your business owner to get this straight early Existing Customers might need to be educated • Customer expectations are driven by what they know • You might have to lead them thru the same process
  • 21. Questions? http://sentinelcloud.com
  • 22. References CAP Theorem http://goo.gl/37dms - Nice intro from Julian Browne Eventually consistent http://goo.gl/yTCpW - Good starting point for consistency considerations. Blogpost from W. Vogels, CTO Amazon Google’s timing experiments / WPO http://goo.gl/ADQuR
  • 23. Cloud Provisioning Building an efficient System in the Cloud Michael “MiZu” Zunke CTO SRM, Safenet