Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless & Restless

GDP Labs
September 24, 2016

Serverless & Restless

GDP Labs

September 24, 2016
Tweet

More Decks by GDP Labs

Other Decks in Technology

Transcript

  1. Serverless & Restless On Lee CTO of GDP Venture, GDP

    Labs and COO & CTO of KASKUS linkedin.com/in/onlee
  2. MARTIN HARTONO CEO ON LEE CTO Product Manager User Experience

    Program Manager Developer Infrastructure ABOUT GDP LABS Background: Teaching assistant Research Assistant Competitive programmers MAJORITY ARE MILLENIALS 150 PEOPLE AND GROWING
  3. ABOUT GDP LABS The war for talent ("shortage") refers to

    an increasingly competitive landscape for recruiting and retaining talented employees in software and internet industry globally including Indonesia Location: Jakarta, Bandung, Yogya Founded: June 2012 INTERNATIONAL & NATIONAL PROGRAMMING COMPETITIONS WINNINGS 99 COMPETITIONS COMPETITIONS 252 252 Well-rounded DIFFERENTIATORS Engineering Centric
  4. ABOUT GDP LABS Core Value Continuous Learning Sharing What We

    Do • Help sister companies • Incubate startups • Keep learning new technologies
  5. ABOUT GDP LABS Products • Chatting Platform • HR &

    Payroll Platform • Programming Assistant Platform • Social Media Platform Technologies Mobile Internet Cloud Machine Learning Social Media
  6. Front-End Technologies Front-End Technologies Google's Polymer Dojo Toolkit jQuery midori

    MooTools Prototype JavaScript Framework AnyChart Highcharts D3.js JavaScript InfoVis Toolkit Pixi.js CreateJS Fabric.js Raphaël p5.js Processing.js Plotly Three.js SWFObject ZingChart Ext JS Bootstrap Dojo Widgets jQuery UI DHTMLX Kendo UI WinJS Handlebars Socket.IO Cascade Framework Rico Modernizr Joose AngularJS FancyGrid jQWidgets Google Closure Library Microsoft's Ajax library jQuery Mobile Velocity.js Underscore.js Mustache ZURB Foundation YUI Library Wijmo 5 MochiKit PDF.js Spry framework Rialto Toolkit Mojito SproutCore CanvasJS Backbone.js Chaplin.js Cappuccino Mocha Jasmine QUnit JavaScriptMVC Google Web Toolkit Meteor Knockout Ember.js Echo Ext JS Enyo Wakanda Framework WhitestormJS SmartClient Webix qooxdoo Ignite UI Unit.js React.js Express
  7. Back-End Technologies Java PHP Python Apache Shale Apache Struts 2

    Apache Eclipse RAP FormEngine Google Web Toolkit Hamlets JBoss Seam OpenLaszlo Oracle ADF Jspx-bay OpenXava Oracle ADF RIFE Spark Spring Stripes Takes VRaptor Apache Tapestry Brutos Framework Apache Wicket AppFuse Grails Wavemaker WebObjects WebWork WebJ framework Apache Click Jspx-bay JVx OpenXava ThinWire Vaadin JavaServer Faces (Mojarra) Apache Sling OpenLaszlo Play Apache OFBiz ItsNat Ze Framework ztemplates Spring Frameworks Laravel Agavi Banshee CakePHP Fat-Free FuelPHP Gyroscope Hazaar MVC Kajona Kohana Lithium Nette Framework Nova Framework PRADO Silex SilverStripe Smart.Framework Symfony TYPO3 Flow Yii Zend Framework Zikula CodeIgniter Bottle BlueBream CubicWeb Django Nagare pyck Pyjs Pylons CherryPy Pyramid Tornado Grok TACTIC TurboGears web2py Webware Zope 2 Flask
  8. Microservice Architecture While there is no precise definition of this

    architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data. Source:James Lewis, Martin Fowler. http://martinfowler.com/articles/microservices.html
  9. Serverless Architecture It refer to applications that significantly depend on

    third-party services (knows as Backend as a Service or "BaaS") or on custom code that's run in ephemeral containers (Function as a Service or "FaaS"), the best known vendor host of which currently is AWS Lambda. By using these ideas, and by moving much behavior to the front end, such architectures remove the need for the traditional 'always on' server system sitting behind an application. Depending on the circumstances, such systems can significantly reduce operational cost and complexity at a cost of vendor dependencies and (at the moment) immaturity of supporting services. Source: Mike Roberts. http://martinfowler.com/articles/serverless.html
  10. X as a Service FaaS Functions as a Service SaaS

    Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service
  11. Serverless Challenges Unknown New Programming Model 0001 1001 0100 0111

    Stateless Vendor Specific Lost of Server Control Testing
  12. Serverless Benefits Quick Turnaround Save Cost • Pay per user

    by 100 ms granularity • No capital expense • Operational • Development • Scaling (peak traffics) Deployment $
  13. Sample Implementation Serverless wiki (internal GDP Labs) AWS S3 AWS

    Lambda HTML 5 HTML 5 Javascript Typescript Angular 2 HTML 5 Java Spring GraphQL
  14. • (page 12)
 Amazon S3 Pushes Events and Invokes a

    Lambda Function
 • (page 63)
 Programming Model for Authoring Lambda Functions in Java • (page 65, 66)
 Java HelloWorld code
 • (Java, page 74)
 The Context Object
  15. Source: https://code.facebook.com/posts/1691455094417024 A GraphQL query is a string that is

    sent to a server to be interpreted and fulfilled, which then returns JSON back to the client.
  16. • GraphQL vs REST API
 • Getting Started • JavaScript

    version • Java version • Star War API - GraphiQL Tool • Wrapping a REST API in GraphQL