Blog

977360_8585_4

Automating your VPC with Terraform and Jenkins

By:  TAGS:

In DevOps, they say once you have to complete a task more than once manually, it’s time to automate the process. One of the tasks we do in AWS is duplicate environments for Dev, QA, Staging, and Production. So it’s time to create some templates and automate the process with Terraform and Jenkins.  This will allow us to implement push-button creation of our infrastructure as needed, on demand, with thoroughly tested code that is predictable, efficient, and reliable.

First, we need to decide how we are going to separate environments in AWS. In my experience, the best way to do so is to use different VPCs for each special use case: Read More

Machine-Learning

Machine Learning Made More Effective Through Python

By:  TAGS: DATE: 01/02/2018

Machine learning, a branch of artificial intelligence, is a method of data analysis that automates analytical model building. While artificial intelligence covers the broad concept that machines should be able to perform what humans consider “intelligent” tasks, machine learning is based on the idea that machines should be able to learn and adapt through experience.

 

The introduction of new computing technologies has evolved our understanding of machine learning since its inception. One of these technologies, Python, has emerged as a clear frontrunner as far as a machine learning language. Many data scientists and developers have agreed that Python has made machine learning faster and simpler than ever before, giving it a noticeable advantage over its competitors.

Read More

go

An Introduction to Golang

By:  TAGS:

In 2007 Robert Griesemer, Rob Pike, and Ken Thompson created a compiled and statically typed language called “Go.” This new language was meant to resolve problems they regularly experienced with languages they were using at Google. Here is a list of the pain points this group sought to address:

  • Slow builds
  • Uncontrolled dependencies
  • Different subsets of the language used by programmers to solve the same problem
  • Hard to read and/or poorly documented code
  • Duplication of effort
  • High update costs
  • Version skew
  • Difficulties in writing automatic tools
  • Cross-language builds

Read More

devops

How Certain Software Solutions Can Automate Your DevOps

By:  TAGS:

Today’s companies routinely leverage IT products to conduct their business. Many of them empower their IT departments to maintain the computing environments as well as the software and services that are used throughout the company. As virtualization and cloud technologies continue to grow, automating the deployment and environment setup has become even more challenging and important.

There is a wide variety of software products which need to be treated differently for production, development, testing and other environments. Migration of the entire infrastructure from one cloud provider to another often requires a lot of work. This is because there are many complex tasks related to the migration of a whole infrastructure. In addition, the increased load placed on these products requires an expansion in the number of service instances that are managed by the same load balancer. Read More

Untitled-2

Jenkins for Rails

By:  TAGS: ,

Automated testing is a commonly used practice. It saves you from boring routine and detects problems while you are developing your product. One of the tools which can help you with this is Jenkins, cross-platform, continuous integration and continuous delivery application with rich plugin ecosystem.

To show how to use Jenkins for automation testing for rails I’ve created test rails app and put it on github and created a server on Ubuntu, which I will refer to by the URL http://jenkins.example.com. First thing we need to do is to install Jenkins and Git packages on our server.

Read More

go-rails

Go for Rails Developers

By:  TAGS: DATE: 08/23/2017

As the Ruby on Rails community becomes increasingly mature, additional time is spent optimizing different aspects of the program rather than creating a completely new web application. This means performance and memory consumption start to play a significant role in its day-to-day development. So now we have much more instantaneous communication, lots of API calls and open connections needs to be processed. This evolution is apparent from the way Rails 5 was developed. ActionCable and API mode for Rails are selling features of Rails 5 due to the program’s advances over time. But what happens if you still encounter problems with performance and concurrency? Luckily, Golang has the capacity to address some of these issues in certain circumstances.

To be clear, however, this article isn’t designed as a complete guide to explain Golang’s most complex facets. Instead, it presents similarities between the two major frameworks of Golang and Ruby. Therefore, the purpose is to compare Ruby on Rails versus Beego. In the process, the objective is to discover familiar ways to perform functions in Go if you already have some experience using Ruby. Read More

CforGopher

C-for-Go, a Full-Featured Bindings Generator Allowing Use of Any C/C++ Library Within Golang

By:  TAGS: DATE: 01/18/2018

Your team has decided on Go after months of months of developing modules and roadmapping for a large project, but since there are three external dependencies in C/C++, your entire project will now have to be done in C/C++. What does this mean? Now, at least half of your development time will be spent correcting memory accesses bugs and invalid cast errors — and not many developers can afford to allocate this time. What can be done to expedite this process?

 

Read More
Untitled-1

Ampersand.js: An Alternative to Backbone.js

By:  TAGS: , ,

When trying new, modern frameworks, developers often face problems like poor official documentation and a lack of real-world examples. A guide that explains using the framework according to best practices/approaches may also be absent. In this article, I provide an overview of Ampersand.js, a more or less modern framework, that could be a solution to many such problems. I encourage those who interact with the client side to try Ampersand. It is well-equipped and developer-friendly, so some of its approaches can be helpful when improving existing frameworks or creating your own.

 

What is Ampersand, and how does it work?

Ampersand can be seen as a successor or an improved version of Backbone. If you are familiar with Backbone, you will find many similar components. The creators of this product, &yet, describe Ampersand as a “non-frameworky framework.” This means you are able to assemble the framework from the components they provide. The creators also describe Ampersand as “highly modular” and “loosely coupled.” If you don’t need a certain component, you just don’t use it. In other words, you can use Ampersand as  the main UI framework for your web application, or for only one part or module, like the wizard. Read More

nodejs-green

Test-driven Development of Node.js APIs

By:  TAGS: , ,

Many articles describe the interaction between Node.js and Elasticsearch, but they often do not clearly explain how this interaction was achieved. To fill this gap, this article describes test-driven, step-by-step development of a simple RESTful API into an Elasticsearch in Node.js.

My main intention is to show Node.js developers how a RESTful API might be written using a TDD approach. Applying TDD practices makes the process much faster and results in a less error-prone API. Moreover, the whole application architecture becomes testable and therefore simpler and cleaner.  

This article is divided into three main sections, with subsections and numbered steps to facilitate ease of use: Read More

Sphere on Twitter

Tired of Microservices and Refactoring? Check Out These Alternative Legacy Modernization Strategies:)

https://t.co/zXniUikM1Q

#sphere #sphereinc #spheresoftware #refactoring #microservice #legacy #future #fun news #new #strategy #sphereblog #blog

We are looking for Android Developer to join our team. Please, follow the link below to see full job description !

https://t.co/j0cUwNryci

#job #sphereinc #spheresoftware #spherejobs #team #join #future #android #developer #career #opportunity #dream

We are wishing our friends, customers and employees a happy Valentine’s day from all Sphere Software!:)

#Valentines⁠ ⁠ #technology #ValentineDay #love #html #css #sphereinc #spheresoftware #happy #life #holidays