Strategy•Dec 02, 2015
A Little Help From My Friends – Insight on Architecture & Technology Trends
Last week I celebrated my 11th year at Credera. One of my favorite things about working at Credera is that every day I get to collaborate with our amazing team (my friends) on a wide variety of problems. When a client asks me “what do you know about (fill in the blank technology topic)?”, I almost always have a few talented colleagues that I can turn to for help. We get together, talk about that client situation / problem / question and put our collective experience and skill sets together to help.
I thought it might be helpful to share some interesting perspectives from some of Credera’s top technology leaders here, so I tee’d them up with this initial topic.
What is the best new tool or technology that you’ve used in the past year? What problem does it solve?
Jason Goth, Principal Architect, Technical Architecture & Strategy Practice
“Kubernetes. I’m a big believer in the promise Docker offers IT organizations. Unfortunately, the Docker networking model has some well documented issues and limitations (e.g. communications across hosts). There are several new technologies aimed at addressing these limitations such as Google Kubernetes, CoreOS Flannel, or Weave. All are good solutions, but I like the Kubernetes concept of Services. Kubernetes Services move the responsibility of service registration and service discovery to the cluster manager. In my opinion this is where it belongs – not with the services themselves. That is, since the cluster manager is responsible for deploying or moving a container, it seems only logical that it register the service and answer “where is container X”. This isn’t strictly a solution to the network limitations of Docker, but more a layer on top to provide the management and discovery of containers. I believe that Kubernetes will evolve to allow for multiple network implementations, which will solve many problems. But Services go hand in hand with these networking improvements and are a great tool for distributed environments.”
John Jacobs, Principal Architect, Technical Architecture & Strategy Practice
“Vagrant. It makes setting up a local dev environment fun again. You can have a full stack up and running in minutes in a very production-like way (running separate vm’s with the right OS version, packages, etc). One person sets it up and commits their Vagrantfile and everyone else can just “vagrant up” instead of spending minutes (no wait… hours, no wait…. days) setting up their dev environments. I can’t think of a greenfield project we would start today without it.
Honorable mention goes to Ansible for infrastructure-as-code. I’m a huge fan boy. I’ve had a hard time getting my head around Puppet and Chef, they’re pretty complex beasts with high barrier to entry and terse syntax IMO. If you get bash scripts you can be functional with ansible in a couple hours. What I really love about Ansible is it works entirely over SSH, no puppet masters needed or residue left on boxes that are configured using Ansible playbooks. And it plays nicely with Vagrant so you can really have identical processes for setting up dev, test and prod.”
Jeff Hewitt, Senior Architect, Microsoft Solutions Practice
“ASP.NET 5 is the next version of the ASP.NET platform – it is one of the most significant architectural updates ever made to ASP.NET. The most exciting news is that the platform has been completely re-written from the ground up, refactoring almost fifteen years of thinking to create a streamlined, modern, open-source web application platform. As a result, three major changes to the platform have been introduced.
Years of bloat have been removed – all platform dependencies are managed as NuGet packages and your application only references components that it needs
MVC and Web API have been unified into a single framework, MVC 6
Among other traditionally required dependencies, System.Web has been removed, enabling the development of cross-platform web applications which run on Windows, Linux, and Mac for starters”
Jeff provided a bonus answer too…
“This year has seen a lot of progress for the Roslyn compiler – the new open-source .NET compiler as a service platform written from the ground up in C#. The traditional compiler is a black box which takes in source code, builds a comprehensive understanding of the code being processed, exports assemblies, and then forgets everything it knew about the software it has just built. Solving this problem is the core mission of Roslyn, which opens the compiler up, making syntactical and semantic structure available to average developers.
This solves a variety of problems. This transition from the traditional compiler to a compiler as a service significantly lowers the barrier to entry for creating code focused tools and applications, opening the industry up for dramatic innovation in areas such as meta-programming, code generation and transformation, and interactive uses of the language (such as scripting).”
Hopefully you find their insights as helpful as I do. If you ever have a question or need some help, let me know. Odds are that one of my friends at Credera can help you.