saas - software as a service - charles university - prague - march 2013
DESCRIPTION
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.TRANSCRIPT
![Page 1: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/1.jpg)
Jaroslav GergicVP, R&D and Operations, [email protected]
Commercial Workshops series@ D3S MFF UK
March 6 2013
Software as a Service
![Page 2: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/2.jpg)
Reporting & BI has always been aVALUE CHAINMultiple PRODUCTSMultiple DEVELOPMENT CYCLESHigh IMPLEMENTATION COSTSHigh SUPPORT COSTSDedicated HARDWAREDedicated IT RESOURCES
Data Warehouse
Report
ETL
Datamart Datamart
Cube Cube Cube
Dashboard XLS
The old way…
![Page 3: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/3.jpg)
![Page 4: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/4.jpg)
Helping
organizations….analyze their own data embed analytics into their solution
Internal Powered By
![Page 5: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/5.jpg)
Traditional Enterprise Software vs.
Software as a Service
● hosted by SaaS provider● shared Infrastructure● economies of scale
● hosted by customer● HW & Infrastructure costs
borne by customer
![Page 6: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/6.jpg)
Traditional Enterprise Software vs.
Software as a Service
● integrated solution delivered over the Internet
● multiple HW/SW vendors● SW integrators
![Page 7: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/7.jpg)
Traditional Enterprise Software vs.
Software as a Service
● integrated solution delivered over the Internet
● single codebase for everybody
● functional & business consulting
● multiple HW/SW vendors● SW integrators● frequent code
customizations
● armies of technical consultants
![Page 8: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/8.jpg)
Traditional Enterprise Software vs.
Software as a Service
● integrated solution delivered over the Internet
● single codebase for everybody
● functional & business consulting
● customer configuration changes possible
● multiple HW/SW vendors● SW integrators● frequent code
customizations
● armies of technical consultants
● blurred line between code and configuration changes
![Page 9: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/9.jpg)
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
![Page 10: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/10.jpg)
● 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
Benefits of SaaS - Faster Innovation Cycle
![Page 11: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/11.jpg)
What does it take to be a SaaS Provider?
?
![Page 12: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/12.jpg)
Marketing
What does it take to be a SaaS Provider?
Sales
Account Management
Services
Support
Product Management
Development
Operations
![Page 13: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/13.jpg)
Marketing
What does it take to be a SaaS Provider?
Sales
Account Management
Services
Support
Product Management
Development
Operations
There are two upper-case ‘S’ letters in SaaS: Software as a Service
![Page 14: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/14.jpg)
DevOps in a SaaS Company
● What is DevOps?
![Page 15: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/15.jpg)
DevOps in a SaaS Company
● What is DevOps?○ integrated Development & Operations
● OK, so What do DevOps do?
![Page 16: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/16.jpg)
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.)
![Page 17: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/17.jpg)
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.
![Page 18: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/18.jpg)
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)
![Page 19: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/19.jpg)
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.
![Page 20: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/20.jpg)
● 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
![Page 21: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/21.jpg)
● 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
![Page 22: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/22.jpg)
● 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 can't wait until the next iteration○ splitting development and sustaining teams destroys
sense of ownership
SaaS Software Development Methodology
![Page 23: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/23.jpg)
● 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 can't wait until the next iteration○ splitting development and sustaining teams destroys
sense of ownership
● Autonomous Cross-Functional Teams
SaaS Software Development Methodology
![Page 24: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/24.jpg)
● 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 can't 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
SaaS Software Development Methodology
![Page 25: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/25.jpg)
● think about operational aspects during since beginning:
Developing Cloud SaaS Product
![Page 26: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/26.jpg)
● think about operational aspects during since beginning:○ security
■ IDS systems, audit logging■ regular penetration testing
Developing Cloud SaaS Product
![Page 27: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/27.jpg)
● 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
![Page 28: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/28.jpg)
● 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
![Page 29: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/29.jpg)
● 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
Developing Cloud SaaS Product
![Page 30: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/30.jpg)
● 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
![Page 31: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/31.jpg)
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!
![Page 32: SaaS - Software as a Service - Charles University - Prague - March 2013](https://reader036.vdocuments.mx/reader036/viewer/2022081403/554bc6aeb4c9053a298b56cc/html5/thumbnails/32.jpg)
Thank You!