2014 has been a year of learning and investing in new technologies, platforms, techniques and shaking out of the comfort zone of traditional JEE based enterprise development. This is not to say Java is not innovating anymore BUT most enterprises architectural / development choices are constrained by legacy investments they have done in JEE infrastructures some 8-10 years back.
In the last year, we got opportunities to build and prototype (product concepting) cloud based software as service product solutions from scratch and in the process experimented with different tech stack options that are more relevant in the current times. Below is the list of various technologies, platforms, frameworks and tools we are working with and are very optimistic about.
We are also believers in polyglot architectures being most suited for the cloud and data oriented solutions required today and thus focus on using best fit tools and technologies. Being a very agile space with lot of movements, while we have strong opinions, they are loosely held and likely to be refined through initiatives this year.
For most web and mobile usecases, the younger and hipper cousin of traditional LAMP (Linux + Apache + MySQL + PHP) called MEAN (MongoDB + ExpressJS + AngularJS + NodeJS) is turning into a standard development stack. It has been very quick to get team productive on MEAN and using single language across all layers has helped us grow into full stack engineers.
With strong community behind it, specific tools have also emerged for testing (mocha, jasmine, karma) and deploying (jenkins, codeship, grunt) a MEAN application as well as there are multiple stable packages available for standard functionality like authentication (passport), building REST APIs (restify), scaffolding (yeoman).
With the data seen as the new oil, persistence and related ecosystem is seeing significant innovation from nosql to document storage. Different types of data mandate different storage technologies even within a single application. The persistence technologies we are optimistic about:
- MongoDB : We have successfully used mongodb for semi-structured or hierarchical data, low latency analytics
- Cassandra : Found it best suited for high volume time-series based data.
- Redis : Just starting to explore redis for user and session management
After building a continuous integration environment using Jenkins, we are stepping deeper into building a devops culture within our team to ensure rapid release cycles with strong feedback loop. Some of the tools we are experimenting with
- Log Management: Papertrail, Loggly offer an enhanced cloud based log management while Splunk, Scaling Data can turn logs into powerful sources for insights
- Application Management & Monitoring: New Relic and Sensu are redefining traditional application monitoring in a cloud environment and bringing it closer to development community
Given the focus of most of our products like pellustro on analytics, we got an opportunity to experiment lot of charting and visualization solutions. Following are some of them we are very positive about
- High Charts : One of the cleanest and robust charting library available with large configuration options and support for all standard charts including sparklines.
- D3js : for complex, web based and interactive data visualizations
Will followup with post on Cloud Infrastructures and Analytic Languages.
Do leave comments on what other technologies you are tracking / investing in 2015 ?