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 billions. This term was first coined back in the mid 50’s by John McCarthy who was also the inventor of the Lisp programming language. At about that same time, a similar concept was proposed by William Ross Ashby in his “Introduction to Cybernetics” book. While Intelligence Amplification has not received the same amount of media attention as Artificial Intelligence, its subtle influence is still very much quietly present in modern times.

While related, the two terms are not identical. Both AI and IA use Machine Learning algorithms but what they do with ML is quite different. With AI, the machine does all the “learning” and the humans that consume AI are just supposed to trust what it predicts. With IA, the computer assists the humans in thinking for themselves. That is interesting to me.

I decided to explore what IA could do to help software engineers, specifically with regards to understanding how microservice architectures behave. I set up an experiment where I captured the performance data of 6 different implementations of a feature identical microservice as they ran under load in both Amazon’s and Google’s managed Kubernetes environments. I then processed that data with ML algorithms and studied the resulting trained models to see if I could gain any insights into these microservices.

With the help of ML, I was able to learn two things that I did not know before. I discovered a performance affecting bug in one implementation of the microservice and I uncovered a performance related secret about AWS.

In the course of this investigation, I evaluated the following open source technologies; Jupyter, Tensorflow, R, scikit-learn, Weka, KNIME, Mahout, and Spark MLlib.

If this is of interest to you, then feel free to click on the links below to read about this learning adventure in more detail.

EKS vs GKE

Analyzing MSA Performance with ML

Evaluating ML Open Source


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

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 条评论
  • Writing Microservices in Go

    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…

  • 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…

社区洞察