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.
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.
Imagine: you are a customer of a big software project that tangled in chaos. Several practices will help you make your project manageable and profitable.
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.
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.
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:
- Version Control for Multiple Agile Teams by Henrik Kniberg
- A successful Git branching model by Vincent Driessen
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
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.
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.
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.
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.