SlideShare una empresa de Scribd logo
1 de 44
A Public Cloud Based SOA
Workflow for Machine Learning
Based Recommendation Algorithms
Presented By
Srinivasan Thanukrishnan, Founder & CEO
Ram G Athreya, Research Intern
Glosys Technology Solutions Pvt. Ltd.
Chennai, India
5th
IEEE International Conference on Cloud & Service Computing – SC2 2015
Outline
• Challenges
• Motivation
• Proposed System
• Design Components
• Experimental Results
• Conclusion
• Future Work
Challenges
• Existing workflows for web based (SOA)
applications elaborate only on certain aspects
such as
– Cloud Computing
– Backend
– Frontend
– Development & Testing
– Machine Learning
• How do all these work together at a big picture
level?
Motivation
• Our aim is to combine these vast and disparate fields and
provide a cohesive framework for building such applications
• We propose a multi layered architecture that will simulate
the structure of a cloud environment in terms of frontend and
backend, and examine how it can leverage Machine Learning
• For completeness we created an actual Retail Application
which integrates the above technologies
Proposed System
• It comprises three major modules which are
– Product Information System (PIS)
– Analytics Based Inventory Management (ABIM)
– Transaction Based Analytics (TBA)
• To build a framework that will simulate the architectural
setup of an E – Commerce site
• To examine how it can improve its sales by employing
intelligence
• To derive a general workflow on how such systems can be
built end-to-end starting from the user interface up to the
machine learning algorithm that powers it in the backend
Design Components
• Cloud Architecture
• Back End Application Stack
• User Interface Design
• Development Environment
• Load Testing
• Machine Learning Based Recommendation
Algorithms
Cloud Architecture
• Core components of the Cloud Architecture
are
– Content Delivery Network (CDN)
– Load Balancer
– Server Instances
– Storage Services
Content Delivery Network (CDN)
• It is a large distributed
network of servers
across geographies
• It serves assets such as
images, css, js
• The CDN caches requests
• Thus load to origin server
is reduced
Load Balancers
• To optimize resource use, maximize throughput, minimize response
time
• It employ round-robin or least recently used algorithms to route
internet traffic
• The ability of auto-scaling
• During a traffic spike it automatically increases the number of
application server instances
Server Instances
• It generates responses with the help of backing services
• It contains only application code which is version
controlled
• Creating a new instance is as simple as checking out the
latest version of the codebase and deploying it within an
instance
• They are commodity servers which can be scaled on
demand
Storage Services
• Storage Services
– Database
– Middleware (Cache)
– Static Assets (AWS
S3)
Storage Services
• To protect the database and ensure its availability, a
Master-Slave setup is required
• All database write operations happen at the master
and are replicated to the slaves, while the read
operations are carried out on the slave instances
• If master fails one of the slave nodes becomes the
new master
Storage Services
• The cache lies between the application servers and
the database
• It has in-memory (RAM) storage
• This ensures speeding up of requests since fewer
queries hit the database
• AWS S3 was used to store static assets such as
images, css & js
Cloud Architecture
Back End Application Stack
• Model-View-Controller (MVC)
– Promotes the principle of ‘separation of concerns’
– The Model is responsible for managing the data required
by the application
– The View is responsible for presentation of data triggered
by a Controller action
– Template systems are used to embed dynamic data within
the HTML structure of the View
– The Controller is responsible for responding to user
requests
Back End Application Stack
User Interface Design
• Three technologies come into play in
this regard
– HTML
– CSS
– JS
HTML
• Basically a set of tags within which content is placed
• Starts with <html> tag
• Has two major sections which are <head> and
<body>
• <head> contains metadata
• <body> contains all the content
CSS
• It achieves this in the form of rules that
are defined on HTML selectors
• Additionally LESS a CSS pre-processor is
necessary
• LESS provides additional features such as
variables, functions and mixins etc
• This makes CSS more maintainable,
themable and extensible
JS
• For dependency management, Bower is
used which is package manager for
browser development
• Require.js is a library for
asynchronously loading Javascript
dependencies within a web page
• jQuery is used for DOM Navigation,
Event Handling and AJAX calls with the
server
Responsive Web Design
• Designing for large variety of devices with varying screen
sizes and resolutions is difficult
• To support multiple devices, a web design methodology
called responsive web design (RWD) was used to provide
optimal viewing experience across a wide range of
devices
• RWD achieves this capability with the help of CSS3
Media Queries which is a W3C Recommendation
User Interface Design
Development Environment
• Ideally, the development
environment must be similar to
the production environment
• Vagrant is a Free and Open
Source Software (FOSS) for
creating and configuring virtual
development environments
• This setup ensures that
environment related bugs are
kept to a minimum
Development Environment
• Any Software Project would involve multiple
developers working together.
• That fact brings about the need for a version control
system (VCS) since a version control system makes
tracking changes easy
• The Git Distributed Version Control System (DVCS)
was used to commit and track code changes and was
hosted in a GitHub repository
Load Testing
• Developers typically measure a Web application’s quality
of service in terms of response time, throughput, and
availability
• Load testing measures an application’s QoS performance
based on actual customer behavior
• When customers access the site, a script recorder uses
their requests to create interaction scripts
• A load generator then replays the scripts, possibly
modified by test parameters, against the website
Load Testing
Machine Learning Based
Recommendation Algorithms
• To illustrate the intelligence portion of the system, Apriori
and sequential pattern based machine learning algorithms
were employed
• Both algorithms take the transaction data of user purchases
as input based on which each algorithm individually makes
predictions on what the user might buy next
• Although both algorithms try to find frequently occurring
patterns in the dataset, they employ different methodologies
and hence come up with slightly different results
• The algorithms were implemented using the R programming
language
Apriori Based Algorithm
• The Apriori algorithm takes the historical transaction data of users
(stored in the database) so that it can identify frequently occurring
itemsets that can then be formulated into association rules.
• For example a rule might be where a user who buys a smartphone
is also likely to buy earphones, that is {smartphone} => {earphone}
• Such a rule can be found by the algorithm if there are enough
transactions to support it
• These rules ultimately become insights on what the user might do
next and can be given as product recommendations within the
application
Apriori Based Algorithm
Sequential Pattern Mining Based
Algorithm
• The sequential pattern mining algorithm also attempts to
mine relevant patterns from available data, but it additionally
takes the order of the pattern into account
• The algorithm tries to find patterns based on the order in
which transactions take place
• There are many variations of the sequential pattern mining
algorithm, the one used by the program is called SPADE
(Sequential PAttern Discovery using Equivalence classes)
Sequential Pattern Mining Based
Algorithm
Cloud Based Development
Environment
Technology Software/Tool
CDN CloudFront
Load Balancer HA Proxy
Server Instances Ubuntu 14.04
Distributed Cache Redis
RDBMS MySQL
Assets Storage AWS S3
Orchestration & Provisioning Chef
Backend Development Environment
Technology Software/Tool
Server Language Node.js
Server Package Management NPM
MVC Framework Express.js
Template Engine Jade
ORM Node-ORM
Redis Library Node_redis
Authentication Passport.js
Front End Development Environment
Technology Software/Tool
Content HTML
Presentation CSS
Interactivity JS
RWD Framework Bootstrap
CSS Pre-processor LESS
Frontend Framework jQuery
Frontend Package Management Bower
Dynamic Script Injection Require.js
Other Tools
Technology Software/Tool
Machine Learning Tool R
Load Testing Apache Jmeter
Development Virtualization Vagrant
VCS Git
VCS Hosting GitHub
Experimental Results
Experimental Results
Experimental Results
Experimental Results
Conclusion
• We presented a workflow for creating online applications
deployed in a cloud environment
• We looked at its cloud architecture in exhaustive detail and
how different cloud appliances such as virtual machines, load
balancers etc interact with each other
• We also focused on how such an application is built from the
ground up, including its backend architecture, user interface
built using the responsive web design technique as well as its
development workflow
Conclusion
• For completeness, we examined how such a cloud application
should be tested to ensure its reliability at scale
• Finally, we explored how such a system could leverage the
vast amounts of data it collects and employed Apriori and
sequential pattern based machine learning algorithms to
generate insights about its users
• Using these insights the application can better assist its
customers by providing relevant and timely
recommendations based on their behavior
Future Work
• In future works, we plan to explore the performance of
algorithms used in such a cloud application and
interoperability between two or more algorithms and the
usage of a more distributed architecture, such as Hadoop for
the machine learning setup
Thank You
January 9, 2016 Data Mining: Concepts and Techniques 44
The Apriori Algorithm — Example
TID Items
100 1 3 4
200 2 3 5
300 1 2 3 5
400 2 5
Database D itemset sup.
{1} 2
{2} 3
{3} 3
{4} 1
{5} 3
itemset sup.
{1} 2
{2} 3
{3} 3
{5} 3
Scan D
C1
L1
itemset
{1 2}
{1 3}
{1 5}
{2 3}
{2 5}
{3 5}
itemset sup
{1 2} 1
{1 3} 2
{1 5} 1
{2 3} 2
{2 5} 3
{3 5} 2
itemset sup
{1 3} 2
{2 3} 2
{2 5} 3
{3 5} 2
L2
C2 C2
Scan D
C3
L3itemset
{2 3 5}
Scan D itemset sup
{2 3 5} 2

