A recent survey of IT leaders that was reported in a ZDNet article entitled “PaaS may be a panacea for stressed-out developers,” found that 70% are either already using Platform-as-a-Service (PaaS) solutions for application development or planning to implement them in the future.
Since there is indeed plenty of pressure on developers to develop faster, PaaS can certainly help with that, as it provides access to development tools, platforms, databases and middleware from the cloud, either via public services such as Amazon or on top of internal private clouds such as those built on OpenStack.
PaaS is a lot more convenient for developers, especially if they aren’t accustomed to working with distributed systems or running a cluster of applications. A PaaS solution takes away much of that complexity and simplifies development as a result of its ability to auto-scale and to change the number of servers or the capacity it has in response to demand. That is particularly important because people tend to move between websites so fast that a website that was low on traffic one day could suddenly be on TechCrunch the next and be extremely high traffic. That’s when you can’t afford to have your website crash.
“It’s Web Scale”
A PaaS solution can alleviate concerns about scaling at the hardware level to respond to any additional request for which you need capacity, however it can’t remove the need to write your application in a way that can handle that load. If you use an inefficient algorithm, then it’s just not going to scale no matter how many servers you use. A PaaS solution is great to have when you have a simpler site or a site that’s just starting off and hasn’t had a chance to grow really large in terms of scope or complexity. We’ve often seen an environment start off as a PaaS environment, which will work very well for getting a web application up and running, but as that app adds features, the dev team finds they really outpace the ability of that PaaS to support it effectively, particularly cost-effectively. Once an application grows enough to deserve an operations team, it makes sense to actually bring it back in-house through infrastructure-as-a-service (IaaS) or manage it inside your own data center.
Switching platforms at that point can be a bit painful, because if you’ve grown accustomed to the capabilities of that PaaS, you now have to think about separately implementing some capabilities that you once had taken for granted. This is one area in which an application performance management tool such as the AppNeta APM solution suite fits. If you can use the same monitoring tool in the PaaS environment that you have access to outside the PaaS environment, then you don’t have to think about re-implementing a monitoring system. Some PaaS solutions come with monitoring, but it tends to be very basic and it’s certainly not monitoring you can use in a non-PaaS environment, therefore having a monitoring system that’s independent of your hosting situation is critical. As applications scale and companies move away from PaaS and to a hybrid cloud model or IaaS, AppNeta will continue to work well in either of those environments.
In addition to working best with applications that are newly developed, PaaS is effective for exploring new languages. Like new applications, which tend to have the most performance problems and questions regarding scalability, new languages tend to have few best practices established. Therefore, having a monitoring system that’s really suitable to that new language is very helpful. AppNeta in particular is focused on monitoring new languages. It’s not a legacy system like some of the older APM tools out there that focus on Java applications or even do packet-based analysis. AppNeta offers a true modern APM tool, so if you have a Python application or a Node application, we’re able to get performance data from it in a powerful way.