Cloud application development has revolutionized enterprise computing. The importance of a cloud app development approach has been established beyond doubt. The previous years saw noticeable highs in this realm, but also some serious lows in cloud security, due to the damaging security breaches in Target, HomeDepot, and Sony Pictures.
As the curtains are drawn on year 2015, it is worthwhile to examine what the key trends that will drive cloud application development for the year 2016. This article consolidates what will be the most prominent trends.
- Verticalization and PaaS: The first phase of cloud adoption has ensured availability of reliable infrastructure available through an operational expenditure paradigm. The next logical phase of this will be the verticalization of cloud applications. The demand will be for more vertical specific applications on the cloud, and by extension, the need for Platforms as a Service (PaaS)
- Containerization: Application portability will be critical, and the use of containers that encapsulate applications for cross platform portability will be a key element of cloud app development.
Docker, a popular container for cloud apps wraps up a piece of software in a complete file system that contains everything it needs to run: code, runtime, system tools, system libraries – anything needed to install and run on a server. This guarantees that it will always run the same, regardless of the environment it is running in.
- Large scale data access and management: Deployment of high performance servers that use Haswell CPUs allowing significantly higher number of virtual machines per server instance; and in-memory database instances that reach 2 TB DRAM are all the order of the day. The response from the application development community is Software Defined Networks (SDN), with automated policy driven network management being the norm.
- Abstraction of server centric model, leading to event driven program execution: The trend is slowly moving towards developers running code encapsulating business functionality, as opposed to managing server instances.
Lambda, a container service that automatically provisions cloud infrastructure helps developers focus on the business side rather than cloud provisioning.
- Go programming language: Go is the programming language used by the new generation cloud services providers, such as DropBox, Docker, SoundCloud, ThoughtWorks, etc. The versatility of Go is derived from the fact that it is developed as an open source programming language for systems programming, targeting multiple platforms including smartphones.
The trends above capture a set of the more visible trends. Equally important other trends include:
- Emphasis on disaster recovery: Traditionally, disaster recovery (DR) has been an issue for IT. But cloud enables them to address many previous problems — testing DR systems, combating the high cost of installing a backup system, and accurately mimicking potential disasters.
- Emergence of Spark as the model for enterprise big data: The role of big data in enterprise cloud computing is gaining importance day by day, since companies now have at their disposal huge tranches of data for decision making.
The MapReduce model, which has been the workhorse of the big data paradigm will see Spark as another model gaining prominence.
The emphasis across the board will be the reduction of application development costs; Cloud vendors such as Microsoft, Amazon, and others can help enterprises evolve and provide hosted services to facilitate cloud adoption. That will make them key players in this adoption, transformation. Telcos and others will have to work to drive down costs, as smaller players will be squeezed out.