Modern Stack
luchschen_shutter - Fotolia
Emerging PaaS model puts cloud app dev into the fast lane
As they grapple with application backlogs and a shortage of seasoned, business-savvy developers, enterprises will increasingly look to drag-and-drop programming options.
Any complex organization wants to move faster, increase efficiency and lower its costs. That's never been easy. There are too many moving parts -- spread across layers of heterogeneous, hybrid IT -- and too much inadequate expertise to accomplish everything.
It's no wonder that the get-to-the-cloud message, with its push-button, pay-someone-else-to-manage-it vision has finally penetrated almost every organization. With the cloud-first mantra these days, the CIO might as well be thought of as the cloud information officer. However, in today's highly internetworked, hybrid world, IaaS is no longer the big cloud opportunity.
Where IT can help the business gain real competitive advantage is now up the stack with some form of PaaS model, such as high-productivity application PaaS. To be competitive, companies want to build and deploy new applications quickly. PaaS promises to enable developers to build better apps and deploy them faster without IT infrastructure friction, thereby unleashing pent-up productivity.
Switching to PaaS, however, can be hard, much like the move to Agile development methods. Using PaaS assumes you have a bevy of highly experienced and web-savvy developers willing to work on relatively plebeian business processes -- and PaaS alone won't solve all your problems.
Backlogged application development
Great business-savvy application developers are rare. In fact, I've never heard anyone say they ran out of applications to build before they ran out of good application developers to build them. And it's not just developers. An organization's application backlog problem could get worse for a number of reasons:
- App dev bottleneck. How many people really grasp top-notch, web-scale coding practices and know the business? Among them, how many know about scalable databases, machine learning algorithms and also have the patience to provide internal customer support?
- Data swampiness. Some of today's most valuable data is big, bulky, barely structured, increasingly real-time and growing. Put it all in a data lake and maybe you can make some use of it, but only if you can sort out what's relevant, what's compliant and what's true. Even harder, most new apps will want to naturally span and combine both structured and unstructured data sources.
- Creativity cost. It takes a good idea and dedicated resources to make a great new business app work well. And it requires a culture that approves of investing in projects that might not always produce results. The biggest returns come from taking the biggest risks, which usually means more money on the line.
- Ticking time. Ask everyone within your organization for application ideas, and you'll be sure to compile a huge backlog. Many of those applications are impractical for the simple reason that, by the time developers finish, the app's window of competitive value will have disappeared. Who needs another outdated application? It's hard enough to maintain the ones already in use.
PaaS adoption can be a very good thing, helping enable and accelerate development on a number of fronts. But for many of the above reasons, the PaaS model itself won't help everyone take advantage of all the potential new application opportunities.
Businesses need to free dedicated expert programmers from some levels of application development. I'm not going to advocate a return to the dreaded spreadsheet-based application in which someone who has no idea about what a function is creates a veritable spaghetti monster of obscurity that just may do something cool. My point is that we've all seen business folks so desperate for automation that they'll build whole departments that run via complex spreadsheets emailed to one another.
Drag-and-drop programming
What I now see coming on strong is a new type of PaaS model referred to as high-productivity application PaaS, or more accurately, a form of visual application development suited for spreadsheet-capable business folks. With some of the new low-code/no-code tools on the market, a reasonably logical business user can drag and drop together powerful data processing components and even build useful mobile apps.
These visual programming platforms can unlock a great deal of business automation creativity, though some programming professionals might disdainfully refer to the results as dangerous business-user hacking. Personally, I'm all for it. New visual programming platforms can enforce better coding practices -- especially compared to spreadsheet horrors -- and directly capture needed business functionality in a composable, sharable and reusable manner.
A working low-code/no-code app can even be held up as a minimum spec for deeper, professional code development. I expect professional developers will work less on fully baked applications and more on building high-value components that their business hackers will be able to use.
Certainly there are critical issues with letting citizen developers loose on corporate data processing. Among the concerns are a lack of coding practices designed for performance or scale, ensuring quality or security, and delivering questionable or strangely limited functionality. One of the biggest concerns I'd have is naïve folks encoding incorrect, unethical or even criminally corrupt business logic -- misunderstanding or misusing the data to which they've been granted access. But that's another reason professionals in those organizations will shift focus, building higher-level components wherever data, quality, functionality or other IT governance or operational concerns appear.
I can almost guarantee that any organization has significant latent application demand. We all value the freedom to automate data-processing tasks, create a mobile app that delivers that key piece of data at the right time, enable a valuable business transaction (or even a new revenue model), offer better customer support, or just increase personal productivity. This freedom to program may not be a fundamental right, and it can lead to a lot of wasted attempts at innovation, but a culture of programming freedom that is willing to accept an occasional failure is bound to foster a huge boost in creative thinking.
This can be a really big thing, especially if your organization suffers from a lack of internal creativity or the ability to spot better ways to do business. Perhaps you're missing leadership that encourages experimentation, healthy change and forward movement. There are some risks. There will be problems. And I know technology can't really fix deep cultural issues. Still, unleashing business hacking with a low-code PaaS model could be a big step in the right direction.