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

Software as a Service

Software as a Service

Introduction to SaaS

Joe Lennon

March 08, 2013
Tweet

More Decks by Joe Lennon

Other Decks in Education

Transcript

  1. Cloud Hosting Platforms You can get a free AWS instance

    for a year. Heroku apps are free to start off. Windows Azure is available free to many people - as students you probably have access to free Azure accounts. Linode virtual servers can be provisioned in seconds for $20/month. Digital Ocean provide 512MB virtual servers for only $5/month.
  2. Build for the Web (and for Mobile) The Web is

    the main platform for SaaS applications. Of course, most SaaS apps are also mobile-ready.
  3. Web Application Architecture Client Side HTML(5) CSS(3) JavaScript DOM Libraries

    MVC Libraries Templating JSON Server Side Database Application Server Server-side Frameworks 3rd party APIs Sockets OAuth Security
  4. CoreHR Example Last Wednesday, we built a real-time video interview

    app in one day. Peer-to-peer video conferencing Real-time chat File sharing Candidate profile information Compare with other candidates And more.
  5. CoreHR Example - Tech Used HTML5 CSS3 JavaScript WebRTC Web

    Sockets Node.js Oracle Database WebLogic App Server PL/SQL JSON ExtJS XTemplates
  6. Node.js We’ve seen how to build client-side apps using JavaScript.

    Node.js brings JavaScript to the server-side. It’s great for building real-time communication applications (chat, video conferencing, file sharing)
  7. A Video & Text Chat Server in Node.js var  app

     =  require('express')(); var  server  =  require('http').createServer(app); var  webRTC  =  require('webrtc.io').listen(server); var  port  =  process.env.PORT  ||  8080; server.listen(port); webRTC.rtc.on('chat_msg',  function(data,  socket)  {   var  roomList  =  webRTC.rtc.rooms[data.room]  ||  [];   for  (var  i  =  0;  i  <  roomList.length;  i++)  {     var  socketId  =  roomList[i];     if  (socketId  !==  socket.id)  {       var  soc  =  webRTC.rtc.getSocket(socketId);       if  (soc)  {         soc.send(JSON.stringify({           "eventName":  "receive_chat_msg",           "data":  {             "messages":  data.messages           }         }),  function(error)  {});       }     }   } });
  8. Some examples Freemium Give it away for free, charge for

    premium features Ad-supported Give it away for free, make revenue from advertising Affiliate Make money by redirecting visitors elsewhere Pay as you go Pricing per user, per month, per use, etc. Traditional Up-front licence fee + annual support/maintenance
  9. GitHub Enterprise Pricing 20 users = $5,000/year 40 users =

    $10,000/year 80 users = $20,000/year 320 users = $80,000/year 500 users = $125,000/year 3,000 users = $750,000/year