My two 'bits' on technology!

Technology Trends 2013 – Cloud, Mobile & Big Data

This article is a contribution by our guest author,  Srinivas Konduru, Enterprise Architect

These days where ever I go, whether it is attending an Architecture conference or reading an online article, the discussion is about trends in Technologies that are important to focus for next couple of years.  I have seen most people talking at conceptual level and very few talked about the actual technologies (or software providers). This is my attempt to bring the flavor of technologies that are important to be focused for an organization to stay up with the competition.

What I can see from my experience that Cloud, Mobile and Big Data are hot in the Market now. I will discuss the major technologies in these areas.

Cloud

I can definitely say there is a lot of focus on “Cloud” in many organizations.

There are organizations that are offering Infrastructure as a Service. I really do not want to focus on that in this blog.  I want to focus about cloud technologies that can used to build Business Applications. While I say that, there is lot of focus on “Cloud” infrastructure in the Market to provide scalability, reliability and availability of cloud applications.

Coming to important part of “Cloud”, PaaS, Platform as a Service, is the focus of 2013 and 2014.  I can see majority of well known platforms are available as Platform as a Service today. This adoption will increase in next couple of years.

If we look at Java EE, there is a plan to support PaaS in Java EE 7.  That means, in future, Java EE will come up with special features to write applications on “Cloud” (e.g. features like multi-tenancy).  Currently, if we see, there are already many PaaS providers offering “Java EE” on cloud.  I have mentioned few providers below:

Cloud Bees
  • Java PaaS Provider
  • Support JVM-based languages: Java, Spring, JRuby, Grails, Scala, Groovy and others
  • No Vendor lock-in
  • Free version available
Google App Engine
  • Java PaaS Provider
  • Free version available
Amazon Web Services
  • Java PaaS Provider
  • Pay as per the usage
Open Shift
  • Java EE as PaaS
  • No Vendor lock-in
  • Free version available

 

Some of these are currently Java EE compliant and some are not.  But Java based web applications can be built on the “Cloud” using these offerings.

Another interesting trend that I have observed, many SOA technology providers are going onto “Cloud”.  Few examples are WSO2 Stratus and Intalio BPMS. That means, Service enabled applications can be built on cloud, integrated on cloud and Services can be orchestrated on cloud for implementing business processes.

Mobile

Mobile is another emerging trend where customers focusing on bringing their business applications as near to customer as they can.

We can see the following three patterns emerging in developing Mobile applications.

  • Native Mobile Applications
  • Mobile Web Applications
  • Cross Platform Mobile Applications

Technologies that are getting traction in these areas are mentioned below:

Native Mobile Applications
  • iOS
  • Android
  • Windows
  • BlackBerry
Mobile Web Applications HTML5
Cross Platform Mobile Applications These are mostly Java Script based technologies:

  • Sencha Touch
  • jQUERY
  • Phone Gap

 

The following factors determine the type of pattern that is considered for a mobile application:

  • Development Cost
  • Richness of User Interface
  • Usage of device features (Such as Camera, Scanner etc)
  • Need for offline capability

Big Data

BigData has become the topic of the year and everybody in the IT Industry is keen to consider the Big Data solutions for solving their business requirements that deal with huge data. Let us see what technologies are getting traction in this area:

NO SQL Database NoSQL (Not Only SQL) databases are distributed in nature where cardinal relationship does not exist between entities. These are not built primarily on tables. Few examples of NO-SQL Databases:

  • MongoDB
  • HBase
  • Apache Cassandra
  • Amazon SimpleDB
  • Neo4J
  • InfoGrid
Hadoop Apache Hadoop is an open source software project that enables the distributed processing of large data sets across clusters of commodity servers. It is designed to scale up from a single server to thousands of machines, with a very high degree of fault tolerance. Components of Hadoop: 

HDFS     – Hadoop Distributed file system  (like NTFS)

HBASE  – Distributed data base

MapReducer  –

Splits the Data sets and create multiple tasks, Maps the tasks to multiple data nodes and Reducer performs the tasks on Data Nodes on multiple cluster

Nodes   – Name Nodes and Data Nodes

HiveQL – Query Language  (like SQL)

ZooKeeper  – Job Scheduler (Similar to BMC)

Pig – Used for “BATCH” Processing

 

What is happening in other areas?

What I understand from many implementations across organizations that “SOA” is no more a hype. It has become a common Architectural style to build applications.  Do we call “Developing Web Applications” is a trend? Do we call “Developing Java Applications” is a trend? No, right? What I see almost all new applications that are developed across organizations are manly SOA based, at least Services based.

It also looks like specifications for implementing SOA got matured and I do not see much innovation happening in this area.  Product companies that offer SOA solutions are focusing on bringing many other features (like event driven) around these tools and also offering these tools on Cloud.

When it comes to implementations, RESTful services are being adopted by many Organizations now. Especially, exposing business services using RESTful services and building multiple channels consuming these services has become a trend now.

  • http://www.genymedium.com Ravi Jain

    Great article. Good insights on what the future holds for us!

Powered by WordPress | Designed by GenYMedium.com