Emerging Trends in Application Development

By Kelvin Lim, Team Lead, Enterprise and Cloud Solutions, NetApp APAC

 

I recall during my tertiary education years when the Waterfall application development model was an emerging trend and considered to be the gold standard model when developing quality applications. Fast forward 20 years, the application development space is undergoing a major transformation.   

 

In this article, I will briefly describe 3 emerging trends in application development:

 

  • The growing popularity of DevOps – Combining the words ‘development’ and ‘operations’, DevOps is all about agile development. It places emphasis on close communications between application developers and other IT operations engineers.  DevOps focus on speed, efficiency, and automation.  A hallmark of DevOps is the frequent release of new codes with minor feature increment between each release. This means that IT departments and companies will be more responsive to their customers as they are able to roll out new enhancements to their applications on a more frequent basis.

 

  • Containers, rather than Virtual Machines, are the future – Containers are different from virtual machines. Although both are about the encapsulation of software and dependencies modules in a portable format, virtual machines are heavy weight as they include the Operating Systems (OS) in the encapsulation process.  On the other hand, containers are more about isolating apps and processes from each other. Guest OS and device virtualization are not encapsulated in the container.  As a result, containers are a lot more dense and lightweight. This enables the containers to be highly mobile and very suitable for PaaS and SaaS offerings. With containers, businesses will be able to migrate their IT services between clouds with much greater ease.

 

  • The rise of Microservice architectures – A new software architecture style where complex applications are made up of multiple independent small microservice applications that are stateless, self-contained, loosely coupled and connected to each other via program language agnostic APIs. The advantages of microservices architectures include better scalability, reliability and availability.  For example, instead of scaling up the physical servers when the application is slow, you only need to launch more instances of the bottlenecked microservices. This is a more efficient way of running IT services.

These new application development trends are transforming all aspects of application life cycle.  Ultimately, these trends point towards increased speed and mobility whereby IT services can be effectively implemented and enhanced to meet business requirements.  In order to take full advantage of this new application development framework, developed applications should ideally reside on an agile hardware infrastructure which is commonly found in the cloud. NetApp helps customers build secure hybrid clouds that provide predictable performance to eliminate downtime, drive revenue growth and increase productivity.