SaaS - Software as a Service - Charles University - Prague - March 2013
-
Upload
jaroslav-gergic -
Category
Technology
-
view
819 -
download
1
description
Transcript of SaaS - Software as a Service - Charles University - Prague - March 2013
Jaroslav GergicVP, R&D and Operations, [email protected]
Commercial Workshops series@ D3S MFF UK
March 6 2013
Software as a Service
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…
Helping
organizations….analyze their own data embed analytics into their solution
Internal Powered By
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
Traditional Enterprise Software vs.
Software as a Service
● integrated solution delivered over the Internet
● multiple HW/SW vendors● SW integrators
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
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
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
● 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
What does it take to be a SaaS Provider?
?
Marketing
What does it take to be a SaaS Provider?
Sales
Account Management
Services
Support
Product Management
Development
Operations
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
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.
● 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 can't 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 can't 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 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
● 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
Developing Cloud SaaS Product
● 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
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!