HashFlare 2.0: To Infinity and Beyond

in #hashflare6 years ago (edited)

HashFlare is changing. When we just started building our service in 2015, we didn’t expect that two and a half years down the road it would be used by over a million people. Of course, we were young and ambitious, our plans were grand (they still are), but reality still managed to surprise us and overshadow our expectations.

On average, 4,000 new users sign up on our website every day, and up to 8,000 people use our service at any given moment. All these people must have noticed how much maintenance work we’ve been doing on HashFlare over the past couple of months. Predictably, any disruptions cause a wave of discontent but rest assured that there is a good reason for you to show us just a little bit more patience because all these temporary inconveniences are only a sign of the upcoming changes. A new chapter is about to begin, and it’s called HashFlare 2.0.

To give you a better idea of how the new version of HashFlare is going to be fundamentally different from the old one (and why we started the whole thing in the first place), we spoke to Vitali Pavlov, Head of Product Development at HashCoins who has been running HashFlare from the start. As always, the origins of any future changes take root in the past.

The HashFlare story dates all the way back to 2013 when the Estonian firm HashCoins set itself a mission to become one of the first companies manufacturing mining hardware. ASIC chips became the heart of our miners allowing HashCoins to fairly quickly secure itself a place in the sun: in those days, the market share of ASIC miners was no more than 20%, and their purchase would completely pay itself off in a matter of a couple of weeks to a month.

However, quite soon we realised that mining hardware might be a good idea, but it has its downsides. First of all, this kind of hardware is costly (we are talking about thousands of dollars per machine), which dramatically reduces your chances of expanding your customer base by attracting beginner miners. Secondly, there are lots of risks associated with transporting miners, possible customs delays, and breakdowns. There were also problems on the user side of the business. Not all our customers were mining experts, while an ASIC miner is not exactly a Windows PC: you have to set it up and do some homework before you can start using it. Plus the usual issues with miners and server hardware, such as noise, bulkiness, heat emission, proper ventilation, and huge electricity bills.

This is how we came up with an idea for a cloud mining service, and Renna Reemet, the Lead Developer at HashFlare, became the key person behind the implementation of this plan.

According to Vitali’s recollections, at first, for about a year, HashFlare was built by just two people, Renna and himself.

The management gave the go-ahead, the Technical Director supplied his useful advice, and the work began. The very first version of our cloud mining panel was launched in… 13 days (Vitali admits it was one of his sweetest and biggest early achievements) and the public release of HashFlare 1.0 followed over the next six months. But things were not as cheerful at the time.

“Because we didn’t have a proper understanding of the scale and the extent of the growing cloud mining trend, we couldn’t even imagine that in two and a half years our user base would exceed a million,”
– says Vitali.

It is a bit embarrassing to admit, but we decided to be honest: although the first version of HashFlare wasn’t exactly written on the back of an envelope, it relied on technologies that wouldn’t qualify as the most advanced in this day and age. Hence the large number of flaws that later, as our audience increased, turned into serious technical issues.

However, it would be wrong to classify it as a little side project: we worked non-stop, 24/7 and it won’t be an exaggeration to say that ever since HashFlare was born as an idea, both Vitali and Renna experienced the joys of living in the office to the full.

“New people joined the IT team as time went on,” Vitali recalls. “Our workload reduced, and it became easier to develop the project and listen to our users. We may be still dealing with the occasional consequence of writing the original code in a hurry, and we are still optimising it. Nevertheless, we are proud that we were able to write a working piece of code and a build a working project with a stable market presence to date.”
Almost three years later, HashFlare — is four contracts (SCRYPT, SHA-256, ETHASH, and EQUIHASH) with automated payouts in Bitcoin, Ethereum, and Zcash; an easy-to-use stats system; optional distribution of hashrate into mining pools; and lots of users worldwide, including North and South America, Russia, Europe, the CIS, and Asia. Behind all these achievements is a team of dedicated and passionate people who love their job and believe that part of their mission is to spread the word about cryptocurrencies, mining, and blockchain technologies on the whole.

What’s Next?
There’s more to come. In mid-fall, Renna Reemet left HashFlare to continue professional development in other projects not related to cloud mining. It was Renna who put incredible, titanic effort into our project for almost three years, working tirelessly and selflessly, sometimes not thinking about herself at all. You can’t replace a person like this, but this is not what we are trying to do.

Instead, we are entering a new age and are happy to announce that the Lead Developer role at HashFlare has gone to someone as selfless as Renna, Pavel Borozdin.

Pavel joined HashFlare a year ago and soon after teamed up with Renna to optimise our service, fix bugs, and introduce new features and technologies. By working as passionately as his teammate and being ready to jump out of bed in the middle of the night to fix any failure or unforeseen issue, Pavel made it clear that no other candidate would make a better Lead Developer than him. It is now Pavel’s responsibility to switch HashFlare to a new architecture, and we would never entrust him with such a pivotal task if we did not believe in him 100% :)

Ch-ch-ch-ch-changes
Right now HashFlare is undergoing work in two areas. First of all, we are moving our entire structure to AWS; secondly, we are breaking up the website’s core into separate microservices, which is intended to make HashFlare more productive and stable. To our users, this means one thing: the system is about to become more flexible and, at the same time, more stable. AWS, which is a kind of cloud hosting solution, will allow us to better cope with things such as DDoS attacks and high load periods. While at the moment we may sometimes struggle to cope with the load on our servers, once the service has migrated to AWS, our users will find this issue resolved in a more timely and seamless manner.

Here is what Pavel says about this change:

HashFlare was written using a monolithic architecture, and up until 2017, this system was good enough for coping with the load. However, given today’s increasing popularity and sky-rocketing prices of cryptocurrencies, the demand for them has surged, and the number of our customers has been growing exponentially too. We used to get 15,000 to 20,000 new users a month, but now this figure sometimes reaches 100,000.
At the time of writing this post, our website had 1,495,737 registered users. The load on the server keeps increasing, making it harder for its monolithic architecture to cope. Although we regularly optimise our code and review our approaches to various methods and their productivity, it can only give us so much room for working on version 2.0.
In March 2017 we decided to switch to a microservice architecture. This will allow us to easily scale the app, balance the load between various functional modules of the system, and substantially speed up our service.
We are finally working hard on writing a system for version 2.0. The current version of HashFlare was written in PHP, whilst HashFlare 2.0 will be based on Java. Our vision is to closely focus on an API service in addition to front-end and back-end. Yes, we are considering the possibility of making our API as open as possible to third-party developers, allowing them to create lots of other products based on HashFlare. Mobile apps, Telegram bots? No problem, anytime. And last but not least, the new HashFlare is not only getting an internal spring clean but also a facelift. Its modern revamped design is only the tip of the iceberg: you will find working in version 2.0 and its dashboard so much easier.

Right now, we are regularly expanding our team and looking for new full stack and Java developers. This is to ensure we can successfully switch our architecture to one that is more efficient and easier to handle in emergencies. The migration to HashFlare 2.0 is scheduled for 2018, and we hope this news can be a great present for you in the run-up to Christmas and New Year.

source: https://blog.hashflare.io/hashflare-2-0-to-infinity-and-beyond-bc735053936a