How to Improve Performance of AWS Java Cloud App? Try ElastiCache

Usually startup projects grow gradually starting as prototypes. The load increase unnoticed, so at one point your server might lay down, because it didn’t manage to handle the number of incoming requests. Fine. We can hide a web application behind an http-server/servers to optimize work with static content. Additionally, we can create several instances of our web application for load balancing and fault tolerance. Some more options to improve performance of AWS Java cloud app is described in my colleague’s article. But what to do if your database is a bottleneck? If you have a lot of information frequently asked, which can be cached in the memory, then it’s worthwhile to try Memcached.

Read More

How You Can Use Cassandra in the Big Data World

In simple terms, the goal of typical big data systems is to get some business benefit of information. Commonly, we need to collect the data, save it in a certain location, perform some analysis (up to data mining), and visualize results.

Though every business case is unique and there is still no silver bullet, some frameworks, tools and platforms are widely used as big data system building blocks. You may have heard frequently used words like Hadoop, Hive, Spark, Kafka, Cassandra, HBase and others.

This article covers the main features of Cassandra DB with respect to usage as an element of big data system infrastructure and our experience.

Read More

Working in a Virtual Team

How successful is your business? How much of your business is done on the internet? Nowadays, every other businessman has a web application to offer their services online.  Was it created locally or by a virtual team? I believe, a group of highly-skilled developers  working across the road was hired to deliver the project. You must have paid quite a fortune for the time they dedicated to the product.
Read More

Database: How To Make a Bad Thing Work Well

Our team uses software development and database best practice and it turned out that developers got used to some of it and stopped looking at it with a critical eye.

There is a widely known opinion that implementing a business logic on the DB side is a bad idea. In most cases it is true, and can be explained in many ways.

Read More

Smart Version Control for Project Managers and Decision Makers

Today I’m going to tell you about Git version control (branching) model that we use widely in ISS Art to effectively manage code base of our projects. The experienced software development teams might know this model as major ideas were found long time ago and posted in the articles:

Here, I’m going to consolidate these ideas in the way that could be easily understood by software project managers, product owners and decision-makers to explain them the technical challenges that can arise due to certain harmful business decisions, and how they can impact development costs and schedule. Examples of harmful business decisions:

  • Task reprioritization after development start
  • Request to include one more feature in release during release testing
  • Too many hotfix requests

Read More

Unlocking the Power of Industrial Automation Through Java

Industrial automation promises to make your organization far more profitable and succeed faster than ever before. It promises to improve product quality and increase a manufacturer’s flexibility.

Specifically, organizations can speed up and optimize their repetitive and discrete processes. By collecting better data and using advanced algorithms, machines can make the best production decisions so that the plant can reduce waste and improve the production process. Plus, with better data, your organization will be able to make better decisions.
Read More

7 Tips to Choose a Reliable SEO Provider

These days in the market there is a great number of companies offering SEO services, which makes it difficult to assess the quality of such companies, and even more difficult to make the right choice, moreover, if you have never worked with such companies before and nor have you ever dealt with SEO promotion.

In order to help SEO customers I have decided to share my experience as to what should be considered while looking for SEO providers and what should be clarified during negotiations.

This will significantly save you time and money, as website promotion is not very cheap, and experience with dishonest SEO providers usually costs customers too much.
Read More

Multipartial Upload or How to Bring Amazon S3 and Legacy Code Together

A large part of software development projects today are either being developed for quite a long time, or received as a legacy from another team. Such code has been in most cases written by people no longer working in the team. Another pitfall can be the requirement to create an unchangeable and backward compatible API product. Under such conditions, the team have to provide the product support and even introduce new features. I encountered a similar problem connected with legacy code on one of ISSArt’s projects.

Read More

Automated Tests: Why and How

If you aren’t implementing a prototype for some quick demo in some 8 hours, 3 days, etc. to archive it in a folder like the “trash” right after that, then you will have to think about the quality assurance, finding bugs, etc. Somebody will have to do this job after all. Whether you include the automated tests in the code development process or you totally rely on the testers, the automated tests will appear in your system sooner or later (or the project will die aborning).

The worst thing is that auto tests are also the code, i.e. all problems relating to the code development (the design, bugs, usability, performance, etc.) exist in tests. When you automate the testing, you actually implement the new functionality in your system. Thus, you should develop tests as any other features.

Read More