Embeddable Discussions Ivelin Elenchev

Slides:



Advertisements
Similar presentations
How We Manage SaaS Infrastructure Knowledge Track
Advertisements

Case Study: Photo.net March 20, What is photo.net? An online learning community for amateur and professional photographers 90,000 registered users.
Inner Architecture of a Social Networking System Petr Kunc, Jaroslav Škrabálek, Tomáš Pitner.
Tornado Web and MongoDB An Introduction to AsyncMongo MongoBoston John C. Zablocki Development Manager, HealthcareSource Organizer, Beantown.
CASSANDRA-A Decentralized Structured Storage System Presented By Sadhana Kuthuru.
Futures – Alpha Cloud Deployment and Application Management.
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
11 SERVER CLUSTERING Chapter 6. Chapter 6: SERVER CLUSTERING2 OVERVIEW  List the types of server clusters.  Determine which type of cluster to use for.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Platform as a Service (PaaS)
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
.NET, Visual Studio, TFS + Git | Java, NodeJS, PHP, Python, Ruby, C++ Data SQL Databases NoSQL Tables Blob Storage HDInsight Window s Azure IaaS +
Module 13: Network Load Balancing Fundamentals. Server Availability and Scalability Overview Windows Network Load Balancing Configuring Windows Network.
KARMA with ProActive Parallel Suite 12/01/2009 Air France, Sophia Antipolis Solutions and Services for Accelerating your Applications.
Making it easier to develop, deploy and maintain Drupal web sites Name, Title Date.
— Build your own enterprise-class PaaS platform. Master Cloudset Cloudset1 Cloudset Resource Pool cloud Dedicated resource can be assigned to a cloudset.
Meet with the AppEngine Márk Gergely eu.edge. What is AppEngine? It’s a tool, that lets you run your web applications on Google's infrastructure. –Google's.
| e n a b l i n g | i n t e r a c t i v e | a d a p t i v e | O V E R V I E W Providing secure access to real-time data via the Internet Focused on delivering.
IMDGs An essential part of your architecture. About me
© 2006 Process-one – All right reserved Page 1 Jérôme Sautret Horde Leader, a Framework to Build Cluster Aware Erlang Web Administration Console November.
Conversing in the Cloud Ryan Kupfer, Scott Wetter, Bryan Welfel, Shekhar Pradhan.
ArcGIS Server for Administrators
Module 10 Administering and Configuring SharePoint Search.
Optimizer Deployment Centralized Database module on Optimizer hub server Each monitored server has an instance of optimizer installed.
ALICE, ATLAS, CMS & LHCb joint workshop on
A Brief Documentation.  Provides basic information about connection, server, and client.
Middleware for Grid Computing and the relationship to Middleware at large ECE 1770 : Middleware Systems By: Sepehr (Sep) Seyedi Date: Thurs. January 23,
1 Implementing Monitoring and Reporting. 2 Why Should Implement Monitoring? One of the biggest complaints we hear about firewall products from almost.
Module 7: Advanced Application and Web Filtering.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
ITGS Network Architecture. ITGS Network architecture –The way computers are logically organized on a network, and the role each takes. Client/server network.
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
Galaxy in Production Nate Coraor Galaxy Team Penn State University.
CE design report Luigi Zangrando
The Site Architecture You Can Edit Varnish Mobile? Ryan Lane Wikimedia Foundation Membase? Swift.
The LGI Pilot job portal EGI Technical Forum 20 September 2011 Jan Just Keijser Willem van Engen Mark Somers.
High Availability Clusters in Linux Sulamita Garcia EDS Unix Specialist
October 2014 HYBRIS ARCHITECTURE & TECHNOLOGY 01 OVERVIEW.
REDCap General Overview
Platform as a Service (PaaS)
Jean-Philippe Baud, IT-GD, CERN November 2007
Understanding and Improving Server Performance
Microservices & API Gateways Marco Palladino.
ENOG13 Saint Petersburg Diego Luis Neto SW NL-ix.
Deploying Web Application
Cluster-Based Scalable
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Netscape Application Server
The Case for a Session State Storage Layer
New features and customization options
Open Source distributed document DB for an enterprise
Node.js Express Web Services
Maximum Availability Architecture Enterprise Technology Centre.
NOSQL.
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Storage Virtualization
CS6604 Digital Libraries IDEAL Webpages Presented by
Chapter 27: System Security
Moodle Scalability What is Scalability?
Cloud computing mechanisms
Module P3 Practical: Building a webapp in nodejs and
NeST: Network Storage Technologies
H-store: A high-performance, distributed main memory transaction processing system Robert Kallman, Hideaki Kimura, Jonathan Natkins, Andrew Pavlo, Alex.
ZORAN BARAC DATA ARCHITECT at CIN7
Advanced Database Topics
DIBBs Brown Dog BDFiddle
Presentation transcript:

Embeddable Discussions Ivelin Elenchev

Project Goal Provide easy to configure discussions using <iframe> Advanced configurable discussions using a web based API

Forums

Website Comments

Ecommerce reviews

System Level Requirements The system should be able to recognize discussion hosting websites and applications and return the requested information The system should be able to filter malicious requests via user activity, browser signature and IP The system should be able to monitor its resource usage and automatically reconfigure the storage and application cluster as needed

Moderator Level Requirements Administrators should be able to specify the discussion type (hierarchical, rating, review) Administrators should be able to specify custom discussion templates Administrators should be able to moderate discussions and assign privileges to users Administrators should be able to view usage statistics

User Level Requirements Users should be able to comment and reply to others Users should be able to log in from third party services via authentication tokens Users should be able to rate and flag other comments Users should be able to receive push & email notifications in special events (reply, rating, achievment)

Requirements Administrators should be able to specify the discussion type (hyrarchial, rating, review) Users should be able to comment and reply to others Users should be able to log in from third party services via authentication tokens Users should be able to rate and flag other comments Administrators should be able to specify custom discussion templates

Performance Requirements The system architecture should allow for cheap horizontal scaling The system should be able to function under high levels of IO (IO bound not CPU bound) Crashes in parts of the database or application clusters should not affect the rest of the system

Roadmap ✅ Storage “schema” + cluster configuration ✅ Storage caching ✅ User API Administrator API System API API Cluster configuration + monitoring Application Caching

Storage Postgres pros: battle tested, consistency (transactions) cons: partitioning relies on a master node, querying hirarchial comment data is slow (at least 2 joins) Cassanda: pros: reliable scaling, fault tolerant, performance under high IO cons: query language

Storage Caching Redis queries to Cassandra for the last minute are storedd in Redis. Cassandra is hit only if the Redis cache is too old, or does not exist. Non-priority users always get the Redis cache

Application Python pros: asynchronous web frameworks (Tornado), community cons: heavy system threading model Erlang / Elixir pros: asynchronous web framework (Phoenix), light VM threads, application cluster support cons: community

Webserver Architecture Nginx reverse proxy, static file caching, access limitation Cowboy Erlang webserver dealing with WSGI requests Varnish Cache API request caching

Questions?