Más contenido relacionado

La actualidad más candente

Performance and Scalability Tuning
Performance and Scalability TuningPerformance and Scalability Tuning
Performance and Scalability Tuning
Andres March
 

La actualidad más candente (20)

OAuth
OAuthOAuth
OAuth
 
AWS Best Practices Version 2
AWS Best Practices Version 2AWS Best Practices Version 2
AWS Best Practices Version 2
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
AWS Study Group - Chapter 09 - Storage Option [Solution Architect Associate G...
AWS Study Group - Chapter 09 - Storage Option [Solution Architect Associate G...AWS Study Group - Chapter 09 - Storage Option [Solution Architect Associate G...
AWS Study Group - Chapter 09 - Storage Option [Solution Architect Associate G...
 
AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...
AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...
AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...
 
SRV206 Getting Started with Amazon CloudFront Content Delivery Network
SRV206 Getting Started with Amazon CloudFront Content Delivery NetworkSRV206 Getting Started with Amazon CloudFront Content Delivery Network
SRV206 Getting Started with Amazon CloudFront Content Delivery Network
 
Azure appfabric caching intro and tips
Azure appfabric caching intro and tipsAzure appfabric caching intro and tips
Azure appfabric caching intro and tips
 
Deep Dive on Amazon EFS (with Encryption) - AWS Online Tech Talks
Deep Dive on Amazon EFS (with Encryption) - AWS Online Tech TalksDeep Dive on Amazon EFS (with Encryption) - AWS Online Tech Talks
Deep Dive on Amazon EFS (with Encryption) - AWS Online Tech Talks
 
Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014
 
Performance and Scalability Tuning
Performance and Scalability TuningPerformance and Scalability Tuning
Performance and Scalability Tuning
 
AWS database services
AWS database servicesAWS database services
AWS database services
 
Amazon Virtual Private Cloud - VPC 2
Amazon Virtual Private Cloud - VPC 2Amazon Virtual Private Cloud - VPC 2
Amazon Virtual Private Cloud - VPC 2
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
Secured REST Microservices with Spring Cloud
Secured REST Microservices with Spring CloudSecured REST Microservices with Spring Cloud
Secured REST Microservices with Spring Cloud
 
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with Azure
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2
 
AWS re:Invent 2016: Introduction to Amazon CloudFront (CTD205)
AWS re:Invent 2016: Introduction to Amazon CloudFront (CTD205)AWS re:Invent 2016: Introduction to Amazon CloudFront (CTD205)
AWS re:Invent 2016: Introduction to Amazon CloudFront (CTD205)
 
AWS Summit 2013 | India - Web, Mobile and Social Apps on AWS, Kingsley Wood
AWS Summit 2013 | India - Web, Mobile and Social Apps on AWS, Kingsley WoodAWS Summit 2013 | India - Web, Mobile and Social Apps on AWS, Kingsley Wood
AWS Summit 2013 | India - Web, Mobile and Social Apps on AWS, Kingsley Wood
 

Similar a A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation Algorithms

JavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JSJavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
Harbinger Systems - HRTech Builder of Choice
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Amazon Web Services
 

Similar a A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation Algorithms (20)

Where to Begin? Application Portfolio Migration
Where to Begin? Application Portfolio MigrationWhere to Begin? Application Portfolio Migration
Where to Begin? Application Portfolio Migration
 
Using AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics ServiceUsing AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics Service
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architecture
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
Services Saas,Pass,Iaas
Services Saas,Pass,IaasServices Saas,Pass,Iaas
Services Saas,Pass,Iaas
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
 
Azure App Service Deep Dive
Azure App Service Deep DiveAzure App Service Deep Dive
Azure App Service Deep Dive
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
 
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JSJavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
 
AWS Webcast - Migrating your Data Center to the Cloud
AWS Webcast - Migrating your Data Center to the CloudAWS Webcast - Migrating your Data Center to the Cloud
AWS Webcast - Migrating your Data Center to the Cloud
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017
 
Chapter 2 Service Model
Chapter 2 Service ModelChapter 2 Service Model
Chapter 2 Service Model
 
Benefits of Cloud Computing
Benefits of Cloud ComputingBenefits of Cloud Computing
Benefits of Cloud Computing
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 

Más de Ram G Athreya

Forecasting a Student's Education Fulfillment using Regression Analysis
Forecasting a Student's Education Fulfillment using Regression AnalysisForecasting a Student's Education Fulfillment using Regression Analysis
Forecasting a Student's Education Fulfillment using Regression Analysis
Ram G Athreya
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
Ram G Athreya
 

Más de Ram G Athreya (6)

Enhancing Community Interactions with Data-Driven Chatbots--The DBpedia Chatbot
Enhancing Community Interactions with Data-Driven Chatbots--The DBpedia ChatbotEnhancing Community Interactions with Data-Driven Chatbots--The DBpedia Chatbot
Enhancing Community Interactions with Data-Driven Chatbots--The DBpedia Chatbot
 
GSoC 2017 Proposal - Chatbot for DBpedia
GSoC 2017 Proposal - Chatbot for DBpedia GSoC 2017 Proposal - Chatbot for DBpedia
GSoC 2017 Proposal - Chatbot for DBpedia
 
Human Computer Interaction - Final Report of a concept Car Infotainment System
Human Computer Interaction - Final Report of a concept Car Infotainment SystemHuman Computer Interaction - Final Report of a concept Car Infotainment System
Human Computer Interaction - Final Report of a concept Car Infotainment System
 
Forecasting a Student's Education Fulfillment using Regression Analysis
Forecasting a Student's Education Fulfillment using Regression AnalysisForecasting a Student's Education Fulfillment using Regression Analysis
Forecasting a Student's Education Fulfillment using Regression Analysis
 
Semi-Automated Security Testing of Web applications
Semi-Automated Security Testing of Web applicationsSemi-Automated Security Testing of Web applications
Semi-Automated Security Testing of Web applications
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation Algorithms

  • 1. A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation Algorithms Presented By Srinivasan Thanukrishnan, Founder & CEO Ram G Athreya, Research Intern Glosys Technology Solutions Pvt. Ltd. Chennai, India 5th IEEE International Conference on Cloud & Service Computing – SC2 2015
  • 2. Outline • Challenges • Motivation • Proposed System • Design Components • Experimental Results • Conclusion • Future Work
  • 3. Challenges • Existing workflows for web based (SOA) applications elaborate only on certain aspects such as – Cloud Computing – Backend – Frontend – Development & Testing – Machine Learning • How do all these work together at a big picture level?
  • 4. Motivation • Our aim is to combine these vast and disparate fields and provide a cohesive framework for building such applications • We propose a multi layered architecture that will simulate the structure of a cloud environment in terms of frontend and backend, and examine how it can leverage Machine Learning • For completeness we created an actual Retail Application which integrates the above technologies
  • 5. Proposed System • It comprises three major modules which are – Product Information System (PIS) – Analytics Based Inventory Management (ABIM) – Transaction Based Analytics (TBA) • To build a framework that will simulate the architectural setup of an E – Commerce site • To examine how it can improve its sales by employing intelligence • To derive a general workflow on how such systems can be built end-to-end starting from the user interface up to the machine learning algorithm that powers it in the backend
  • 6. Design Components • Cloud Architecture • Back End Application Stack • User Interface Design • Development Environment • Load Testing • Machine Learning Based Recommendation Algorithms
  • 7. Cloud Architecture • Core components of the Cloud Architecture are – Content Delivery Network (CDN) – Load Balancer – Server Instances – Storage Services
  • 8. Content Delivery Network (CDN) • It is a large distributed network of servers across geographies • It serves assets such as images, css, js • The CDN caches requests • Thus load to origin server is reduced
  • 9. Load Balancers • To optimize resource use, maximize throughput, minimize response time • It employ round-robin or least recently used algorithms to route internet traffic • The ability of auto-scaling • During a traffic spike it automatically increases the number of application server instances
  • 10. Server Instances • It generates responses with the help of backing services • It contains only application code which is version controlled • Creating a new instance is as simple as checking out the latest version of the codebase and deploying it within an instance • They are commodity servers which can be scaled on demand
  • 11. Storage Services • Storage Services – Database – Middleware (Cache) – Static Assets (AWS S3)
  • 12. Storage Services • To protect the database and ensure its availability, a Master-Slave setup is required • All database write operations happen at the master and are replicated to the slaves, while the read operations are carried out on the slave instances • If master fails one of the slave nodes becomes the new master
  • 13. Storage Services • The cache lies between the application servers and the database • It has in-memory (RAM) storage • This ensures speeding up of requests since fewer queries hit the database • AWS S3 was used to store static assets such as images, css & js
  • 15. Back End Application Stack • Model-View-Controller (MVC) – Promotes the principle of ‘separation of concerns’ – The Model is responsible for managing the data required by the application – The View is responsible for presentation of data triggered by a Controller action – Template systems are used to embed dynamic data within the HTML structure of the View – The Controller is responsible for responding to user requests
  • 17. User Interface Design • Three technologies come into play in this regard – HTML – CSS – JS
  • 18. HTML • Basically a set of tags within which content is placed • Starts with <html> tag • Has two major sections which are <head> and <body> • <head> contains metadata • <body> contains all the content
  • 19. CSS • It achieves this in the form of rules that are defined on HTML selectors • Additionally LESS a CSS pre-processor is necessary • LESS provides additional features such as variables, functions and mixins etc • This makes CSS more maintainable, themable and extensible
  • 20. JS • For dependency management, Bower is used which is package manager for browser development • Require.js is a library for asynchronously loading Javascript dependencies within a web page • jQuery is used for DOM Navigation, Event Handling and AJAX calls with the server
  • 21. Responsive Web Design • Designing for large variety of devices with varying screen sizes and resolutions is difficult • To support multiple devices, a web design methodology called responsive web design (RWD) was used to provide optimal viewing experience across a wide range of devices • RWD achieves this capability with the help of CSS3 Media Queries which is a W3C Recommendation
  • 23. Development Environment • Ideally, the development environment must be similar to the production environment • Vagrant is a Free and Open Source Software (FOSS) for creating and configuring virtual development environments • This setup ensures that environment related bugs are kept to a minimum
  • 24. Development Environment • Any Software Project would involve multiple developers working together. • That fact brings about the need for a version control system (VCS) since a version control system makes tracking changes easy • The Git Distributed Version Control System (DVCS) was used to commit and track code changes and was hosted in a GitHub repository
  • 25. Load Testing • Developers typically measure a Web application’s quality of service in terms of response time, throughput, and availability • Load testing measures an application’s QoS performance based on actual customer behavior • When customers access the site, a script recorder uses their requests to create interaction scripts • A load generator then replays the scripts, possibly modified by test parameters, against the website
  • 27. Machine Learning Based Recommendation Algorithms • To illustrate the intelligence portion of the system, Apriori and sequential pattern based machine learning algorithms were employed • Both algorithms take the transaction data of user purchases as input based on which each algorithm individually makes predictions on what the user might buy next • Although both algorithms try to find frequently occurring patterns in the dataset, they employ different methodologies and hence come up with slightly different results • The algorithms were implemented using the R programming language
  • 28. Apriori Based Algorithm • The Apriori algorithm takes the historical transaction data of users (stored in the database) so that it can identify frequently occurring itemsets that can then be formulated into association rules. • For example a rule might be where a user who buys a smartphone is also likely to buy earphones, that is {smartphone} => {earphone} • Such a rule can be found by the algorithm if there are enough transactions to support it • These rules ultimately become insights on what the user might do next and can be given as product recommendations within the application
  • 30. Sequential Pattern Mining Based Algorithm • The sequential pattern mining algorithm also attempts to mine relevant patterns from available data, but it additionally takes the order of the pattern into account • The algorithm tries to find patterns based on the order in which transactions take place • There are many variations of the sequential pattern mining algorithm, the one used by the program is called SPADE (Sequential PAttern Discovery using Equivalence classes)
  • 31. Sequential Pattern Mining Based Algorithm
  • 32. Cloud Based Development Environment Technology Software/Tool CDN CloudFront Load Balancer HA Proxy Server Instances Ubuntu 14.04 Distributed Cache Redis RDBMS MySQL Assets Storage AWS S3 Orchestration & Provisioning Chef
  • 33. Backend Development Environment Technology Software/Tool Server Language Node.js Server Package Management NPM MVC Framework Express.js Template Engine Jade ORM Node-ORM Redis Library Node_redis Authentication Passport.js
  • 34. Front End Development Environment Technology Software/Tool Content HTML Presentation CSS Interactivity JS RWD Framework Bootstrap CSS Pre-processor LESS Frontend Framework jQuery Frontend Package Management Bower Dynamic Script Injection Require.js
  • 35. Other Tools Technology Software/Tool Machine Learning Tool R Load Testing Apache Jmeter Development Virtualization Vagrant VCS Git VCS Hosting GitHub
  • 40. Conclusion • We presented a workflow for creating online applications deployed in a cloud environment • We looked at its cloud architecture in exhaustive detail and how different cloud appliances such as virtual machines, load balancers etc interact with each other • We also focused on how such an application is built from the ground up, including its backend architecture, user interface built using the responsive web design technique as well as its development workflow
  • 41. Conclusion • For completeness, we examined how such a cloud application should be tested to ensure its reliability at scale • Finally, we explored how such a system could leverage the vast amounts of data it collects and employed Apriori and sequential pattern based machine learning algorithms to generate insights about its users • Using these insights the application can better assist its customers by providing relevant and timely recommendations based on their behavior
  • 42. Future Work • In future works, we plan to explore the performance of algorithms used in such a cloud application and interoperability between two or more algorithms and the usage of a more distributed architecture, such as Hadoop for the machine learning setup
  • 44. January 9, 2016 Data Mining: Concepts and Techniques 44 The Apriori Algorithm — Example TID Items 100 1 3 4 200 2 3 5 300 1 2 3 5 400 2 5 Database D itemset sup. {1} 2 {2} 3 {3} 3 {4} 1 {5} 3 itemset sup. {1} 2 {2} 3 {3} 3 {5} 3 Scan D C1 L1 itemset {1 2} {1 3} {1 5} {2 3} {2 5} {3 5} itemset sup {1 2} 1 {1 3} 2 {1 5} 1 {2 3} 2 {2 5} 3 {3 5} 2 itemset sup {1 3} 2 {2 3} 2 {2 5} 3 {3 5} 2 L2 C2 C2 Scan D C3 L3itemset {2 3 5} Scan D itemset sup {2 3 5} 2

Notas del editor

  1. The motto of the CDN is to serve content with high availability and performance
  2. Using such a setup increases the reliability and efficiency of the overall architecture
  3. In a cloud computing setup, middleware or more popularly ‘cloud middleware’ is software that connects an application/service to another application/service. The most common example of a middleware would be a message queue or a distributed cache.
  4. That is, there are two (or more) identical MySQL instances having the same schema and data and a single instance is usually designated as the master and all the others are slaves of the master
  5. The critical requirement is to ensure that information is presented in a readable format.
  6. But using CSS alone it is not possible to declare variables or functions, that is no form of abstraction is possible, which is where LESS comes in. Being a dynamic stylesheet language LESS provides additional features above CSS such as variables, functions and mixins etc which makes CSS more maintainable, themeable and extensible It can be defined in three types which are Inline, Internal and External
  7. Its sole purpose is to manage frontend assets or libraries that the application relies on. This may include javascript files, css, images, fonts etc Bower uses a configuration file usually called ‘bower.json’ in which the frontend dependencies along with their version numbers are defined Require.js loads all dependencies of a web page in an asynchronous manner so that they do not block page load The overall Javascript interactivity of the application is facilitated with the help of jQuery The benefit in this setup is that if another person is collaborating in development all they need to do is take the configuration file from version control and run bower install, after that they will have all dependencies required to run the application
  8. so that environment/operating system related bugs could be prevented Lets say the production environment is in Ubuntu while the developer works using a Windows machine
  9. It becomes essential to move to a previous stable state
  10. The standard Apriori algorithm is sequence agnostic, that is the association rules {smartphone, earphone} =&amp;gt; {watch} and {earphone, smartphone} =&amp;gt; {watch} are considered equivalent