Writing Microservices in Go
imported Go gopher model designed by Renee French

Writing Microservices in Go

Go is a general purpose programming language from Google. Rob Pike, one of Go’s inventors, gave a presentation about Go in which he said this. “Go is software for the parts that we work on which is mostly infrastructure.” Some of the most modern popular infrastructure services are written in Go. Kubernetes, Docker, Terraform, Etcd, Istio, and Prometheus are some notable examples. According to TIOBE, Go experienced a big jump in popularity back in 2016. According to Stack Overflow trends, Go experienced a big jump of interest in 2018. There are many high profile companies who are developing in Go including; Apple, Uber, Dropbox, BBC, NYT, Medium, and the Economist.

In the world of programming languages, there is usually a trade-off between simplicity and expressiveness. Simpler programming languages are easier to learn and are less likely to be misused but are also not expressive enough to solve more complex problems. What I like about Go is that it does very well in terms of this trade-off. Programs written in Go are pretty simple yet can still solve fairly complex problems.

I am starting to see a lot of coverage from technology blogs on writing business focused microservices in Go. I thought that I would evaluate Go for that purpose. Whenever I evaluate a tech stack for microservice development, I implement the same feature identical service. I put it on a Kubernetes based test lab then capture and analyze the performance results. This is how I can form a basis for comparing the tech stack with other, previously evaluated, tech stacks. The repo for all of these implementations and the test lab is open source available on github.

I documented what I discovered in this blog entitled Writing Microservices in Go.

要查看或添加评论,请登录

Glenn Engstrand的更多文章

  • Code Migration Using LLMs

    Code Migration Using LLMs

    Last year, I evaluated how effective Large Language Models were in writing unit tests. This year, I decided to evaluate…

    2 条评论
  • A Comparative Analysis of C# and Kotlin

    A Comparative Analysis of C# and Kotlin

    When it comes to developing high-performance backend microservices, choosing the right programming language and…

  • Experimenting with LLMs for Developer Productivity

    Experimenting with LLMs for Developer Productivity

    LLMs (or Large Language Models) is the latest craze in the world of Artificial Intelligence. It is getting a lot of…

  • Top Ten Frontend Architecture Trends of 2023

    Top Ten Frontend Architecture Trends of 2023

    Have you ever run across any of the following buzzwords and wondered how it all fits within the larger picture of…

  • Devops Renaissance

    Devops Renaissance

    We live in a time of renaissance for what is now called devops maturity. It has never been easier to develop and deploy…

  • Consistency, Coupling, and Complexity at the Edge

    Consistency, Coupling, and Complexity at the Edge

    There has been a lot of stories published over the past decade on the subject of breaking monoliths up into…

  • GraphQL vs REST

    GraphQL vs REST

    GraphQL was originally released by Facebook in 2015. Since then, it has steadily increased in popularity to the point…

    4 条评论
  • What Does a Software Architect Do?

    What Does a Software Architect Do?

    You can learn a lot about the culture of a technology company by examining what they expect from their software…

  • Spring Boot vs Dropwizard

    Spring Boot vs Dropwizard

    By just about every conceivable accounting, Java is the most popular server side programming language for enterprise…

  • AI vs IA

    AI vs IA

    Artificial Intelligence has become a mainstream topic and an industry with a market size reported to be in the…

社区洞察

其他会员也浏览了