Emerging Trends in Software Development

Abstract

As the world of software development is rapidly changing, it’s imperative for the software developers, and software vendors to keep up with the current technologies, trends, and methodologies. However, with fast pace of such changes it is very easy that keeping track of such changes can get out of hand. With all the ongoing changes, the selection of the right technology is the key for success for any software venders and organizations (Ochronus, 2010).

One of the top software development trends emerging in recent years is the cloud computing. Cloud computing as a concept is a virtual servers available over the internet that can host application where it can be used by any number of concurrent users over the Internet (Knorr and Gruman, 2011).

Cloud Computing

Cloud computing comes into focus within any organization when the needs for adding capabilities, and capacities are required by such organization, and can be done on the fly without investing in training new personnel, infrastructure, or licensing new software. The idea behind the cloud computing is based on pay-per-use service or subscription in the real time over the Internet, where the existing capabilities of the IT can be extended as required. Cloud computing offers different services from spam filtering to hosting full-blown applications, that can help organizations increase their businesses capabilities. As IT plugging into cloud computing services individually, the services provided by the cloud computing providers are integrated and emerging to provide common services for different clients (Knorr and Gruman, 2011).

Knorr and Gruman (2011) explained that the emerging services for cloud computing promotes the common services that are required by many organizations and businesses, and some of these common services are:

  • Software as a Service (SaaS) – Where a single application can be provided to thousands of customers via browsers where investment in software licensing and servers are required. Some examples of such applications are the applications that can maintain sales for good and services, and Human Resources apps and others.
  • Utility Computing – Where online storage, on demand access to virtual servers, virtual data center, and virtualized resource pool as a computational capacity available over the network.
  • Web Services – where APIs for web services can be provided for developers to exploit their functionality over the Internet.
  • Platform as a Service – where the development environment are provided by the cloud computing as a service, and as such; the developed application can run on the service provider infrastructure, and delivered to users over the Internet via the providers’ servers.
  • Managed Service Providers (MSP) – Where the service is exposed to the IT rather than to the end-users (e.g. virus scanning services for email or application monitoring services), also called managed security services.
  • Service Commerce Platforms – Where common trading environments can be provided via the cloud computing that can provide systems such as expense management and secretarial services.
  • Internet Integration – Where different services of cloud computing can be combined to created an integrated service that can be used by different businesses and organizations.

 

Cloud computing technology overlaps some of the common concepts that are well known in IT world, such as grid technology, distributed systems technology, and utility computing. The overlap of the above technologies happened due to the rapid changes in the technology usage, the changes that happened to the technology itself, and the implementation of such technology that required to be fit with the needs of such technology from businesses’ prospective. Also, there has been a decline in general interest of the above technology that helped promote the cloud computing technology (Hartig, 2009).

Organizations involved in cloud computing technology don’t care about what goes on the environment, and the main concerns about the usage of such technology is sending, and receiving data and the reliability of such process. Instead of having businesses concern about routers, data pipes and servers, now all the concerns are directed to services that such technology can provide to improve the business lifecycle (Hartig, 2009).

Problems and Predictions with Cloud Computing

Golden (2011) predicted that Cloud Service Providers (CSP) will expand to many businesses and large companies will invest in such technology that sell the cloud services to cover the needs for such options for many organizations. However, it will be very obvious with such varieties of this technology that the pricing for using the cloud computing services will drop down, due to the competition among providers, and customers’ demands for transparency in pricing. High competitions in the cloud market technology and the battle among the service providers will lead to many businesses to exit the business since the waiting period for the profit will be long, and requires a long delay in gratification or profit stratification.

The cloud computing achieved two important characteristics for end users: the attractive prices point, and the service delivered by the CSP is totally transparent and listed in black and white to the end user to understand, and see the benefits of using such technology. Such transparency imposes discomfort on IT groups despite the fact that such technology provides the foundation of the next revolution in IT (Golden, 2011).

Some major problems with cloud computing technology is the loss of data, and having a small section of the cloud that can go down that might interrupt the business continuity for a short or a long period of time. Also, cloud technology runs over large clusters of virtualized servers that contain extensive networking backbones and storage farms, and as such; the crash in such infrastructure will make the situation hard to predict its solution to gain back the services. One of the solutions for the above problem; is to create redundant systems that can work in parallel in two different locations that can represent huge data replication challenges. The solution for the above problems can be more challenging, when it comes to using multiple cloud providers to guarantee the continuation of businesses services since such solution can be costly for many businesses (Golestanian, 2011).

Golestanian (2011) suggested that for businesses to use the cloud technology, the users of such technology need to understand the infrastructure, and be able to audit such infrastructure to ensure the compliance of the standards required for their services. For example, using an open source cloud computing allow users of such technology to be able to inspect the technology and its security considerations to ensure the smooth service continuation.

 

Conclusion

One of the emerging trends in software development is the cloud computing (sometimes called Sky Computing), that can provide the idea of loosely coupled services approach; where it can provide scalable infrastructure, and also reduce the cost of any organization’s infrastructure that might be required to run the business and host applications.

Finally, cloud computing works very well when organization and business requires to be able to access resources or services where dynamic changes to its functions can happen quickly. By using the cloud computing technology, the request for services, or applications can be accessed from the cloud rather than being specific to a named resources or specific endpoints. Also, the cloud computing can be described as a virtualization of resources that can be a self maintained and managed, where resources belong to the service provider are used to keep operation systems, hardware, and networking in proper order (Hartig, 2009).

References

Golden, B. (2011) Cloud Computing: 2011 Predictions [Online].Available from: http://www.computerworlduk.com/in-depth/cloud-computing/3253266/cloud-computing-2011-predictions/ (Accessed: 07 May 2011).

Golestanian, S. (2011) The problem with ‘Cloud Computing’ partII [Online]. Available from: http://salargolestanian.com/BLOG/tabid/567/articleType/ArticleView/articleId/254/PageID/253/The-problem­with-Cloud-Computing-pa rt-I I–The-bigger-they-are-the-harder-they-fal l.aspx (Accessed: 07 May 2011).

Hartig, K. (2009) What is Cloud Computing [Online]. Available from: http://cloudcomputing.sys­con.com/node/579826 (Accessed: 07 May 2011).

Knorr, E. & Gruman, G. (2011) What cloud computing reallymeans [Online]. Available from: http://www.infoworld.com/d/cloud-computing/what-cloud-computing-really-means-031?page=0,2 (Accessed: 07 May 2011).

Ochronus (2010) Top5 trends and technologies in software development [Online]. Available from: http://blog.mostof.it/top-5-trends-in-software-development/ (Accessed: 07 May 2011).

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: