Welcome back! In this six-part series, we’re examining the advantages cloud native development delivers for SaaS providers. You’re welcome to read on here about scalability benefits and, if you like, also get caught up on the first installments:
- Brief look back at the obstacles caused by monolithic, legacy apps + the cloud-native benefit of reduced barriers to entry
- Specialization of labor
- Ability to leverage best of breed
Performance is Paramount
There are now more software users than ever, and applications handle more data as an ever-increasing number of sources are integrated. All the while, users continue demanding more capabilities. For SaaS providers today, that means:
If you can’t perform, your app is likely to be abandoned.
If you can’t perform cost effectively, you won’t be able to grow profitably.
If you can’t perform efficiently (without excessive manual intervention), you also won’t be able to grow cost effectively.
The Cloud Improved Scalability
When public cloud computing emerged, first with AWS, the new model of on-demand resources with near-unlimited scalability delivered many benefits. The cloud allows you to easily scale out or up as needed by adding more computing power to each server as well as adding more servers. Adding on-demand resources and spinning up servers in the cloud can be done in a matter of minutes.
Legacy hardware, on the other hand, requires perpetual updating every few years. Migrating to the cloud enables you to get off that tedious treadmill and turn IT infrastructure into an annualized cost instead.
Scaling: Good, Better, Best
Public cloud infrastructure enables smooth growth with corresponding smooth, gradual increases in cost—and cloud native applications take it even further. Scalability with microservices is better yet, since you can scale each component independently when and where it’s needed. This improves both efficiency and from a cost effectiveness perspective. (saves money, performs better overall)
An AWS Whitepaper explains, “With AWS Lambda, you upload your code and let Lambda take care of everything required to run and scale the implementation to meet your actual demand curve with high availability. No administration of infrastructure is needed.”
The Cloud Native Computing Foundation lists immutable infrastructure and microservices among the building blocks of cloud native. AWS states, “By avoiding manual upgrades, immutable infrastructure makes cloud-native deployment a predictable process.”
Independence Enhances Scalability
In our first three articles, we covered how breaking up SaaS apps enables you to build better. The ability to break up apps into smaller pieces, rather than one single code, has a huge impact. It enables teams to start to segment how you enhance specific areas and features of your product, and more easily select the best of breed components.
Improved scalability is yet one more benefit from this independence. Segmenting these components can make everything more efficient, including enabling you to scale them all independent of each other.
Without independent scaling, your application’s capacity is restricted to the weakest link in the chain.
AWS continues, “Microservices are loosely coupled, which means that they are independent software components that communicate with each other. Developers make changes to the application by working on individual microservices. That way, the application continues to function even if one microservice fails.”
But You Must Work for It
The full scalability potential of SaaS applications isn’t achieved by accident. In McKinsey’s “The SaaS factor: Six ways to drive growth by building new SaaS businesses,” item number three is, “Plan for scale from day one.” The analysts wisely note, “While the digital nature of a SaaS product allows it to scale much more quickly than other products, that advantage can be captured only when companies put in place two key elements: A dynamic and detailed road map… Flexible technology architecture.” The authors note that such an architecture means building around microservices and APIs.
Independently and Horizontally Scalable
In the imperative to become cloud native, Deloitte describes how the challenges faced by retail and consumer product companies point toward deeper adoption of the cloud. “The microservice is independently and horizontally scalable. Based on the number of orders received, the microservice can spin up another instance of itself to handle the traffic. Or it can scale down to a baseline set of instances with minimum traffic. Thanks to a fault boundary, when one service has an issue, it should not affect other microservices. This approach helps the system minimize impacts to the user experience”
Overhearing a discussion about AWS resources that can scale horizontally and vertically, my colleague’s then-10 year old son asked if it could also scale diagonally; an intriguing and amusing query.
AWS Scalability Success Case: iRobot
iRobot, a leading global consumer robot company, designs and builds robots that empower people to do more both inside and outside the home. September 2015, iRobot released its first internet-connected Roomba vacuums, resulting in large volumes of traffic through the iRobot HOME App, the mobile app customers used to set up and control their connected robots. The company needed a solution that could scale more quickly and allowed for more direct control.
AWS Cloud delivered the scale and extensibility iRobot needed, along with serverless architecture that saves the headaches of learning to scale. To run the web applications that connect to the Wi-Fi-connected Roomba vacuums, iRobot is using about 25 AWS services.
→ TOP TIP – Investigate your Scalability.
Take a look at your infrastructure and search for resource-hogs that you could reengineer to reduce unnecessary costs. Use tools such as Amazon CloudWatch, “a monitoring and observability service built for DevOps engineers, developers, site reliability engineers (SREs), IT managers, and application owners. It provides data and actionable insights to help you monitor your applications, respond to system-wide performance changes, and optimize resource utilization.”
At Qrvey, we know the scalability benefits of cloud native architecture because we see it in our own embedded analytics platform. Qrvey is built on AWS with a 100% serverless architecture, making it the most scalable and cost-effective analytics platform available. Register for our a custom demo to see our embedded analytics in action.