SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
SaaS startups
Software Engineering Challenges
Dr. Malinda Kapuruge
Deakin University - 16/12/16
Who am I ?
● Malinda Kapuruge (Kau)
● A Senior Software Engineer
● An avid reader about SaaS delivery model
● Currently work at a SaaS Startup
● Previous: Zendesk, DiUS, Swinburne, WSO2
kaushalye kaushalye kaushalye kaushalye
You are here because,
● Have an idea for a SaaS application, possibly a startup
● Potentially working for a SaaS startup once graduated
● Curious to know the challenges in the field
● Have no clue how I ended up here
This talk is about...
The engineering challenges faced by a business in its infancy (startup) that
delivers Software as a Service.
“As a Software Engineer
how do I better prepare
myself to find solutions to
such challenges?“
This talk is NOT about...
● How to evaluate the business
opportunity?
● How to get funding $$$
(self-funded / crowdsourcing /
venture capital)?
● Any good mentors?
● How to promote my business?
● Why startups fail?
● How to find a suitable place for
my startup in Melbourne (ask
me later)?
Engineering point of view
(Obviously, challenged by the business)
SaaS
● A software delivery method
● Multi-tenancy
● On-demand Self service
● Centrally managed
● Network-based access
● Pay per use (time, #users, #features)
SaaS (for software users)
PaaS (for developers)
IaaS (for SysAdmins) SaaS layer
Shared resources
tenants
users
Cloudstack
Startups
● Early stage of business
● Innovative product
● Success is not guaranteed
○ 37% for Information Technology*
● Usually a small team
● Limited
○ funding
○ resources
● Shared workplace
● Have to be ready for exponential growth
* http://www.statisticbrain.com/startup-failure-by-industry
Startups
https://www.startupmuster.com/Startup-Muster-2015-Report.pdf
Reasons
https://www.startupmuster.com/Startup-Muster-2015-Report.pdf
SaaS startups
● A startup that delivers Software as a Service
● Melbourne - one of the best startup hubs in world
● A good probability to start / work for a startup
Sources of challenges
Your own success...
Environment changes
Limited budget
Time
Some of the challenges
● Scalability
● Isolation
● Security
● Limited resources
● Software Provisioning
● Compliance requirements
Scalability
● Vertical and horizontal scalability
○ Vertical: Increasing resources for an instance
○ Horizontal: Increasing the number of instances
● Using a PaaS vs IaaS
○ E.g., Deploying app Heroku or Architecting the app on AWS.
● Time to scale
● Stateless applications
● Public APIs
Scalability > Stateless applications
● Stateless by design
● Application does not hold / remember state
● Start, stop, clone
● Requests could be routed to different processors
● Scalability, Elasticity, Performance and Reliability
● Complements Containerised architecture and virtualization
Scalability > Public APIs
● Go RESTful
○ Easy to understand
○ Kinda norm these days
● Why?
○ Do not have resources to develop extra features that the tenant
needs
○ Slightly varying tenant specific requirements
● Provide better flexibility for tenants
● Use via UI or via API (or use both)
UI
API
UI
SaaS
Public API design concerns, e.g., URIs
● Tenant independent URIs [api.myapp.com/v1/resource]
○ Clean URI, Common documentation
○ Need some way to identify tenant, e.g., oAuth, headers
○ Issues with caching in proxy
● Tenant specific subdomain [tenant1.myapp.com/v1/resource]
○ Possible to have service level as well as tenant level cookies
○ DNS provisioning overhead (if manual)
○ Wildcard SSL certificates
● Tenant specific URI [api.myapp.com/v1/tenant1/resource]
○ More RESTful
○ Simple to implement
Resource isolation
● Multi-tenancy is a key characteristic in SaaS
● Sharing underlying resources
● Economies of scale
● Noisy neighbours
● Privacy
● Application isolation
● Data isolation
❏ CPU
❏ Memory
❏ Disk
❏ Network
Resource isolation > Application level
● Eating my resources
● More like a IaaS layer concern than SaaS
○ Choice of Cloud technology
○ Configurabile strategies
● Isolation strategy?
○ Physical machine
○ VM
○ Container
● Design the application to avoid errors
○ Tenant accounts
○ Users of tenants
○ Threads
○ Queues
Resource isolation > Data level
● Different schema for different tenants?
○ Varying requirements of tenants
○ Impact on other tenants
● Sharding
○ Horizontal partitioning of tables
○ Each shard in a separate instance
○ Improved performance and scalability
● Co-locating data
○ Data of the same tenant in the same physical hardware
○ Avoids network traffic
○ Faster join operations
● No-SQL
○ Data structure vary between tenants
○ Partial updates
Resource isolation > Data - Example strategies
(#1)
Separate DB
instances for each
tenant
● Suitable for small number of tenants with
large number of users/transactions
● Because Contract / SLA
● Better data isolation
● High resource consumption
(#2)
Shared instance
and schema but
use tenant specific
identifier
● Very easy to implement
● Suitable for large number of small
tenants
● Poor data isolation
● Better resource consumption
(#3)
Same database
but different
schemas for each
tenant
● A mid-way approach compared to #1 and
#3
● Better isolation than #2
● Better resource consumption than #1
Security
● SaaS is essentially a web application
● Common threats e.g.,
○ Cross-site scripting (XSS), Untrusted data
○ Broken Authentication, Compromised session tokens
○ Cross-Site Request Forgery (CSRF), use browser to perform an unintended operation on
another website
● Security breaches are costly to the business
● Strict web application security practices
○ Tokenization
○ SSL
○ Session timeouts
● Seek help from third party security assessors
○ Penetration testing
○ Vulnerability assessment
Limited resources > Dev effort
● Focus on what you do
○ E.g., my primary business is invoicing.
○ Should I use an existing email notification service?
○ OR Write my own?
● Available options?
○ Do your research to compare the pros and cons
○ Time well-spent
● Look for
○ Flexible pricing models
○ Vendor-lockin issues
○ Scalability (Peak loads)
○ Quality of API, SDK (Reduce development effort and errors)
○ Security vulnerabilities
○ Customer service
SaaS layer
Limited resources > Quality assurance
● Lack of QA staff (may be zero)
○ Lack of quality in Software
○ Competitors
○ Customer satisfaction
● Outsourcing solutions
○ BugWolf
○ 99Tests
● Automated Testing tools
○ TestingBot
○ SauceLabs
○ BrowserStack
Software provisioning > Understanding agile
● Thinking MVP (minimum viable product)
○ The role of Software Engineer
○ To measure the complexity of delivering different features.
● Feature dependency analysis (technical perspective)
○ Feature X depends on Feature Y
○ Feature X can be better implemented if Feature Y is present
○ Feature X can be better designed based on the feedback of Feature
○ Co-existence of Feature X and Feature Y can cause issues
● Customizability
○ Quick customization to try out market segment
○ Quick demo to show to a potential investors
○ Sandbox environments
Software provisioning > Build pipeline
● Time to release a feature
● Plan -> Design -> Develop -> QA -> Deploy
● Software in the hand of users
● Feedback loop
● Slower the time to deliver -> slower the feedback
● Identifying bottlenecks
● Repeatable and reliable
Software Provisioning > Platform / Infrastructure
● PaaS or IaaS ?
● PaaS: e.g., Heroku, Openshift, Engine yard
● IaaS: e.g., AWS, Azure, Digital Ocean
● Do not try to reinvent the wheel, unless absolute necessity
● Go cheap. Spend money as you grow. E.g., Heroku dynos
Need a Demo Free dyno 512 MB RAM. $0/month. Sleeps after 30 mins inactivity
Have to Deploy MVP Hobby dyno 512 MB RAM. $7/month.
After 1 year - High traffic Performance-L dyno 2.5-14 GB RAM. $500/month.
Pricing solutions
● Pay as you go
● Subscriptions
● Separate pricing model from application logic
● Flexibility to change, self-service.
● Additional features, such as coupons, email notifications
● Merchant accounts
● Payment gateways vs 3rd party processors
○ 3rd party processors are less expensive in short term but could be expensive in long term
○ http://www.paymentgatewayaustralia.com/
Compliance requirements
● Customers of tenants
● Privacy issues
● Data locality issues
● Terms and Conditions
○ Legal issues
○ Professional advice
● Strong encryption mechanisms from the start
● PCI compliance
○ www.pcisecuritystandards.org
Compliance requirements > E.g., PCI - DSS
● Pay per use is an inherent SaaS characteristic
○ Collecting and storing credit card information
● PCI - DSS (Payment Card Industry - Data Security Standard)
○ A Self-assessment Questionnaire*, e.g., SAQ A-EP
● Levels of merchants
○ Level 1: more than 6 million tx / annum
○ Level 2: 1 to 6 million tx / annum
○ Level 3: 20k to 1 million tx / annum
○ Level 4: upto 20k tx / annum
● Perhaps too late when assessed
○ Penalties ($5,000 to $500,000)
○ Loss of business ($$$$)
● Pay attention when choosing deployment platforms
* www.pcisecuritystandards.org
● Need to be introduced very early stages of app / MVP
● Drive design solutions
○ Only 20% of tenants have more than 500 users
○ Only 1% of the users clicked on the feedback survey link
● Understanding usage patterns
○ Tenants
○ Users
● Collected Data -> Another business?
● Use Tools
○ Google analytics
○ MixPanel
○ AWS CloudWatch
Analytics
Other
● Do not unnecessarily restrict the system
○ Currently support only Australian phone numbers
○ Are we unnecessarily restricting ourselves to specific market segment / geographical area?
● Identifying performance bottlenecks
○ Overprovisioning resources
○ Optimizations
○ Saved money could be used elsewhere
● Study competitors
○ Myth: Not my task as a Software Engineer
● Do not hesitate to question the business
○ Myth: Not my task as a Software Engineer
Conclusions
● Be aware of these challenges
● Research solutions
● Learn new technologies
● Startups -> Limited resources -> Develop strategies
● Compromise. You have to.
● Managing tech debt vs feature push
● Complement business goals: 3 months -> 6 months -> 1 year
Thanks
Any Questions
?
References
● http://www.cloudcomputingpatterns.org/software_as_a_service/
● https://www.owasp.org
● https://startupaus.org/
● https://www.pcisecuritystandards.org/
● https://startupvictoria.com.au/
● https://www.startupmuster.com/

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOpsMaciej Lasyk
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopVelocidex Enterprises
 
Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17aspyker
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB DeploymentMongoDB
 
Real world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalReal world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalHoward Glynn
 
Appsec DC - wXf -2010
Appsec DC - wXf  -2010Appsec DC - wXf  -2010
Appsec DC - wXf -2010Chris Gates
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Chris Gates
 
Cassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of DutyCassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of DutyDataStax Academy
 
DevOpsDays - DevOps: Security 干我何事?
DevOpsDays - DevOps: Security 干我何事?DevOpsDays - DevOps: Security 干我何事?
DevOpsDays - DevOps: Security 干我何事?smalltown
 
Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1aspyker
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudVelocidex Enterprises
 
Simple Solutions for Complex Problems
Simple Solutions for Complex Problems Simple Solutions for Complex Problems
Simple Solutions for Complex Problems Apcera
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesRick Hightower
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCkscaldef
 
Microservices with Micronaut
Microservices with MicronautMicroservices with Micronaut
Microservices with MicronautQAware GmbH
 
Minions
MinionsMinions
Minionssixdub
 

Was ist angesagt? (20)

Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOps
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB Deployment
 
Node.js architecture (EN)
Node.js architecture (EN)Node.js architecture (EN)
Node.js architecture (EN)
 
Real world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalReal world cloud formation feb 2014 final
Real world cloud formation feb 2014 final
 
Appsec DC - wXf -2010
Appsec DC - wXf  -2010Appsec DC - wXf  -2010
Appsec DC - wXf -2010
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
 
Cassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of DutyCassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of Duty
 
DevOpsDays - DevOps: Security 干我何事?
DevOpsDays - DevOps: Security 干我何事?DevOpsDays - DevOps: Security 干我何事?
DevOpsDays - DevOps: Security 干我何事?
 
Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
 
Simple Solutions for Complex Problems
Simple Solutions for Complex Problems Simple Solutions for Complex Problems
Simple Solutions for Complex Problems
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
 
Bbva bank on Open Stack
Bbva bank on Open StackBbva bank on Open Stack
Bbva bank on Open Stack
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
 
Microservices with Micronaut
Microservices with MicronautMicroservices with Micronaut
Microservices with Micronaut
 
Minions
MinionsMinions
Minions
 

Andere mochten auch

Strategy toolbox for startsups
Strategy toolbox for startsupsStrategy toolbox for startsups
Strategy toolbox for startsupsAsher Sterkin
 
Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition
Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition
Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition saastr
 
Artificial Intelligence for Business - Version 2
Artificial Intelligence for Business - Version 2Artificial Intelligence for Business - Version 2
Artificial Intelligence for Business - Version 2Nicola Mattina
 
47 things I Wrote Down @ SaaStr Annual 2017
47 things I Wrote Down @ SaaStr Annual 201747 things I Wrote Down @ SaaStr Annual 2017
47 things I Wrote Down @ SaaStr Annual 2017stewartjer
 
Accelerating scale from startups to enterprise by Peter bakas
Accelerating scale from startups to enterprise by Peter bakasAccelerating scale from startups to enterprise by Peter bakas
Accelerating scale from startups to enterprise by Peter bakasIdo Shilon
 
AI in cloud
AI in cloudAI in cloud
AI in cloudprem1289
 
Startup & VC Tech Trends
Startup & VC Tech Trends Startup & VC Tech Trends
Startup & VC Tech Trends Dave McClure
 
How AI Is Transforming B2B Sales & Marketing by Olin Hyde
How AI Is Transforming B2B Sales & Marketing by Olin HydeHow AI Is Transforming B2B Sales & Marketing by Olin Hyde
How AI Is Transforming B2B Sales & Marketing by Olin HydeData Con LA
 
The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...
The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...
The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...Health Catalyst
 
Search Marketers’ Guide to Our New Robot Overlords #stateofsearch
Search Marketers’ Guide to Our New Robot Overlords #stateofsearchSearch Marketers’ Guide to Our New Robot Overlords #stateofsearch
Search Marketers’ Guide to Our New Robot Overlords #stateofsearchKelvin Newman
 
AI: The New Platform for SaaS
AI: The New Platform for SaaSAI: The New Platform for SaaS
AI: The New Platform for SaaSsaastr
 
4 Ways AI Can Help Your Small Business
4 Ways AI Can Help Your Small Business4 Ways AI Can Help Your Small Business
4 Ways AI Can Help Your Small BusinessKeita Broadwater
 
SaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive Advantage
SaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive AdvantageSaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive Advantage
SaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive AdvantageSarah Guo
 
Artificial Intelligence (AI) 100 Startups 2017
Artificial Intelligence (AI) 100 Startups 2017Artificial Intelligence (AI) 100 Startups 2017
Artificial Intelligence (AI) 100 Startups 2017Sota Watanabe
 
Mobile Is Eating the World (2014)
Mobile Is Eating the World (2014)Mobile Is Eating the World (2014)
Mobile Is Eating the World (2014)a16z
 
Mobile Is Eating the World (2015)
Mobile Is Eating the World (2015)Mobile Is Eating the World (2015)
Mobile Is Eating the World (2015)a16z
 
12 Key Levers of SaaS Success
12 Key Levers of SaaS Success12 Key Levers of SaaS Success
12 Key Levers of SaaS SuccessDavid Skok
 
How Deep Learning Changes the Design Process #NEXT17
How Deep Learning Changes the Design Process #NEXT17How Deep Learning Changes the Design Process #NEXT17
How Deep Learning Changes the Design Process #NEXT17Alexander Meinhardt
 
U.S. Technology Funding -- What's Going On?
U.S. Technology Funding -- What's Going On? U.S. Technology Funding -- What's Going On?
U.S. Technology Funding -- What's Going On? a16z
 

Andere mochten auch (20)

Strategy toolbox for startsups
Strategy toolbox for startsupsStrategy toolbox for startsups
Strategy toolbox for startsups
 
Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition
Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition
Bessemer Venture Partners: The State of the Cloud, 2017-2018 Edition
 
Artificial Intelligence for Business - Version 2
Artificial Intelligence for Business - Version 2Artificial Intelligence for Business - Version 2
Artificial Intelligence for Business - Version 2
 
47 things I Wrote Down @ SaaStr Annual 2017
47 things I Wrote Down @ SaaStr Annual 201747 things I Wrote Down @ SaaStr Annual 2017
47 things I Wrote Down @ SaaStr Annual 2017
 
Accelerating scale from startups to enterprise by Peter bakas
Accelerating scale from startups to enterprise by Peter bakasAccelerating scale from startups to enterprise by Peter bakas
Accelerating scale from startups to enterprise by Peter bakas
 
AI in cloud
AI in cloudAI in cloud
AI in cloud
 
Startup & VC Tech Trends
Startup & VC Tech Trends Startup & VC Tech Trends
Startup & VC Tech Trends
 
How AI Is Transforming B2B Sales & Marketing by Olin Hyde
How AI Is Transforming B2B Sales & Marketing by Olin HydeHow AI Is Transforming B2B Sales & Marketing by Olin Hyde
How AI Is Transforming B2B Sales & Marketing by Olin Hyde
 
The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...
The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...
The Why And How Of Machine Learning And AI: An Implementation Guide For Healt...
 
Search Marketers’ Guide to Our New Robot Overlords #stateofsearch
Search Marketers’ Guide to Our New Robot Overlords #stateofsearchSearch Marketers’ Guide to Our New Robot Overlords #stateofsearch
Search Marketers’ Guide to Our New Robot Overlords #stateofsearch
 
AI: The New Platform for SaaS
AI: The New Platform for SaaSAI: The New Platform for SaaS
AI: The New Platform for SaaS
 
4 Ways AI Can Help Your Small Business
4 Ways AI Can Help Your Small Business4 Ways AI Can Help Your Small Business
4 Ways AI Can Help Your Small Business
 
SaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive Advantage
SaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive AdvantageSaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive Advantage
SaaStr 2017: AI–Enabled SaaS - 4 Models for ML as Competitive Advantage
 
Artificial Intelligence (AI) 100 Startups 2017
Artificial Intelligence (AI) 100 Startups 2017Artificial Intelligence (AI) 100 Startups 2017
Artificial Intelligence (AI) 100 Startups 2017
 
Mobile Is Eating the World (2014)
Mobile Is Eating the World (2014)Mobile Is Eating the World (2014)
Mobile Is Eating the World (2014)
 
Bessemer's 10 Laws of Cloud Computing
Bessemer's 10 Laws of Cloud ComputingBessemer's 10 Laws of Cloud Computing
Bessemer's 10 Laws of Cloud Computing
 
Mobile Is Eating the World (2015)
Mobile Is Eating the World (2015)Mobile Is Eating the World (2015)
Mobile Is Eating the World (2015)
 
12 Key Levers of SaaS Success
12 Key Levers of SaaS Success12 Key Levers of SaaS Success
12 Key Levers of SaaS Success
 
How Deep Learning Changes the Design Process #NEXT17
How Deep Learning Changes the Design Process #NEXT17How Deep Learning Changes the Design Process #NEXT17
How Deep Learning Changes the Design Process #NEXT17
 
U.S. Technology Funding -- What's Going On?
U.S. Technology Funding -- What's Going On? U.S. Technology Funding -- What's Going On?
U.S. Technology Funding -- What's Going On?
 

Ähnlich wie SaaS startups - Software Engineering Challenges

So many clouds - 7 things to consider when choosing your IaaS provider
So many clouds - 7 things to consider when choosing your IaaS providerSo many clouds - 7 things to consider when choosing your IaaS provider
So many clouds - 7 things to consider when choosing your IaaS providerSirris
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoVMware Tanzu
 
7 things to consider when choosing your IaaS provider for ISV/SaaS
7 things to consider when choosing your IaaS provider for ISV/SaaS7 things to consider when choosing your IaaS provider for ISV/SaaS
7 things to consider when choosing your IaaS provider for ISV/SaaSFrederik Denkens
 
Cloud computing
Cloud computingCloud computing
Cloud computingYash Patel
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback frameworkThomas Papaspiros
 
Tales from the trenches creating complex distributed systems
Tales from the trenches  creating complex distributed systemsTales from the trenches  creating complex distributed systems
Tales from the trenches creating complex distributed systemsParticular Software
 
From prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioFrom prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioMáté Lang
 
Serverless Big Data Architecture on Google Cloud Platform at Credit OK
Serverless Big Data Architecture on Google Cloud Platform at Credit OKServerless Big Data Architecture on Google Cloud Platform at Credit OK
Serverless Big Data Architecture on Google Cloud Platform at Credit OKKriangkrai Chaonithi
 
MongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDB
MongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDBMongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDB
MongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDBMongoDB
 
AWS CSA Associate 07-07
AWS CSA Associate 07-07AWS CSA Associate 07-07
AWS CSA Associate 07-07Heitor Vital
 
Designing salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh DennisDesigning salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh DennisSakthivel Madesh
 
From class to architecture
From class to architectureFrom class to architecture
From class to architectureMarcin Hawraniak
 
Software architecture, Patterns for Scale
Software architecture, Patterns for ScaleSoftware architecture, Patterns for Scale
Software architecture, Patterns for ScaleiGbanam
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015rgristroph
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureYshay Yaacobi
 
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfDhaval Nagar
 
Balancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PMBalancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PMProduct School
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...
David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...
David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...Codemotion
 

Ähnlich wie SaaS startups - Software Engineering Challenges (20)

So many clouds - 7 things to consider when choosing your IaaS provider
So many clouds - 7 things to consider when choosing your IaaS providerSo many clouds - 7 things to consider when choosing your IaaS provider
So many clouds - 7 things to consider when choosing your IaaS provider
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
7 things to consider when choosing your IaaS provider for ISV/SaaS
7 things to consider when choosing your IaaS provider for ISV/SaaS7 things to consider when choosing your IaaS provider for ISV/SaaS
7 things to consider when choosing your IaaS provider for ISV/SaaS
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback framework
 
Tales from the trenches creating complex distributed systems
Tales from the trenches  creating complex distributed systemsTales from the trenches  creating complex distributed systems
Tales from the trenches creating complex distributed systems
 
From prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioFrom prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.io
 
Microservice
MicroserviceMicroservice
Microservice
 
Serverless Big Data Architecture on Google Cloud Platform at Credit OK
Serverless Big Data Architecture on Google Cloud Platform at Credit OKServerless Big Data Architecture on Google Cloud Platform at Credit OK
Serverless Big Data Architecture on Google Cloud Platform at Credit OK
 
MongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDB
MongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDBMongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDB
MongoDB World 2019: Near Real-Time Analytical Data Hub with MongoDB
 
AWS CSA Associate 07-07
AWS CSA Associate 07-07AWS CSA Associate 07-07
AWS CSA Associate 07-07
 
Designing salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh DennisDesigning salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh Dennis
 
From class to architecture
From class to architectureFrom class to architecture
From class to architecture
 
Software architecture, Patterns for Scale
Software architecture, Patterns for ScaleSoftware architecture, Patterns for Scale
Software architecture, Patterns for Scale
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
 
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
 
Balancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PMBalancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PM
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...
David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...
David García, Rubén Aguilera Díaz-Heredero | A microservices experience in th...
 

Mehr von Malinda Kapuruge

Moving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMoving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMalinda Kapuruge
 
Technical guidance in SaaS Startups
Technical guidance in SaaS StartupsTechnical guidance in SaaS Startups
Technical guidance in SaaS StartupsMalinda Kapuruge
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveMalinda Kapuruge
 
Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Malinda Kapuruge
 
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...Malinda Kapuruge
 
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Malinda Kapuruge
 
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...
Supporting Adaptation Patterns in the Event-driven Business Process Modell...Malinda Kapuruge
 
Scalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS ApplicationsScalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS ApplicationsMalinda Kapuruge
 
Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...Malinda Kapuruge
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications Malinda Kapuruge
 

Mehr von Malinda Kapuruge (11)

Moving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMoving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learnt
 
Be DevOps Ready
Be DevOps ReadyBe DevOps Ready
Be DevOps Ready
 
Technical guidance in SaaS Startups
Technical guidance in SaaS StartupsTechnical guidance in SaaS Startups
Technical guidance in SaaS Startups
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
 
Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...
 
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
 
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
 
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
 
Scalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS ApplicationsScalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS Applications
 
Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications
 

Kürzlich hochgeladen

WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 

Kürzlich hochgeladen (20)

WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

SaaS startups - Software Engineering Challenges

  • 1. SaaS startups Software Engineering Challenges Dr. Malinda Kapuruge Deakin University - 16/12/16
  • 2. Who am I ? ● Malinda Kapuruge (Kau) ● A Senior Software Engineer ● An avid reader about SaaS delivery model ● Currently work at a SaaS Startup ● Previous: Zendesk, DiUS, Swinburne, WSO2 kaushalye kaushalye kaushalye kaushalye
  • 3. You are here because, ● Have an idea for a SaaS application, possibly a startup ● Potentially working for a SaaS startup once graduated ● Curious to know the challenges in the field ● Have no clue how I ended up here
  • 4. This talk is about... The engineering challenges faced by a business in its infancy (startup) that delivers Software as a Service. “As a Software Engineer how do I better prepare myself to find solutions to such challenges?“
  • 5. This talk is NOT about... ● How to evaluate the business opportunity? ● How to get funding $$$ (self-funded / crowdsourcing / venture capital)? ● Any good mentors? ● How to promote my business? ● Why startups fail? ● How to find a suitable place for my startup in Melbourne (ask me later)?
  • 6. Engineering point of view (Obviously, challenged by the business)
  • 7. SaaS ● A software delivery method ● Multi-tenancy ● On-demand Self service ● Centrally managed ● Network-based access ● Pay per use (time, #users, #features) SaaS (for software users) PaaS (for developers) IaaS (for SysAdmins) SaaS layer Shared resources tenants users Cloudstack
  • 8. Startups ● Early stage of business ● Innovative product ● Success is not guaranteed ○ 37% for Information Technology* ● Usually a small team ● Limited ○ funding ○ resources ● Shared workplace ● Have to be ready for exponential growth * http://www.statisticbrain.com/startup-failure-by-industry
  • 11. SaaS startups ● A startup that delivers Software as a Service ● Melbourne - one of the best startup hubs in world ● A good probability to start / work for a startup
  • 14.
  • 17. Time
  • 18. Some of the challenges ● Scalability ● Isolation ● Security ● Limited resources ● Software Provisioning ● Compliance requirements
  • 19. Scalability ● Vertical and horizontal scalability ○ Vertical: Increasing resources for an instance ○ Horizontal: Increasing the number of instances ● Using a PaaS vs IaaS ○ E.g., Deploying app Heroku or Architecting the app on AWS. ● Time to scale ● Stateless applications ● Public APIs
  • 20. Scalability > Stateless applications ● Stateless by design ● Application does not hold / remember state ● Start, stop, clone ● Requests could be routed to different processors ● Scalability, Elasticity, Performance and Reliability ● Complements Containerised architecture and virtualization
  • 21. Scalability > Public APIs ● Go RESTful ○ Easy to understand ○ Kinda norm these days ● Why? ○ Do not have resources to develop extra features that the tenant needs ○ Slightly varying tenant specific requirements ● Provide better flexibility for tenants ● Use via UI or via API (or use both) UI API UI SaaS
  • 22. Public API design concerns, e.g., URIs ● Tenant independent URIs [api.myapp.com/v1/resource] ○ Clean URI, Common documentation ○ Need some way to identify tenant, e.g., oAuth, headers ○ Issues with caching in proxy ● Tenant specific subdomain [tenant1.myapp.com/v1/resource] ○ Possible to have service level as well as tenant level cookies ○ DNS provisioning overhead (if manual) ○ Wildcard SSL certificates ● Tenant specific URI [api.myapp.com/v1/tenant1/resource] ○ More RESTful ○ Simple to implement
  • 23. Resource isolation ● Multi-tenancy is a key characteristic in SaaS ● Sharing underlying resources ● Economies of scale ● Noisy neighbours ● Privacy ● Application isolation ● Data isolation ❏ CPU ❏ Memory ❏ Disk ❏ Network
  • 24. Resource isolation > Application level ● Eating my resources ● More like a IaaS layer concern than SaaS ○ Choice of Cloud technology ○ Configurabile strategies ● Isolation strategy? ○ Physical machine ○ VM ○ Container ● Design the application to avoid errors ○ Tenant accounts ○ Users of tenants ○ Threads ○ Queues
  • 25. Resource isolation > Data level ● Different schema for different tenants? ○ Varying requirements of tenants ○ Impact on other tenants ● Sharding ○ Horizontal partitioning of tables ○ Each shard in a separate instance ○ Improved performance and scalability ● Co-locating data ○ Data of the same tenant in the same physical hardware ○ Avoids network traffic ○ Faster join operations ● No-SQL ○ Data structure vary between tenants ○ Partial updates
  • 26. Resource isolation > Data - Example strategies (#1) Separate DB instances for each tenant ● Suitable for small number of tenants with large number of users/transactions ● Because Contract / SLA ● Better data isolation ● High resource consumption (#2) Shared instance and schema but use tenant specific identifier ● Very easy to implement ● Suitable for large number of small tenants ● Poor data isolation ● Better resource consumption (#3) Same database but different schemas for each tenant ● A mid-way approach compared to #1 and #3 ● Better isolation than #2 ● Better resource consumption than #1
  • 27. Security ● SaaS is essentially a web application ● Common threats e.g., ○ Cross-site scripting (XSS), Untrusted data ○ Broken Authentication, Compromised session tokens ○ Cross-Site Request Forgery (CSRF), use browser to perform an unintended operation on another website ● Security breaches are costly to the business ● Strict web application security practices ○ Tokenization ○ SSL ○ Session timeouts ● Seek help from third party security assessors ○ Penetration testing ○ Vulnerability assessment
  • 28. Limited resources > Dev effort ● Focus on what you do ○ E.g., my primary business is invoicing. ○ Should I use an existing email notification service? ○ OR Write my own? ● Available options? ○ Do your research to compare the pros and cons ○ Time well-spent ● Look for ○ Flexible pricing models ○ Vendor-lockin issues ○ Scalability (Peak loads) ○ Quality of API, SDK (Reduce development effort and errors) ○ Security vulnerabilities ○ Customer service SaaS layer
  • 29. Limited resources > Quality assurance ● Lack of QA staff (may be zero) ○ Lack of quality in Software ○ Competitors ○ Customer satisfaction ● Outsourcing solutions ○ BugWolf ○ 99Tests ● Automated Testing tools ○ TestingBot ○ SauceLabs ○ BrowserStack
  • 30. Software provisioning > Understanding agile ● Thinking MVP (minimum viable product) ○ The role of Software Engineer ○ To measure the complexity of delivering different features. ● Feature dependency analysis (technical perspective) ○ Feature X depends on Feature Y ○ Feature X can be better implemented if Feature Y is present ○ Feature X can be better designed based on the feedback of Feature ○ Co-existence of Feature X and Feature Y can cause issues ● Customizability ○ Quick customization to try out market segment ○ Quick demo to show to a potential investors ○ Sandbox environments
  • 31. Software provisioning > Build pipeline ● Time to release a feature ● Plan -> Design -> Develop -> QA -> Deploy ● Software in the hand of users ● Feedback loop ● Slower the time to deliver -> slower the feedback ● Identifying bottlenecks ● Repeatable and reliable
  • 32. Software Provisioning > Platform / Infrastructure ● PaaS or IaaS ? ● PaaS: e.g., Heroku, Openshift, Engine yard ● IaaS: e.g., AWS, Azure, Digital Ocean ● Do not try to reinvent the wheel, unless absolute necessity ● Go cheap. Spend money as you grow. E.g., Heroku dynos Need a Demo Free dyno 512 MB RAM. $0/month. Sleeps after 30 mins inactivity Have to Deploy MVP Hobby dyno 512 MB RAM. $7/month. After 1 year - High traffic Performance-L dyno 2.5-14 GB RAM. $500/month.
  • 33. Pricing solutions ● Pay as you go ● Subscriptions ● Separate pricing model from application logic ● Flexibility to change, self-service. ● Additional features, such as coupons, email notifications ● Merchant accounts ● Payment gateways vs 3rd party processors ○ 3rd party processors are less expensive in short term but could be expensive in long term ○ http://www.paymentgatewayaustralia.com/
  • 34. Compliance requirements ● Customers of tenants ● Privacy issues ● Data locality issues ● Terms and Conditions ○ Legal issues ○ Professional advice ● Strong encryption mechanisms from the start ● PCI compliance ○ www.pcisecuritystandards.org
  • 35. Compliance requirements > E.g., PCI - DSS ● Pay per use is an inherent SaaS characteristic ○ Collecting and storing credit card information ● PCI - DSS (Payment Card Industry - Data Security Standard) ○ A Self-assessment Questionnaire*, e.g., SAQ A-EP ● Levels of merchants ○ Level 1: more than 6 million tx / annum ○ Level 2: 1 to 6 million tx / annum ○ Level 3: 20k to 1 million tx / annum ○ Level 4: upto 20k tx / annum ● Perhaps too late when assessed ○ Penalties ($5,000 to $500,000) ○ Loss of business ($$$$) ● Pay attention when choosing deployment platforms * www.pcisecuritystandards.org
  • 36. ● Need to be introduced very early stages of app / MVP ● Drive design solutions ○ Only 20% of tenants have more than 500 users ○ Only 1% of the users clicked on the feedback survey link ● Understanding usage patterns ○ Tenants ○ Users ● Collected Data -> Another business? ● Use Tools ○ Google analytics ○ MixPanel ○ AWS CloudWatch Analytics
  • 37. Other ● Do not unnecessarily restrict the system ○ Currently support only Australian phone numbers ○ Are we unnecessarily restricting ourselves to specific market segment / geographical area? ● Identifying performance bottlenecks ○ Overprovisioning resources ○ Optimizations ○ Saved money could be used elsewhere ● Study competitors ○ Myth: Not my task as a Software Engineer ● Do not hesitate to question the business ○ Myth: Not my task as a Software Engineer
  • 38. Conclusions ● Be aware of these challenges ● Research solutions ● Learn new technologies ● Startups -> Limited resources -> Develop strategies ● Compromise. You have to. ● Managing tech debt vs feature push ● Complement business goals: 3 months -> 6 months -> 1 year
  • 40. References ● http://www.cloudcomputingpatterns.org/software_as_a_service/ ● https://www.owasp.org ● https://startupaus.org/ ● https://www.pcisecuritystandards.org/ ● https://startupvictoria.com.au/ ● https://www.startupmuster.com/