• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
SaaS - Software as a Service - Charles University - Prague - March 2013
 

SaaS - Software as a Service - Charles University - Prague - March 2013

on

  • 939 views

A presentation about what it takes to deliver a SaaS product as opposed to the traditional software engineering. Delivered to the students of computer science at Charles University, Prague on March 6 ...

A presentation about what it takes to deliver a SaaS product as opposed to the traditional software engineering. Delivered to the students of computer science at Charles University, Prague on March 6 2013 as part of the Commercial Workshop series.

Statistics

Views

Total Views
939
Views on SlideShare
819
Embed Views
120

Actions

Likes
2
Downloads
18
Comments
0

13 Embeds 120

http://jgergic-tech.blogspot.cz 71
http://jgergic-tech.blogspot.com 14
https://twitter.com 8
http://jgergic-tech.blogspot.ru 7
http://jgergic-tech.blogspot.de 5
http://jgergic-tech.blogspot.in 4
http://jgergic-tech.blogspot.sk 3
http://jgergic-tech.blogspot.co.uk 3
http://jgergic-tech.blogspot.fr 1
http://jgergic-tech.blogspot.ch 1
http://jgergic-tech.blogspot.ca 1
http://jgergic-tech.blogspot.co.nz 1
http://jgergic-tech.blogspot.dk 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    SaaS - Software as a Service - Charles University - Prague - March 2013 SaaS - Software as a Service - Charles University - Prague - March 2013 Presentation Transcript

    • Software as a ServiceJaroslav Gergic Commercial Workshops seriesVP, R&D and Operations, GoodData @ D3S MFF UKjaroslav.gergic@gooddata.com March 6 2013
    • The old way…Report Dashboard XLS Reporting & BI hasCube Cube Cube always been a VALUE CHAIN Datamart Datamart Multiple PRODUCTS Multiple DEVELOPMENT CYCLES Data Warehouse High IMPLEMENTATION COSTS High SUPPORT COSTS Dedicated HARDWARE ETL Dedicated IT RESOURCES
    • Helpingorganizations…. analyze their own data embed analytics into their solution Internal Powered By
    • Traditional Enterprise Software vs. Software as a Service● hosted by customer ● hosted by SaaS provider● HW & Infrastructure costs ● shared Infrastructure borne by customer ● economies of scale
    • Traditional Enterprise Software vs. Software as a Service● multiple HW/SW vendors ● integrated solution● SW integrators delivered over the Internet
    • Traditional Enterprise Software vs. Software as a Service● multiple HW/SW vendors ● integrated solution● SW integrators delivered over the● frequent code Internet customizations ● single codebase for● armies of technical everybody consultants ● functional & business consulting
    • Traditional Enterprise Software vs. Software as a Service● multiple HW/SW vendors ● integrated solution● SW integrators delivered over the● frequent code Internet customizations ● single codebase for● armies of technical everybody consultants ● functional & business● blurred line between code consulting and configuration changes ● customer configuration changes possible
    • Benefits of SaaS - Focus on Customer Value● simplified and consolidated infrastructure allows to focus on customer features instead of technicalities● easier to accumulate expertise and best practices in a particular domain or industry vertical● enabling customers to benefit from collective knowledge
    • Benefits of SaaS - Faster Innovation Cycle● traditional enterprise SW: annual or semi-annual cycle● SalesForce.com pioneer of Enterprise SaaS: seasonal● GoodData: major release every 2 weeks● Continuous Delivery - updates daily or several times a day
    • What does it take to be a SaaS Provider? ?
    • What does it take to be a SaaS Provider? Account Management Marketing Support Sales Operations Services Development Product Management
    • What does it take to be a SaaS Provider? Account Management Marketing Support Sales Operations Services Development Product ManagementThere are two upper-case ‘S’ letters in SaaS: Software as a Service
    • DevOps in a SaaS Company● What is DevOps?
    • DevOps in a SaaS Company● What is DevOps? ○ integrated Development & Operations● OK, so What do DevOps do?
    • DevOps in a SaaS Company● What is DevOps? ○ integrated Development & Operations● OK, so What do DevOps do? ○ Beware: The code you write can wake you up in the middle of the night! (Literally speaking.)
    • DevOps in a SaaS Company● What is DevOps? ○ integrated Development & Operations● OK, so What do DevOps do? ○ It is not only about developing software, it is also about running it on behalf of your customers.
    • DevOps in a SaaS Company● What is DevOps? ○ integrated Development & Operations● OK, so What do DevOps do? ○ It is not only about developing software, it is also about running it on behalf of your customers: ■ monitoring, error reporting & alerting ■ ongoing performance optimizations & fine tuning ■ incremental feature rollouts (risk mitigation)
    • DevOps in a SaaS Company● What is DevOps? ○ integrated Development & Operations● OK, so What do DevOps do? ○ It is not only about developing software, it is also about running it on behalf of your customers: ■ monitoring, error reporting & alerting ■ ongoing performance optimizations & fine tuning ■ incremental feature rollouts (risk mitigation)● All the above influences the way we architect and develop our software and technologies we use.
    • SaaS Software Development Methodology● 3 sources of change requests in a SaaS company ○ Customers - escalated support tickets ○ Internal - proactive improvements based on monitoring ○ Product Management - new features
    • SaaS Software Development Methodology● 3 sources of change requests in a SaaS company ○ Customers - escalated support tickets ○ Internal - proactive improvements based on monitoring ○ Product Management - new features● Kanban over SCRUM
    • SaaS Software Development Methodology● 3 sources of change requests in a SaaS company ○ Customers - escalated support tickets ○ Internal - proactive improvements based on monitoring ○ Product Management - new features● Kanban over SCRUM ○ need to incorporate operational aspects ○ customer problems cant wait until the next iteration ○ splitting development and sustaining teams destroys sense of ownership
    • SaaS Software Development Methodology● 3 sources of change requests in a SaaS company ○ Customers - escalated support tickets ○ Internal - proactive improvements based on monitoring ○ Product Management - new features● Kanban over SCRUM ○ need to incorporate operational aspects ○ customer problems cant wait until the next iteration ○ splitting development and sustaining teams destroys sense of ownership● Autonomous Cross-Functional Teams
    • SaaS Software Development Methodology● 3 sources of change requests in a SaaS company ○ Customers - escalated support tickets ○ Internal - proactive improvements based on monitoring ○ Product Management - new features● Kanban over SCRUM ○ need to incorporate operational aspects ○ customer problems cant wait until the next iteration ○ splitting development and sustaining teams destroys sense of ownership● Autonomous Cross-Functional Teams ○ versus traditional Development / QA / Operations split ○ difficult with the respect to regulatory compliance
    • Developing Cloud SaaS Product● think about operational aspects during since beginning:
    • Developing Cloud SaaS Product● think about operational aspects during since beginning: ○ security ■ IDS systems, audit logging ■ regular penetration testing
    • Developing Cloud SaaS Product● think about operational aspects during since beginning: ○ security ■ IDS systems, audit logging ■ regular penetration testing ○ performance ■ collect statistics at runtime ■ Splunk
    • Developing Cloud SaaS Product● think about operational aspects during since beginning: ○ security ■ IDS systems, audit logging ■ regular penetration testing ○ performance ■ collect statistics at runtime ■ Splunk ○ deployment automation ■ operating hundreds of servers ■ Puppet
    • Developing Cloud SaaS Product● think about operational aspects during since beginning: ○ security ■ IDS systems, audit logging ■ regular penetration testing ○ performance ■ collect statistics at runtime ■ Splunk ○ deployment automation ■ operating hundreds of servers ■ Puppet ○ monitoring and logging ■ alerts, troubleshooting and debugging ■ Incinga, Splunk, Ganglia
    • Mastering Many Diverse Technologies to Implement Full Stack● Programming Languages ○ backbone: Erlang/OTP, backend: Java, Perl, C ○ tools: Perl, Python, frontend: HTML5, JavaScript● Databases ○ PgSQL, Vertica - backend, MongoDB - metadata ○ Cassandra - multi-master geo-replication● ETL ○ CloudConnect (proprietary, based on CloverETL engine) ○ AWS Elastic Map Reduce (Hadoop)● Cloud Platforms ○ AWS (EC2, S3, SES, EBS, EMR) ○ OpenStack (private cloud)
    • Mastering Many Diverse Technologies to Implement Full Stack ... continued● Version Control ○ GIT (legacy) ○ GitHub - both private & open source repositories● Continuous Integration ○ Jenkins● Deployment Automation ○ Puppet● Log Analysis ○ Splunk (~200GB of logs processed daily)● Last but not least... ○ We use algebra to model our proprietary query language called MAQL!
    • Thank You!