New Mexico State University

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Introduction to Backend James Kahng. Install Node.js.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leader : Ahmed RHIAT.
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
N-Tier Architecture.
- 1 - Grid Programming Environment (GPE) Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
1 Overview of Databases. 2 Content Databases Example: Access Structure Query language (SQL)
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
ArcGIS Server for Administrators
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
MongoDB is a database management system designed for web applications and internet infrastructure. The data model and persistence strategies are built.
HTML5 AND THE FUTURE JAVASCRIPT PLATFORM Marcelo Lopez Ruiz Senior Software Design Engineer Microsoft Corporation.
MongoDB First Light. Mongo DB Basics Mongo is a document based NoSQL. –A document is just a JSON object. –A collection is just a (large) set of documents.
Orion Contextbroker PROF. DR. SERGIO TAKEO KOFUJI PROF. MS. FÁBIO H. CABRINI PSI – 5120 – TÓPICOS EM COMPUTAÇÃO EM NUVEM
AZ PASS User Group Azure Data Factory Overview Josh Sivey, Solution Partner October
Fault – Tolerant Distributed Multimedia Streaming Web Application By Nirvan Sagar – Srishti Ganjoo – Syed Shahbaaz Safir
Sausalito: An Application Server for RESTful Services in the Cloud Matthias Brantner & Donald Kossmann 28msec Inc.
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
Introduction to Mongo DB(NO SQL data Base)
The Holmes Platform and Applications
Platform as a Service (PaaS)
Progress Apama Fundamentals
Platform as a Service (PaaS)
HMVR System Final Presentation
The Client-Server Model
N-Tier Architecture.
Improving searches through community clustering of information
Google App Engine Mandeep Singh (37926)
CS122B: Projects in Databases and Web Applications Winter 2017
Understanding SOAP and REST calls The types of web service requests
REST: Web Services Abel Sanchez.
MongoDB Er. Shiva K. Shrestha ME Computer, NCIT
Node.js Express Web Services
Unit – 5 JAVA Web Services
Attie Bioinformatics Server Redesign
Modern Databases NoSQL and NewSQL
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
The Client/Server Database Environment
Post-relational databases What's wrong with web development?
Applied Cyber Infrastructure Concepts Fall 2017
Task Management System (TMS)
Ramesh Baral Team: Marjani Peterson, Andre Guerrero
…and web frameworks in general
Testing REST IPA using POSTMAN
WEB API.
CS6604 Digital Libraries IDEAL Webpages Presented by
Auth0 Is Identity Made Simple for Developers, Built by Developers and Supported by the High Availability and Performance of Microsoft Azure MICROSOFT AZURE.
Lecture 1: Multi-tier Architecture Overview
Appcelerator Arrow: Build APIs in Minutes. Connect to Any Data Source
Implementing Listening Producers in IBM Sterling Filegateway
$, $$, $$$ API testing Edition
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Agile testing for web API with Postman
ARCHITECTURE OVERVIEW
Database Management Systems
…and web frameworks in general
Developing Microsoft Azure Solutions Jump Start
AIMS Equipment & Automation monitoring solution
Python and REST Kevin Hibma.
Week 05 Node.js Week 05
UFCEUS-20-2 Web Programming
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
What is UiPATH? For more details visit this link online-training.
Presentation transcript:

New Mexico State University Capstone Data Analysis Services: Microservices Early Implementation (RESTful microservices and Document Database) July 27th, 2016 Andre Guerrero New Mexico State University RESTful microservices - how we can use this approach to deploy distributed and parallel task execution, that is also resilient, fault tolerant Document DB – Not a regular RDB with tables, and primary keys, and joins. It stores whole JSON documents. Different Schema. Advantages of using it instead of RDB The technologies – Here we used Flask and Flask-RESTful, and mongoDB. And python as a primary programming language.

This presentation will focus on: Introduction This presentation will focus on: concepts of RESTful microservices; Document databases; The technologies used to implement these concepts. RESTful microservices - how we can use this approach to deploy distributed and parallel task execution, that is also resilient, fault tolerant Document DB – Not a regular RDB with tables, and primary keys, and joins. It stores whole JSON documents. Different Schema. Advantages of using it instead of RDB The technologies – Here we used Flask and Flask-RESTful, and mongoDB. And python as a primary programming language. 1

The Architecture Here is the whole application architecture. The same that Ramesh previously presented, but in a different layout. We focus on instances 2 and 3, which is where the Microservices and Document DB have been deployed. 2

What is a Microservice? Independent modules; -Services are processes that communicate with each other over the network. -These services use technology agnostic protocols. -Examples with the calculator functions. Netflix started moving to microservices about 6 years ago. Today it features about two billion API edge requests every day which are handled by approximately 500+ microservices. Netflix also run on top of AWS, just like us! Independent modules; Communicate over the network; Agnostic languages / protocols. 3

What is a RESTful API? REST = Representational State Transfer; HTTP methods: GET, POST, PUT, DELETE REST = Representational State Transfer; Architecture for designing networked applications; Simple HTTP(S) to make calls between machines. 4

Our Microservices + REST design Show that services respond as JSON or HTML Show that services could talk to the DB to store medatada 5

Flask Overview Flask is a web framework that provides tools, libraries and technologies to build a web application. Flask is lightweight and makes it easy to build and deploy RESTful microservices. Vendors (Amazon /Rackspace) are creating architectures that support Flask Compare with Jango, RoR 6

DocumentDB It naturally fits our JSON approach to data transferring JSON = JavaScript Object Notation RDL: I added a comment about the advantage of using DocumentDB – i.e. its flexibility. If not accurate feel free to remove. I thought it might Set the stage for your advantages slide up next. A flexible database work working with heterogeneous data objects… 7

Some DocumentDB advantages Schema Free; Easy to deploy and modify; Great for rapid prototyping; Queryable documents; Ease of scale-out. -Schema Freee means no Alter Table. The ALTER TABLE command required to add a single, new field to Craiglist’s MySQL database would take months to execute. -Even if you store a document in RDB, you can’t query it. In DocumentDB you can query by any term inside the document. - MongoDB has auto-sharding, which splits and manage data in multiple server for scale-out (cheaper than scale-up). Two main features: easy to deploy and good performance right out-of-the-box 8

Our DocumentDB architecture And besides slicer, there can be as many microservice tasks as needed. (not show for space). It also allow us to persist, reproduce a whole workflow easily. Each document has a li9nk to it’s parent, so we can reproduce the whole workflow. Track documents, reuse a few tasks. This can save execution time. 9

Uses of Flask and MongoDB Trusted by: Does not mean they use for they whole system!!!!! -Pinterest uses Flask for since late 2011. 12 billion request per day! -Linked-in uses Flask as internaly https://www.quora.com/What-is-the-largest-site-created-using-Flask 10

Conclusions and Future Work Good architectural approach! How we would like it to be: Implement automated deployment for microservices; More microservices for different use cases; UI for workflow creation (visually connect microservices); User login, authentication; Use the DB to discover, share, and re-run workflows; Deploy for users! This architecture/technologies has ben used by many big companies, Netflix, Ebay, EA. IT worked well for us in just less than 3 months. 11

Questions? Brace yourselves Questions are coming! 12

RDBMS vs MongoDB naming

RDBMS vs MongoDB Query