Conversing in the Cloud. Ryan Kupfer, Scott Wetter, Bryan Welfel, Shekhar Pradhan

Similar documents
Introduction to data centers

Amazon Web Services. Block 402, 4 th Floor, Saptagiri Towers, Above Pantaloons, Begumpet Main Road, Hyderabad Telangana India

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS

Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2

Getting Started With Amazon EC2 Container Service

Containers and the Evolution of Computing

Project Presentation

CPSC 426/526. Cloud Computing. Ennan Zhai. Computer Science Department Yale University

Sahi. Cost effective Web Automation

Securing Amazon Web Services (AWS) EC2 Instances with Dome9. A Whitepaper by Dome9 Security, Ltd.

Zenoss Resource Manager Planning Guide

DevOps Tooling from AWS

How to Route Internet Traffic between A Mobile Application and IoT Device?

Swift Web Applications on the AWS Cloud

Microservices on AWS. Matthias Jung, Solutions Architect AWS

Cisco CloudCenter Solution with VMware

Building Secure and Scalable Mobile Apps on AWS

Zombie Apocalypse Workshop

OPENSTACK: THE OPEN CLOUD

Use Case: Scalable applications

Using AWS Data Migration Service with RDS

Serverless Architecture Hochskalierbare Anwendungen ohne Server. Sascha Möllering, Solutions Architect

Amazon Relational Database Service. Getting Started Guide API Version

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

Web Cloud Solution. User Guide. Issue 01. Date

BERLIN. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

The Long Road from Capistrano to Kubernetes

Advanced Architectures for Oracle Database on Amazon EC2

The webmethods CloudStreams Amazon EC2 Connector

CLOUD COMPUTING. Rajesh Kumar. DevOps Architect.

Deep Dive on AWS CodeStar

Introduction to Cloud Computing. [thoughtsoncloud.com] 1

System requirements for Qlik Sense. Qlik Sense September 2018 Copyright QlikTech International AB. All rights reserved.

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)?

Upgrading to UrbanCode Deploy 7

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

AWS Lambda: Event-driven Code in the Cloud

AWS Solution Architecture Patterns

CogniFit Technical Security Details

Developing Microsoft Azure Solutions

Welcome to the New Era of Cloud Computing

SUSE Linux Enterprise Server 12 Modules

IaaS Integration Guide

Western Michigan University

Container Orchestration on Amazon Web Services. Arun

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

Amazon. Exam Questions AWS-Certified-Solutions-Architect- Professional. AWS-Certified-Solutions-Architect-Professional.

System Specification

Microservices Architekturen aufbauen, aber wie?

HOW TO PLAN & EXECUTE A SUCCESSFUL CLOUD MIGRATION

INFS 214: Introduction to Computing

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

CIT 668: System Architecture. Amazon Web Services

Transit VPC Deployment Using AWS CloudFormation Templates. White Paper

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

FUJITSU Cloud Service K5 CF Service Functional Overview


MySQL CLOUD SERVICE. Propel Innovation and Time-to-Market

Continuous Innovation DevOps and agile Deployment with AWS. Mickael Zewde

TIBCO Cloud Integration Security Overview

Cloud platforms T Mobile Systems Programming

Elastic Compute Service. Quick Start for Windows

Cloud Computing. Ennan Zhai. Computer Science at Yale University

When (and how) to move applications from VMware to Cisco Metacloud

How to host and manage enterprise customers on AWS: TOYOTA, Nippon Television, UNIQLO use cases

AWS 101. Patrick Pierson, IonChannel

P a g e 1. Teknologisk Institut. Online kursus k SysAdmin & DevOps Collection

Adobe ColdFusion 11 Enterprise Edition

Scaling DreamFactory

JELASTIC PLATFORM-AS-INFRASTRUCTURE

Cloud Providers more AWS, Aneka

Architekturen für die Cloud

This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Develop and test your Mobile App faster on AWS

Distributed Systems COMP 212. Lecture 18 Othon Michail

MEDIA PROCESSING ON CLOUD

ROCK INK PAPER COMPUTER

Developing In The Cloud

Werden Sie ein Teil von Internet der Dinge auf AWS. AWS Enterprise Summit 2015 Dr. Markus Schmidberger -

ThoughtSpot on AWS Quick Start Guide

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

Getting to Know Apache CloudStack

BeBanjo Infrastructure and Security Overview

DIGIT.B4 Big Data PoC

STATE OF MODERN APPLICATIONS IN THE CLOUD

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

Today s Objec4ves. Data Center. Virtualiza4on Cloud Compu4ng Amazon Web Services. What did you think? 10/23/17. Oct 23, 2017 Sprenkle - CSCI325

