So, you’re a developer with a great tech idea. You have a vision for a world-beating product, perhaps even one that defines a new category. But the journey from idea to execution is long, painful, and often expensive. The cloud can help developers realize their dreams while minimizing capital outlay. Here’s how.
In the early days and even into maturity, startups are experimenting. They are testing assumptions, prototyping new features and ideally looking at usage patterns to see how these features are being received. The technology to support this cycle of innovation can be one of the most critical costs for a tech startup. Developing, testing and deploying these experiments isn’t cheap. No startup wants to buy and maintain its own server technology while it churns new ideas. Infrastructure is a distraction for these companies.
Smart startups have turned to cloud computing as a resource to develop application ideas, test them out, and then make them available to users. The new generation of tech startups is cloud native. Their products were born in virtualized, elastic environments, and many of them were created using platform as a service (PaaS) platforms.
PaaS combines the best of both worlds for developers. It provides the hardware infrastructure that developers need to create and test the software, but it presents it in a meaningful way. Instead of leaving developers with nothing more than a command line and a directory structure, it creates a more meaningful environment for developing and testing software.
PaaS environments can include server-site scripting environments, database management systems, and tools for designing and developing applications such as interactive development environments and debuggers.
There are a variety of PaaS environments well-suited for startups. Most larger vendors offer PaaS or PaaS-like environments. Google has its App Engine, while IBM offers BlueMix. Some vendors better known for offering infrastructure as a service have evolved enough services to be considered comprehensive PaaS offerings. Amazon’s AWS falls into this category. Other, smaller players also have a lot to offer. CloudFoundry offers services such as databases, object storage and testing, along with a open service broker API that opens up service provision to third parties.
Advantages for startups
PaaS brings several advantages to cash- and time-poor startup development teams. One of the most important is the elimination of capital outlay. Startup developers typically work with friends and family funding in the early days, and while they may have open source development tools, they don’t have much to invest in the server infrastructure for testing and deployment.
Avoiding physical computing infrastructure means avoiding capital outlay. It also makes it easier to get along without offices for a while, which has a huge impact on initial startup costs. The best startups are incredibly lean.
PaaS also makes it easier for teams to collaborate, often with members from different disciplines. Hard-core developers can handle the code, while information architects can explore database design. Web designers can control the user interface, while the founders can explore which features make the most sense to include at an early stage.
A constellation of services
Perhaps the most significant advantage of PaaS development, though, is the access to new technologies that it provides. Developers can’t be experts at everything. A generic Python coder is unlikely to be gifted at AI, object-based storage, analytics, and speech recognition, even though they may all be necessary for their application. With PaaS, they don’t have to be. They must simply understand APIs, which are the gateway into such services and the lifeblood of modern cloud development.
PaaS uses application programming interfaces to provide easy access to a vast range of relatively new computing services that would otherwise be out of many developers’ reach.
One example is the Internet of Things (IoT). Microsoft offers IoT provisioning and management through Azure, while Bluemix provides APIs that let developers quickly begin interacting with a constellation of connected devices.
An even more recent development is the introduction of blockchain technology. This peer-to-peer distributed ledger technology has its basis in the bitcoin cryptocurrency launched in 2009, but has since been embraced and adapted by other industries.
The beauty of blockchains lies in their transparency, and their immutability. No single participant in the blockchain network can rewrite its history, but everyone can see it. This removes the need for a central arbiter and dramatically changes business models while creating new opportunities.
As blockchains evolved, they began supporting not only the registering of digital assets such as digital money, but also the execution of their own embedded applications. These applications, known as smart contracts, are effectively digital agreements between multiple parties that are immutably stored in a distributed environment that stops anyone party from tampering with them. Smart contracts can be used to store everything from financial derivatives through to house deeds.
Microsoft signed a deal with ConsenSys, a consulting firm specialising in the Ethereum blockchain, which resulted in Ethereum-based cloud blockchain services. IBM, meanwhile, has built blockchain technology for Bluemix using smart contracts that it calls "chaincode". Its blockchain technology is a major part of the cross-industry blockchain reference standard known as Hyperledger, which is being managed by the Linux Foundation.
Today, companies are using blockchains for everything from managing private equity through to tracking products in supply chains. The titans of the blockchain world – the equivalent of today’s Google’s and Facebooks – haven’t even been founded yet.
Computers that understand
Bluemix also provides a springboard in into another complex but powerful area: cognitive computing. This enables computers to analyse mountains of empirical data and learn from it, developing its own understanding of the problem space in the process.
Microsoft has more than 20 APIs for machine learning services including sentiment analysis as part of its Azure cloud service, while IBM’s Bluemix uses its Watson-based cognitive computing services. Other companies competing in the PaaS market such as Google (with TensorFlow) and Amazon (with MXNet) are also folding their artificial intelligence libraries into the mix.
New ways of working
Startup developers can use PaaS services to quickly develop, test, deploy and refine new services, fulfilling a critical requirement for any new company: fail fast, and fail often. Startups can’t be afraid to make mistakes, because these are where creativity happens. 10 mistakes this month lay the foundations for a major success next month.
In times gone by, the cost of making these mistakes was simply too great. The time and effort involved in creating new features meant that startups had to spend far more time planning and were less resilient in the face of failure.
Today’s native cloud startup is fluid, and malleable. It can pivot quickly as it learns from its mistakes. This is only possible because the cloud has taken much of the friction out of the system. This means a lower cost of entry for startup developers in terms of time and money. How better to test-drive that exciting new idea.