More Related Content Similar to Software Engineering in the Age of SaaS and Cloud Computing - SERA 2013 - MFF UK - August 2013 (20) Software Engineering in the Age of SaaS and Cloud Computing - SERA 2013 - MFF UK - August 20131. ©2013 GoodData Corporation. All rights reserved.
SOFTWARE ENGINEERING
IN THE AGE OF SAAS AND
CLOUD COMPUTING
Jaroslav Gergic
VP, R&D and Operations, GoodData
jaroslav.gergic@gooddata.com
SERA 2013
@ MFF UK
August 7 2013
2. ©2013 GoodData Corporation. All rights reserved.
OUR
AGENDA
● Introduction
● Software as a Service
● Cloud Computing
● Impact on Software Engineering
● Discussion
© 2013 GoodData Corporation. All rights reserved
3. ©2013 GoodData Corporation. All rights reserved.
Reporting & BI has
always been a
VALUE CHAIN
Multiple PRODUCTS
Multiple DEVELOPMENT CYCLES
High IMPLEMENTATION COSTS
High SUPPORT COSTS
Dedicated HARDWARE
Dedicated IT RESOURCES
Data Warehouse
Report
ETL
Datamart Datamart
Cube Cube Cube
Dashboard XLS
The old way…
4. ©2013 GoodData Corporation. All rights reserved.
Our Discussion
Agenda points
OUR VISION IS TO
CHANGE THE WAY
THE WORLD
EXPERIENCES
BUSINESS
INTELLIGENCE.
6. ©2013 GoodData Corporation. All rights reserved.
WHY GOODDATA
73,000Satisfied Users
99.5%
Uptime SLA
84.7%
Adoption
20B
Rows Under
Management
50+
PoweredBy
Partners
1,000,000
data integrations per week
28k
Users at one
customer
Security
Certified
20,000
Data Warehouses
Under
Management
1
Delightful
Interface
8. ©2013 GoodData Corporation. All rights reserved.
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
9. ©2013 GoodData Corporation. All rights reserved.
© 2013 GoodData Corporation. All rights reserved
Traditional Enterprise Software
vs. Software as a Service
● integrated solution
delivered over the
Internet
● multiple HW/SW
vendors
● SW integrators
10. ©2013 GoodData Corporation. All rights reserved.
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
© 2013 GoodData Corporation. All rights reserved
11. ©2013 GoodData Corporation. All rights reserved.
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
© 2013 GoodData Corporation. All rights reserved
12. ©2013 GoodData Corporation. All rights reserved.
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
© 2013 GoodData Corporation. All rights reserved
13. ©2013 GoodData Corporation. All rights reserved.
SAAS - FASTER INNOVATION CYCLE
● traditional enterprise SW:
○ annual or semi-annual cycle
● SalesForce.com pioneer of Enterprise SaaS:
○ seasonal releases
● GoodData: major release every month
○ minor updates 2 x week
● Next Stop: Continuous Delivery
14. Cloud Computing
"Cloud computing relies on sharing of resources to achieve coherence
and economies of scale similar to a utility (like the electricity grid) over a
network. At the foundation of cloud computing is the broader concept of
converged infrastructure and shared services."
(source: Wikipedia)
16. Cloud Computing
● public computing clouds further lower the capital needed to start
a SaaS company
● elasticity of clouds lets companies scale quickly and just-in-time
with little capital expenditure up-front
● cloud computing has become the catalyst
expediting the transition from traditional
behind-the-firewall software to SaaS
17. ©2013 GoodData Corporation. All rights reserved.
3 QuestionsOur Discussion
Agenda points
WHAT IS
THE IMPACT ON
SOFTWARE
ENGINEERING?
● the game has changed a lot...
● … if you happen to be in SaaS
18. ©2013 GoodData Corporation. All rights reserved.
● dynamics of change has increased
significantly from months to weeks
● vast scale of SaaS deployments means
hitting HW / SW limits all the time
● SaaS requires tightly Integrated
R&D + Operations + Customer Service
(note the second uppercase ‘S’ in SaaS)
WHAT
HAS CHANGED?
© 2013 GoodData Corporation. All rights reserved
19. ©2013 GoodData Corporation. All rights reserved.
● increased dynamics of change
too many fast changing variables
● hitting HW / SW limits all the time
hard to model and predict the next hot spot
layered approach does not work anymore
● Ops / Customer Experience / Service
software engineers need to broaden their skill set
WHAT
DOES IT MEAN?
© 2013 GoodData Corporation. All rights reserved
20. ©2013 GoodData Corporation. All rights reserved.
DEVELOPING
SAAS PRODUCT
© 2013 GoodData Corporation. All rights reserved
think about operational aspects:
● security
IDS systems, audit logging
regular penetration testing
● performance
collect statistics at runtime
identify hot-spots and remove on the fly
21. ©2013 GoodData Corporation. All rights reserved.
DEVELOPING
SAAS PRODUCT
© 2013 GoodData Corporation. All rights reserved
● deployment automation
operating hundreds of servers
virtual servers become equivalent to processes in
the traditional model
● monitoring and logging
alerts, troubleshooting and debugging
huge volume log files - grep no longer helps
Beware: The code you write can wake you up in
middle of the night! (Literally speaking.)
22. ©2013 GoodData Corporation. All rights reserved.
DEVELOPING
SAAS PRODUCT
© 2013 GoodData Corporation. All rights reserved
● It is not only about developing software, it is
also about running it on behalf of customers:
monitoring, error reporting & alerting
ongoing performance optimizations & fine tuning
incremental feature rollouts (risk mitigation)
● All the above influences the way you should
architect and develop your software and
technologies you use.
23. ©2013 GoodData Corporation. All rights reserved.
Our Discussion
Agenda points
KEYS TO SUCCESS
IN SAAS
● BE AGILE
YOU CAN’T PREVENT STUFF HAPPENING
YOU SAVE THE GAME IF YOU CAN FIX FAST
● BE FLEXIBLE
EMBRACE CHANGE
ONLY CHANGE IS GUARANTEED TO HAPPEN
● BE VERSATILE
END USER EXPERIENCE IS CRUCIAL IN SAAS
OWN IT - NO HANDOVERS