Evolution of tech with new developments and happenings is constant. And as usual, DevShorts is back with another issue to simplify your digests from the community. Like our last ones, this issue also covers the unique stories trending in our developer circle, along with a look at new open-source projects, tutorials, conference news, and much more.
Must Reads
This issue starts with shocking news from Microsoft that they recently announced. Microsoft announced that they will be discontinuing the support for visual studio for mac. The company decided to provide security updates and platform update compatibility for the next few months. It will also provide runtime and workload updates along with other basic support for .NET 8 in visual studio for mac so that developers can continue to build and ship applications. More on this can be found in this article published in 9to5mac.
Netlify launched a new feature with which you can choose the geographic location where you can run your functions. This Functions Regions Selection feature will help reduce the time to process requests as it will allow application logic to be closer to your databases and other backend services. Hence, it will reduce the latency and will improve the application performance which will provide users with a seamless performance. You can learn about this feature in detail from the new Netflity article discussing all about it.
Recently, Jupyter labs introduced a generative AI named Jupyter AI to connect with Jupyter notebooks. It provides a powerful way to explore generative AI models in notebooks which helps improve productivity while using JupyterLab and Jupyter Notebook. It also provides a native chat UI in JupyterLab which helps you work with generative AI as a conversational assistant. Also, it offers support from a wide range of generative models providers like OpenAI, Hugging Face, etc. Learn what this AI can do from this elaborated article from Jupyter Labs, where they have discussed in length on the usefulness of Jupyter AI.
AWS lambda is one of the leading and famous products from AWS when it comes to Serverless computing or using Function-as-a-Service (FaaS). While managing the entire computing infrastructure, it allows developers to write code and immediately upload and run it in the cloud without having to launch any explicit computing infrastructure like EC2 instance. While bringing a lot of agility to product development, you still have to follow operational best practices while running a reliable Lambda application in production. It’s a misconception that there is no operational work in AWS Lambda. It eliminates the need to launch, scale, and maintain EC2 infrastructure but the rest of the operational work remains the same packed in a different way. Here is an article from Concurrency Labs, that discusses the best practices to operate AWS Lambda.
Distributed system is a network of computers that can communicate with each other and work together to solve problems and provide services. A lot of us have heard about distributed systems but very few of us know about the complex technical know-hows associated with them. There are a lot of theorems involved with distributed systems and CAP theorem is a popular one among them. CAP stands as an acronym for Consistency Availability Partition-tolerance. It states that in an unreliable network a system cannot simultaneously guarantee consistency, availability, and partition-tolerance. This article from Lohith Chittineni explains what CAP theorem is and how it introduces tradeoffs that many distributed systems need to deal with in unreliable networks.
Now, we will head over to some of the news and articles that will be at a place of interest for developers and the tech community out there.
Good to know
Software design is incredibly complex and most architects and developers aim at reducing complexity to promote reliability by means of stability and consistency. Abstraction is a technique in software design that helps in promoting reliability while reducing complexity. Effective use of this technique manages cognitive loads through hiding of low level details behind clean interfaces and encourages usage of robust, bug-free code. Codereliant.io published an article in which they discuss several ways through which abstraction leads to reliable systems by enforcing stability, managing complexity through information hiding, etc.
In System Reliability Engineering, problems and incidents are two concepts that frequently overlap each other. Earlier, problem managements were seen by developers while incident managements were managed by operators. Nowadays, development and operations go hand-in-hand with practices like DevOps and hence, the lines between incident and problem management become blurry. The best way to understand them is to identify problems as the cause and incident as the effect. Know more about problems and incidents from this article published by incident.io where they discussed their connection in detail with regards to SRE and how they get changed overtime with the introduction of DevOps.
OpenTelemetry came as an unmatched observability solution for cloud-native applications. It seamlessly enables tracing, monitoring, and debugging which helps users get a complete system view. One of the biggest advantages that OpenTelemetry provides is the ability to auto-instrument applications. It allows developers to collect invaluable telemetry without modifying the code. David Hope from Elastic penned down a guided tutorial on how you can instrument a .NET application using Docker which will deliver powerful observability without the hassles of coding.
An open-source tool that has gained some popularity over the past few days is Omigres. It makes Postgres a developer-first application platform and allows developers to deploy a single database instance that can host an entire application with scaling as needed. With running application logic inside or next to the database instance, it provides in-memory and volatile on disk caching. It also contains application building blocks for authorization, authentication, payments, etc. You can check out Omigres from their GitHub repository here.
Prometheus has a dimensional data model and it has a unique way of tracking and collecting metrics. Due to both of these reasons, some of the metrics referenced in the PromQL expressions can be found missing. This missing series can be a headache and can cause trouble for your dashboard and alerting rules. Here is an article from Promlabs by Julius Volz, where he explained in detail on the causes of missing time series in prometheus and how you can deal with it.
Lastly, we will take a look at some of the trending scoops that hold a special mention for the community.
Notable FYIs
API Gateways sits between the clients and the services and provides communication between them. Here are three use cases from ByteByteGo which will help you understand the concept easily.
Observability technologies provide you with visibility that actually comes as valuable in CI/CD pipelines while testing deployments. Distributed tracing for testing before moving the code to production is highly useful and adds a lot of value. This article published in the NewStack explores the different ways through which observability matters in cloud-native testing.
Polar Signals cloud is generally available to the world. Now, you can get continuous profiling as-a-service by means of zero instrumentation with the help of their product. More information on this can be found on this article published on their blog.
HTTP status codes are something that you have encountered often. But do you know the meaning of each and every one of them? They are concise responses from servers that help in debugging webapps and a lot more. This youtube video from ByteByteGo explains beautifully the different status codes and their meanings.
Shipping code from testing to production is detailed step-by-step work and companies do it from time to time. This article by ByteByteGo provides a schematic diagram along with the steps that explains clearly in layman terms how companies ship their code to production.
That’s it from us in this edition. We hope you are going away with a ton of new information. Lastly, share this newsletter with your colleagues and pals if you find it valuable and a subscription to the newsletter will be awesome if you are reading for the first time.