RACKSPACE ONMETAL I/O V2 OUTPERFORMS AMAZON EC2 BY UP TO 2X IN BENCHMARK TESTING

Amazon Linux: Operating System of the Cloud

Automated Deployment of Private Cloud (EasyCloud)

What s new in MicroStrategy on AWS

Distributed Systems. 31. The Cloud: Infrastructure as a Service Paul Krzyzanowski. Rutgers University. Fall 2013

Hybrid Auto-scaling of Multi-tier Web Applications: A Case of Using Amazon Public Cloud

Introduction to Database Services

SCALING DRUPAL TO THE CLOUD WITH DOCKER AND AWS

IaaS Integration Guide

Project JXTA Technology Overview.

Building High Performance Apps using NoSQL. Swami Sivasubramanian General Manager, AWS NoSQL

Transcription:

Conversing in the Cloud Ryan Kupfer, Scott Wetter, Bryan Welfel, Shekhar Pradhan

Outline MixPool defined The hurdles A prime example of an application utilizing cloud technology The technologies The architecture of the app and its deployment on Amazon Web Services

MixPool Defined The MixPool app consists of two main components: Connect and Decide. Groups of friends are formed in the Connect component. Groups of friends can decide what to do and where to go in the Decide component.

Application Hurdles Supporting asynchronous chat AWS instances are optimized for their specific tasks Processing applications (bots) exist in the cloud User count fluctuates Scale up and scale down quickly

System Architecture

Technologies Amazon Web Services, the Powered by Amazon Web Services logo, [and name any other AWS Marks used in such materials] are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.

Lightweight, high-performance web server and reverse proxy server Load balancing Serves static content: Images Video CSS Javascript Flash (swf)

Most common web server Very stable Great for serving dynamic content Used for CakePHP application

CakePHP CakePHP is an open source web application framework for producing web applications. It is written in PHP, modeled after the concepts of Ruby on Rails.

MySQL Open source Great community Good performance Scalable if necessary Replication Clustering

Bots Connect to chat servers and process conversations We chose Java for our bot development One of the most popular OOP languages Easy to find programmers Many libraries available to complete our tasks quickly

NLP Suggestion Bot Chat room messages are analyzed in real time to identify the needs of users (e.g., casual place ) and occurrences of restaurant names, cuisines and dishes. Sentiments expressed in the message regarding these are identified. Based on these sentiments and user needs, scores are assigned to restaurants, cuisines, and dishes. A restaurant is suggested based on this score and other data stored in our database.

History Bot Chat rooms are asynchronous Thus, users may join at different times. A user that joins later needs to be provided earlier chat messages and related restaurant suggestions. Chat rooms can be intermittently active/inactive An inactive room can become activated. Earlier chat room messages and related restaurant messages need to be provided to all room users.

InstanceMonitor Starts with each bot EC2 instance Allows us to control the individual bot applications remotely XML-RPC API Statistics that BRICS uses to figure out the best-fit instance CPU load Memory used Open socket connections

BRICS (Bot Request and Instance Creation System) Central hub for bot requests Load balancing bots between the instances Requests received from the IRC servers whenever a room is created and joined Request is processed and given to the best-fit instance InstanceMonitor on the best-fit instance handles the task

IRC Internet Relay Chat Created in 1988 Very simple, well established TCP/IP based asynchronous chat system Used for our real-time chat system Flash is used on our website to connect to the IRC servers and interact with the web application

Amazon Web Services (AWS) Pay as you go cloud computing Simple pricing (hours used, data transferred) Use existing infrastructure to rapidly build complicated systems Run almost anything (you choose the OS, programming language, etc.) Scalable Add compute capacity and storage immediately Good for planning Ability to test different infrastructure configurations to find optimal setup

Amazon Elastic Compute Cloud (EC2) Web service that provides resizable compute capacity in the cloud Select either a pre-configured instance template or create one Configure security/network access Choose hardware configuration: Standard Instances High-Memory Instances High-CPU Instances

EC2 Pros Start and stop server instances within minutes Pay only for the time you have your instance up and for data transfer to and from your instance. Acts just like a regular remote server Connect to it and start using it immediately Full root access Convenient and easy to use web UI for managing instances Firewall settings for groups of instances

EC2 Cons Few locations to choose from No control over the specific hardware in use Instance crash/termination: all the data stored on it is gone

Amazon Relational Database Service (RDS) Simple to deploy Handles database management tasks Easy to port an existing MySql database Scalable, reliable, secure Designed to integrate with other AWS

System Architecture

System Architecture

System Architecture

System Architecture

Questions?