Patterns For Moving To The Cloud

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Patterns For Moving To The Cloud - Presentation Transcript

    1. Patterns for Moving to the Cloud Wade Wegner Larry Clarkin Architect Evangelist Architect Evangelist wade.wegner@microsoft.com larry.clarkin@microsoft.com http://www.architectingwith.net/ http://eraserandcrowbar.com/
    2. Moving to the Cloud
    3. Moving to the Cloud You are an IT Architect
    4. Moving to the Cloud Your boss (the CIO) has asked you to “move the company to the cloud”
    5. Moving to the Cloud Heard of cloud computing, and heard of “Azure”, but unsure about a few things
    6. Moving to the Cloud Do I have to move everything to the cloud?
    7. Moving to the Cloud What applications work best in the cloud?
    8. Moving to the Cloud Goal of the next 55 minutes:
    9. Moving to the Cloud Cover some of the differences between on premises, hosted, and the cloud
    10. Moving to the Cloud Look at the popular types of applications that are driving cloud computing
    11. Moving to the Cloud Share a set of patterns that you can take away and apply for your own thinking
    12. Moving to the Cloud Introduce terminology and a way of visually diagramming these patterns for cloud computing
    13. Which Applications should I move to the Cloud?
    14. Which Applications should I move to the Cloud? Less about the style of an application, more about where an application “lives”
    15. Which Applications should I move to the Cloud? On-premises, hosted, and cloud
    16. Which Applications should I move to the Cloud?
    17. Which Applications should I move to the Cloud? Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. [National Institute of Standards and Technology] http://news.cnet.com/8301-19413_3-10237274-240.html
    18. Which Applications should I move to the Cloud?
    19. Which Applications should I move to the Cloud?
    20. Which Applications should I move to the Cloud? “CRM and Email are commodity services. We have few customizations, and it should be cheaper for someone else to run these.”
    21. Which Applications should I move to the Cloud? “How difficult is it to move these to a software as a service model?” “This is a viral marketing website. It has a small chance of being really big, but we’re not sure!”
    22. Which Applications should I move to the Cloud? “This application runs at full case it is successful, we’re In interested to see if the cloud capacity for short periods of time at the end of each would help us scale better.” month.”
    23. Which Applications should I move to the Cloud? “MRI images are very large and exponentially growing. Is the cloud help us in “Can providing compute power on there a better way of storing these?” an as needed basis?”
    24. Which Applications should I move to the Cloud? “We need to share results from our H1N1 trials with government entities.” “Does the cloud give me the storage I’m after?”
    25. Which Applications should I move to the Cloud? “I can’t afford to maintain this old HR application written in VB – it’s driving me mad!” “…but due to regulatory “Does the cloud providemy data issues, I can’t store off premise.” anything for inter-organization communication?”
    26. Which Applications should I move to the Cloud? “A good solution could be to find a suitable packaged application here.”
    27. Which Applications should I move to the Cloud? We see a shift to the “right”, but what patterns emerge here?
    28. Which Applications should I move to the Cloud? Pattern 1: Transference
    29. Which Applications should I move to the Cloud? Taking an existing on-premises application and moving it to the cloud
    30. Which Applications should I move to the Cloud?
    31. Which Applications should I move to the Cloud? Drivers? Economic, Consolidation, Prototyping
    32. Which Applications should I move to the Cloud? Pattern 2: Scale and Multi-Tenancy
    33. Which Applications should I move to the Cloud? Creating an application that has the ability to handle web load without requiring the full capital investment from day one
    34. Which Applications should I move to the Cloud?
    35. Which Applications should I move to the Cloud? Drivers? Prototyping, Risk Mitigation
    36. Which Applications should I move to the Cloud? Pattern 3: Burst Compute
    37. Which Applications should I move to the Cloud? Creating an application that has the ability to handle additional compute on an as-needed basis
    38. Which Applications should I move to the Cloud?
    39. Which Applications should I move to the Cloud? Drivers? Economic (avoiding over capacity)
    40. Which Applications should I move to the Cloud? Pattern 4: Elastic Storage
    41. Which Applications should I move to the Cloud? Creating an application that has the ability to grow exponentially from a storage perspective
    42. Which Applications should I move to the Cloud?
    43. Which Applications should I move to the Cloud? Drivers? Economic (avoiding over capacity), Management
    44. Which Applications should I move to the Cloud? Pattern 5: Inter-Org Communications
    45. Which Applications should I move to the Cloud? Creating an application that has the ability to communicate between organizations using a pre-defined infrastructure
    46. Which Applications should I move to the Cloud?
    47. Which Applications should I move to the Cloud? Drivers? Infrastructure Management
    48. Which Applications should I move to the Cloud? What do we need to start to dig deeper into some of the patterns?
    49. Which Applications should I move to the Cloud? First need to cover some building blocks
    50. Building Blocks
    51. Building Blocks
    52. Building Blocks Physical, Dedicated Single service on dedicated hardware Physical, Shared Multiple services sharing same hardware Virtual, Single Single instance virtual image Virtual, Scalable Virtual “fabric” for applications Infrastructure
    53. Building Blocks Infrastructure
    54. Building Blocks Infrastructure Services Infrastructure
    55. Building Blocks File Flat file, page-based (e.g. HTML/ASPX), server affinity Relational Relational database, transactional, finite Infrastructure Services Blob Storage for large data items, typically media files, no server affinity Infrastructure Table Storage for structured entities, scalable data
    56. Building Blocks Infrastructure Services Infrastructure
    57. Building Blocks Async Queue or Bus Asynchronous, reliable messaging, publish/subscribe model Infrastructure Services Peer to Peer Node registration, directory, presence awareness Infrastructure
    58. Building Blocks Infrastructure Services Infrastructure
    59. Building Blocks Authentication Username / Password or Claims based Role Based Authorization Infrastructure Services Role-checking and Authorization Infrastructure
    60. Building Blocks Infrastructure Services Infrastructure
    61. Building Blocks Event Based Triggered based on events (e.g. document upload) Infrastructure Services Worker Based Persistent workflow, always active (e.g. monitoring service) Infrastructure
    62. Building Blocks Infrastructure Services Infrastructure
    63. Building Blocks Application Infrastructure Services Infrastructure
    64. Building Blocks Application Presentation Web Role Infrastructure Services Business Logic Worker Role Infrastructure
    65. Building Blocks Application Infrastructure Services Infrastructure
    66. Building Blocks Static Static content, HTML etc Application Dynamic Dynamic created pages, ASPX, PHP, etc. Client interaction through AJAX, JavaScript Infrastructure Services Rich Internet Application High visual interaction through browser plug in, some offline support Infrastructure Streaming Optimized for content delivery, videos etc.
    67. Building Blocks Application Infrastructure Services Infrastructure
    68. Building Blocks RSS Syndication services for subscriptions REST CRUD access to services using HTTP constructs Web Services Application SOAP based, WS-I compliant, WS-* VoiceXML Mobile Application Speech API Infrastructure Services SIP Session Initiation Protocol – IM Clients Infrastructure SMTP Email inbound and outbound delivery SMS Mobile inbound and outbound text messaging
    69. Building Blocks Application Infrastructure Services Infrastructure
    70. Building Blocks Client Software Application Infrastructure Services Infrastructure
    71. Building Blocks Browser Consumer of web based content, HTML etc., including RIA plug in Client Software Office Office Suite, including Email and RSS reader Application capability Client Application Rich (Smart) client applications installed locally on machine Infrastructure Services Gadgets Locally installed, desktop based Infrastructure Instant Messaging Locally installed Instant Messaging client
    72. Building Blocks Client Software Application Infrastructure Services Infrastructure
    73. Building Blocks Speech Speech enabled interface Client Software SMS / IM Application Text messaging and IM using Mobile Device Browser Consumer of web based content, HTML etc., including RIA plug in Infrastructure Services Office Office Suite, including Email and RSS reader Infrastructure capability Client Application Rich (Smart) client applications installed locally on machine
    74. Building Blocks Client Software Application Infrastructure Services Infrastructure
    75. Building Blocks Client Software Application Devices Dedicated devices Infrastructure Services Consoles Games Consoles Infrastructure
    76. Building Blocks Client Software Application Infrastructure Services Infrastructure
    77. Building Blocks Err… Didn’t you just build a marketing diagram? :-)
    78. Building Blocks Use these blocks to explore the detail of the five patterns
    79. Patterns for Moving to the Cloud Pattern 1: Transference
    80. Exchange Lifecycle – Exchange 4.0 and Office 97 Client Software Application RPC JET Database Infrastructure Services Infrastructure
    81. Exchange Lifecycle – Exchange 5.0 and Office 97 Client Software Application JET Database Infrastructure Services Active Directory for Account Storage Infrastructure
    82. Exchange Lifecycle – Exchange 5.0 SP1 and Office XP Client Software Application Support for Outlook Web Access Infrastructure Services Infrastructure
    83. Exchange Lifecycle – Exchange 2003 and Office 2003 Client Software Support for RPC over HTTPS Application Infrastructure Services Infrastructure
    84. Exchange Lifecycle – Exchange 2007 and Office 2007 Client Software Application Support for Speech and Mobile Infrastructure Services Infrastructure
    85. Patterns for Moving to the Cloud Moving Exchange to Hoster/Cloud
    86. Exchange Lifecycle – Exchange 2007 and Office 2007 Client Software Application Infrastructure Services Infrastructure
    87. Exchange Lifecycle – Exchange 2007 and Office 2007 Client Software Application Infrastructure Services Infrastructure Same pattern applies, different provider
    88. Patterns for Moving to the Cloud Hang on! That looked too simple!
    89. Exchange Lifecycle – Exchange 2007 and Office 2007 Client Software Application Infrastructure Services Infrastructure Made assumption that Identity Provider moved to the cloud also
    90. Patterns for Moving to the Cloud How do we solve this?
    91. Exchange Lifecycle – Exchange 2007 and Office 2007 Client Software Application Infrastructure Services Infrastructure We could use replication, but difficult to manage
    92. Patterns for Moving to the Cloud Serve you License Jane Doe License ID DMV State Bartender Jane Doe License Turn you ID away Underage Underage Need a system similar to your drivers license!
    93. Exchange Lifecycle – Exchange 2007 and Office 2007 Client Software Application Infrastructure Services Infrastructure Local AD STS (Secure Token Service)
    94. Exchange Lifecycle – Exchange 2007 and Office 2007 Client Software Application Infrastructure Services Bartender Infrastructure State DMV Local AD STS (Secure Token Service)
    95. Exchange Lifecycle – Exchange 2007 and Office 2007 Errr… Don’t have one Client Software Application Where’s your drivers license? Infrastructure Services Go get one and come back Infrastructure Local AD STS (Secure Token Service)
    96. Exchange Lifecycle – Exchange 2007 and Office 2007 Can I have a license(token) Client Software please? Here: joe@pharama.com Application Pwd: 123 Where’s your ID? Infrastructure Services Hang on Here’s your badge (token) Infrastructure Yeah, he’s good This guy ok? Local AD STS (Secure Token Service)
    97. Exchange Lifecycle – Exchange 2007 and Office 2007 Here you are Client Software Application Where’s your license(token)? Infrastructure Services Looks good – come on in! Infrastructure Local AD STS (Secure Token Service)
    98. Patterns for Moving to the Cloud Why is this important for cloud computing?
    99. Patterns for Moving to the Cloud Disgruntled ex-employees!
    100. Exchange Lifecycle – Exchange 2007 and Office 2007 Errr… Don’t have one Client Software Application Where’s your license(token)? Infrastructure Services Go get one and come back Infrastructure Local AD STS (Secure Token Service)
    101. Exchange Lifecycle – Exchange 2007 and Office 2007 Can I have a license (token) Client Software please? Here: joe@pharama.com Application Pwd: 123 Where’s your birth certificate? Infrastructure Services Hang on No cigar for you! Infrastructure We fired him an No way! hour ago! This guy ok? Local AD STS (Secure Token Service)
    102. Patterns for Moving to the Cloud Takeaways from Pattern #1
    103. Patterns for Moving to the Cloud Transference is about moving on premises applications to the cloud
    104. Patterns for Moving to the Cloud Largely the on-premise application goes across as is
    105. Patterns for Moving to the Cloud Need to watch out for customizations that the hoster/cloud does not support
    106. Patterns for Moving to the Cloud Relies on claims based identity (unless you are going to manage multiple identity stores)
    107. Patterns for Moving to the Cloud Pattern 2: Scale and Multi-Tenancy
    108. “Viral” Web Site, Hosted On Premises Client Software Application Infrastructure Services We are only getting a few users per month – let’s put it on this machine with these other applications Infrastructure Things seem to be picking up (and the users of the other applications are complaining)
    109. “Viral” Web Site, Hosted On Premises Client Software Application Infrastructure Services Infrastructure Let’s move it to a dedicated box instead
    110. “Viral” Web Site, Hosted On Premises Client Software Application Infrastructure Services Wow, things are really taking off! Infrastructure Can we borrow that machine over there? And that load balancer?
    111. “Viral” Web Site, Hosted by Hoster Client Software Application Infrastructure Services This is beyond our Infrastructure operations control – let’s move to a hoster instead
    112. “Viral” Web Site, Hosted by Hoster Client Software Application Infrastructure Services More users, more Infrastructure machines, more service packs/patches
    113. Patterns for Moving to the Cloud Opposite pattern here is predicting the growth of the web site
    114. Patterns for Moving to the Cloud What does this look like in the cloud?
    115. “Viral” Web Site – Hosted using Azure Client Software Application Only a few users per month? Let’s start off with 1 x instance, we’ll pay as we go Infrastructure Services Infrastructure
    116. “Viral” Web Site – Hosted using Azure Client Software Application This is starting to take off… Let’s increase to 2 x instances Infrastructure Services Infrastructure
    117. Patterns for Moving to the Cloud <?xml version=\"1.0\"?> <ServiceConfiguration serviceName=\"Web\" xmlns=\"http://schemas.microsoft.com/Servic eHosting/2008/10/ServiceConfiguration\"> <Role name=\"WebRole\"> <Instances count=“2” /> <ConfigurationSettings> <Setting name=\"AccountName\" value=\"primesolvrstorage\"/> </ConfigurationSettings> </Role> </ServiceConfiguration>
    118. “Viral” Web Site – Hosted using Azure Client Software Application This is starting to take off… Let’s increase to 5 x instances Infrastructure Services Infrastructure
    119. Patterns for Moving to the Cloud <?xml version=\"1.0\"?> <ServiceConfiguration serviceName=\"Web\" xmlns=\"http://schemas.microsoft.com/Servic eHosting/2008/10/ServiceConfiguration\"> <Role name=\"WebRole\"> <Instances count=“5” /> <ConfigurationSettings> <Setting name=\"AccountName\" value=\"primesolvrstorage\"/> </ConfigurationSettings> </Role> </ServiceConfiguration>
    120. “Viral” Web Site – Hosted using Azure Client Software Actually, we were wrong – this Application isn’t going to make us millionaires Let’s turn it off! Infrastructure Services Infrastructure
    121. Patterns for Moving to the Cloud Takeaways from Pattern #2
    122. Patterns for Moving to the Cloud The cloud is not only for mega-scale applications
    123. Patterns for Moving to the Cloud Architecture lets you start very small, yet expand when needed
    124. Patterns for Moving to the Cloud Not all of those great ideas are going to work out!
    125. Patterns for Moving to the Cloud Pattern 3: Burst Compute
    126. Configuring a Worker Role using Azure Client Software Application Let’s create 5 x worker roles Infrastructure Services Infrastructure
    127. Configuring a Worker Role using Azure Client Software Cannot (and should not) Application consume worker roles directly Infrastructure Services Infrastructure
    128. Configuring a Worker Role using Azure Client Software Application Need to expose through presentation (web role) Infrastructure Services Infrastructure
    129. Configuring a Worker Role using Azure Client Software How do you pass data from the presentation (web role) to the business logic (worker role) to Application process? Infrastructure Services Infrastructure
    130. PrimeSolvr Implementation DEMO
    131. PrimeSolvr Application Client Software User passes a number to be Application checked if prime Infrastructure Services Infrastructure
    132. PrimeSolvr Application Client Software User passes a number to be Application checked if prime Infrastructure Services Infrastructure
    133. PrimeSolvr Application Client Software Application Infrastructure Services Infrastructure The data is stored in a table
    134. PrimeSolvr Application Client Software Application Infrastructure Services Infrastructure A “pointer” to the data is placed on the queue
    135. PrimeSolvr Application Client Software Application Picks up the job and processes Infrastructure Services The worker role is configured to monitor the queue Infrastructure
    136. PrimeSolvr Application Client Software The presentation reads the table Application (and displays) on the next client request Infrastructure Services The result is placed within a Infrastructure table
    137. Patterns for Moving to the Cloud Sure, but how does this scale again?
    138. PrimeSolvr Application Client Software Application Multiple instances – scale to the pipeline of incoming requests Infrastructure Services Multiple instances – scale to the number of Web users Infrastructure
    139. • Show config here
    140. • Show config here
    141. Patterns for Moving to the Cloud Try it out now! http://primesolvr.cloudapp.net/ Or for the Java client: http://www.primesolvr.net/
    142. Patterns for Moving to the Cloud Takeaways from Pattern #3
    143. Patterns for Moving to the Cloud Anti pattern to expose worker role (business logic) directly
    144. Patterns for Moving to the Cloud Passing data to worker role? Store in blob or table and pass pointer in queue
    145. Patterns for Moving to the Cloud Returning result to web role? Store in blob or table, wait for web to refresh
    146. Patterns for Moving to the Cloud Pattern 4: Elastic Storage
    147. Patterns for Moving to the Cloud Storage for the last few decades
    148. File Storage over the Decades Client Software Application Direct through RPC, NFS, etc. Infrastructure Services File Server Infrastructure
    149. File Storage over the Decades Client Software Application Intranet Portal Infrastructure Services Infrastructure
    150. File Storage over the Decades Client Software Application Extranet Portal Infrastructure Services Infrastructure
    151. File Storage over the Decades Client Software Application Infrastructure Services Problems with server affinity and mgt of large files. Relational DB doesn’t solve problem either Infrastructure
    152. Blob Storage using Azure Client Software Application REST interface (PutBlob, GetBlob, DeleteBlob) Infrastructure Services Cloud provides support for storage through “blobs” Infrastructure
    153. Blob Storage using Azure Client Software How about timeouts over HTTP? 10Gb MRI image Application Support for Blocks PutBlock(blob, block, data) Commit with PutBlockList Infrastructure Services Infrastructure
    154. Patterns for Moving to the Cloud …and getting the image back?
    155. Blob Storage using Azure Client Software Please give me the image http://mri.blob.core.windows.net/images/432532432.mri.jpg Application Infrastructure Services Infrastructure
    156. Blob Storage using Azure Client Software Please show me the image Zoom in please Application Render low res-version of the image Render zoomed in portion of image Infrastructure Services Infrastructure
    157. Patterns for Moving to the Cloud What if I want to do relational storage in the cloud?
    158. Patterns for Moving to the Cloud SQL Data Services (SDS)
    159. Current SDS Implementation Client Software “Code Near” Model Code near to home, “long” data Application access connection Infrastructure Services Infrastructure
    160. Current SDS Implementation Client Software “Code Far” Model Code far from home, “short” Application data access connection Infrastructure Services Infrastructure
    161. Patterns for Moving to the Cloud SDS Moving Forward Using Relational Model
    162. Current SDS Implementation Client Software “Code Near” Model using REST (Astoria) Application Infrastructure Services Infrastructure
    163. Current SDS Implementation Client Software “Code Far” Model using Azure application Application Infrastructure Services Infrastructure
    164. Taking the MRI Example Forward Client Software Code Near Model Application (using existing SQL Client Library) TDS (Tabular Data Stream) over TCP Infrastructure Services Infrastructure
    165. Patterns for Moving to the Cloud Takeaways from Pattern #4
    166. Patterns for Moving to the Cloud Local storage is cheap, but management can be difficult
    167. Patterns for Moving to the Cloud Cloud enables elastic storage growth for large files, but consider how user will access
    168. Patterns for Moving to the Cloud SDS future has three ways of exposing – through HTTP (via Azure), through REST (via Astoria), through TDS
    169. Patterns for Moving to the Cloud Pattern 5: Inter-Org Communications
    170. Azure Queues for Web to Worker Communication Client Software Application Infrastructure Services Queue works between web and worker role, but not outside the organization Infrastructure
    171. Azure Queues for Web to Worker Communication Client Software How do you deal with Firewall/NAT for incoming msg? Application Technically possible to expose Azure queue via REST interface, but… Infrastructure Services Infrastructure
    172. • Intro Service Bus (product slide)
    173. .NET Service Bus for Communication Client Software Application Subscriber sb://…/myqueue (Outbound bi-directional socket, kept alive in background) Infrastructure Services Infrastructure
    174. .NET Service Bus for Communication Client Software Application Delivered without the use of any Sender inbound ports sb://…/myqueue (Outbound one-way socket) Infrastructure Services Infrastructure routed appropriately Message
    175. Patterns for Moving to the Cloud One of the other components of .NET Services is workflow
    176. Patterns for Moving to the Cloud Event Driven vs. Hosted
    177. Event Driven Workflow Client Software Application Infrastructure Services Workflow defined using XOML Infrastructure
    178. Patterns for Moving to the Cloud Does the workflow always have to be initiated from the client?
    179. Hosted Workflow Client Software Application Infrastructure Services Hosted Workflow Infrastructure
    180. Patterns for Moving to the Cloud RedPrairie Example
    181. Red Prairie Example Client Software Recall – Lead paint discovered in Item #242522 Application Infrastructure Services Orchestrator Service Infrastructure
    182. Red Prairie Example Client Software Application Infrastructure Services Infrastructure Iterate through list of partners Send recall notice
    183. Red Prairie Example Client Software Application Receive and Log Infrastructure Services Acknowledgement Infrastructure Iterate through list of partners Send recall notice
    184. Patterns for Moving to the Cloud Takeaways from Pattern #5
    185. Patterns for Moving to the Cloud Azure queues can be exposed through REST, but difficult to receive messages (without polling)
    186. Patterns for Moving to the Cloud Protocol handling within the .NET Service Bus overcomes this
    187. Patterns for Moving to the Cloud (Also provides durable queues as of March CTP)
    188. Patterns for Moving to the Cloud Workflow can handle more complex communications
    189. Patterns for Moving to the Cloud Hosted workflow in the cloud useful for monitoring
    190. Conclusion
    191. Conclusion We covered 5 patterns
    192. Conclusion Pattern 1: Transference
    193. Conclusion Pattern 2: Scale and Multi-Tenancy
    194. Conclusion Pattern 3: Burst Compute
    195. Conclusion Pattern 4: Elastic Storage
    196. Conclusion Pattern 5: Inter-Org Communication
    197. Conclusion These are “starter” patterns - not an exhaustive list, but show some of the different archetypes of applications possible in the cloud today
    198. Conclusion This space is still evolving, but very exciting to see the new patterns that will emerge
    199. wade.wegner@microsoft.com http://architectingwith.net larry.clarkin@microsoft.com http://eraserandcrowbar.com © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

    + David ChouDavid Chou, 5 months ago

    custom

    1097 views, 0 favs, 2 embeds more stats

    Presentation delivered at Architect Council on 2009 more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1097
      • 649 on SlideShare
      • 448 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 68
    Most viewed embeds
    • 447 views on http://blogs.msdn.com
    • 1 views on http://209.85.129.132

    more

    All embeds
    • 447 views on http://blogs.msdn.com
    • 1 views on http://209.85.129.132

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories