A recent topic grabbing the stage in the software community is the use of Microservice Architectures. Microservice architectures are often sold as a great way to enhance a project’s agility over a standard, monolithic architecture. While this can certainly be the case, and there are indeed many benefits from using microservices, the use of a microservice architecture also brings about many unwritten challenges to the way software is designed, developed, and put into production. In this article, we will lay out some of the positive characteristics specific to using microservices that we’ve found while implementing them in a production setting.
Motivated by the introduction of Lambdas in Java 8, I wrote a couple of examples to see how difficult it would be to follow a functional programming paradigm in real production code.
Latest posts by Ghaith Alrabadi (see all)
- Java 8: Parallel vs Sequential Stream Comparison - September 23, 2015
- How to implement the splitter and aggregator patterns with Apache Camel - January 19, 2014
- Iterators, Functors and Predicates - August 24, 2012
I will demonstrate using some features from Java 8 with a simple and fun example.
About a month ago, I facilitated the first event as part of the Source Allies external mentoring program known as Source Allies University (SAU).
It was an interactive forum and networking event designed to:
- Cover basics and explore new tricks of Test Driven Development (TDD) in Java
- Create new code & refactor existing legacy code via TDD
- Code through a sample project for hands-on experience
Source Allies is a technical consultancy proudly working with clients in Des Moines. We focus on application development, and trend towards newer technologies. Our strength lies in our people: talented, intelligent, and able to handle challenges in a professional manner. Our hope has always been to have a positive impact on our local community, and this blog will focus on our plan to do just that!
Amazon just announced general availability of their Elastic Container Service providing a platform for launching Docker images in the cloud. Let’s say your team is developing software on Windows and Mac OSX, but Docker requires the Linux kernel’s virtualization features to work. By now, you have likely discovered that Vagrant and/or boot2docker provide nice ways to run Linux on your local PC or Mac and provide a docker deployment platform.
But with so many different options available to configure how your Docker containers talk to each other, how do you get started? In this article, we will take a look at a basic set of containers needed to stand up your own Docker registry (a must if you want to share your images in a place other than the public docker.io or paid private quay.io) and look at four different ways to launch your containers:
Latest posts by Matt Vincent (see all)
- 4 Ways to Launch Docker Containers - May 14, 2015
- Aggregate MyBatis.NET SqlMaps from Multiple C# Projects - October 6, 2010
- The Easiest Way to Organize Zimbra Email - February 26, 2010
Your hard drive with very important family pictures has just failed, and now all data is lost forever. Could you have prevented this from happening? This article is a quick walk though of how to detect hard drive errors before the disk is unusable.
During my career, I’ve worked at various organizations that had different stances toward open source frameworks and tools. Some of these organizations absolutely did not want anything open source near their code base. Others had a small set of “blessed” open source frameworks we were allowed to use. Some of the better places I’ve encountered, had a process for approving and documenting the use of new open source libraries in the code base.
The reason for this is that organizations tend to recognize that using an open source library comes with a certain amount of risk. Their goal is to manage the amount of risk they are taking on while developing software. The risk of using an open source library usually stems from the license of the library.
Let’s start with the 800lb gorilla in the room, Java. Why Java? Well, let’s start off with the fact that it’s got a ton of community support and documentation everywhere. If you Google a programming problem, chances are within the first three results you will see an example using Java. There is also a plethora of amazing editors available. A good editor is not a replacement for knowing the tools available in a language, but it can help you in learning.
One of the tenets of the agile methodology is feedback. To provide value to your customer, you need to know that what you are delivering is correct. But as an agile coach, I often struggle with teams understanding the importance of getting feedback from the customer as soon as possible. One way to get teams to understand is to use an analogy – cooking.
Recently I started to use a more minimally-responsive CSS framework called Neat, since I was unhappy with the total offerings of so many others. This article will explain how to start using the basics of Neat in order to better understand how the framework works before using it in projects.