As a forward thinking organisation, we have deployed most of our apps onto Kubernetes recently, of course with the consent and acceptance from the clients.
In ruby, sub and gsub are very useful and powerful string operators.
It is not uncommon to see a Jenkins build failure due to a memory choke now and then while running thousands and thousands of rspec examples. The examples may be too much for the memory allocated within the EC2 instance. One simple solution is to enable Swap memory. Going through the typical EC2 route you need to have a dedicated Swap Partition. However if you feel you don’t want to go through that route, you can simply do it via a swap file.
Currently we index huge amount of data using elasticsearch every 3 months. As a devops, I always have to setup Elasticsearch EC2 instance manually. Each time, when we need to scale the elasticsearch nodes for indexing, I have to launch the ec2 instance and manually install java, ElasticSearch etc. and of course this is time consuming task taking 20 mins per node. To avoid this manual intervention, we want to run the entire process of scaling the elasticsearch nodes automatically.
As part of building a scalable single page web application, we explored couple of different frontend frameworks by keeping few expectations in mind like lightweight, performance, robust, faster development, quick learning curve etc. At a high level, we chose the following frameworks: EmberJS, Angular, ReactJS and VueJS based on the popularity. In which, Angular and Ember JS are having relatively a larger community support and highly used in web applications. We ruled out Angular due to its breaking changes release after releases. Eventually we chose to compare ReactJS and VueJS due to their less learning curve and their virtual dom support.
When there is a need to run huge number of tasks on a day to day basis, as a python programmer I would choose Celery to run my tasks in commodity servers. Celery could use Redis or RabbitMQ. We can primarily scale the number of tasks that Celery can process by clustering Redis or RabbitMQ.
To scale horizontally (or scale out/in) means to add more nodes to (or remove nodes from) a system, such as adding a new node or a computer to a distributed software application.
Flutter is an open source beta framework by Google for mobile UI to build high-quality native (super fast) interfaces for both iOS and Android. Dart is used as a programming language inside Flutter. A bit of caution needs to be exercised as it is still in Beta and we don’t know what can change later on given the history of Google.