<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Open Source Archives - Blog IT</title>
	<atom:link href="https://blogit.create.pt/category/development/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogit.create.pt/category/development/open-source/</link>
	<description>Create IT blogger community</description>
	<lastBuildDate>Fri, 20 Jun 2025 15:21:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Learning: Observability</title>
		<link>https://blogit.create.pt/davidpereira/2025/06/20/learning-observability/</link>
					<comments>https://blogit.create.pt/davidpereira/2025/06/20/learning-observability/#respond</comments>
		
		<dc:creator><![CDATA[David Pereira]]></dc:creator>
		<pubDate>Fri, 20 Jun 2025 13:08:49 +0000</pubDate>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[observability]]></category>
		<guid isPermaLink="false">https://blogit.create.pt/?p=13517</guid>

					<description><![CDATA[<p>Table of Contents Introduction In this small post, I&#8217;ll share some resources, notes I&#8217;ve taken while learning, and best practices for making our systems observable. I&#8217;ve always had a knowledge gap regarding observability, and recently I&#8217;ve truly enjoyed learning more about this area in our software industry. Quick note: In this post I&#8217;ll only share [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/davidpereira/2025/06/20/learning-observability/">Learning: Observability</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Table of Contents</h2>



<ul style="max-width:1005px" class="wp-block-list">
<li>Introduction</li>



<li>Get Started</li>



<li>Logs
<ul style="max-width:960px" class="wp-block-list">
<li>Canonical logs</li>
</ul>
</li>



<li>Traces</li>



<li>Metrics</li>



<li>General Best Practices</li>



<li>Resources
<ul style="max-width:960px" class="wp-block-list">
<li>GitHub demo repo</li>
</ul>
</li>



<li>Conclusion</li>
</ul>



<h2 class="wp-block-heading">Introduction</h2>



<p>In this small post, I&#8217;ll share some resources, notes I&#8217;ve taken while learning, and best practices for making our systems observable. I&#8217;ve always had a knowledge gap regarding observability, and recently I&#8217;ve truly enjoyed learning more about this area in our software industry.</p>



<p><strong>Quick note</strong>: In this post I&#8217;ll only share about 3 telemetry&nbsp;<a href="https://opentelemetry.io/docs/concepts/signals/" target="_blank" rel="noreferrer noopener">signals</a>.&nbsp;<strong>Profile</strong>&nbsp;is another signal that I will research in the future.</p>



<p></p>



<h2 class="wp-block-heading">Get Started</h2>



<p>Follow these steps to get started with auto-instrumentation in your application using OpenTelemetry:&nbsp;<a href="https://opentelemetry.io/docs/languages/net/getting-started/#instrumentation" target="_blank" rel="noreferrer noopener">https://opentelemetry.io/docs/languages/net/getting-started/#instrumentation</a></p>



<p>For OpenTelemetry in a front-end app you can check these useful resources:</p>



<ul style="max-width:1005px" class="wp-block-list">
<li><a href="https://grafana.com/oss/faro/" target="_blank" rel="noreferrer noopener">Grafana faro</a></li>



<li><a href="https://nextjs.org/docs/app/building-your-application/optimizing/open-telemetry#using-vercelotel" target="_blank" rel="noreferrer noopener">Next.js</a></li>



<li><a href="https://www.checklyhq.com/blog/in-depth-guide-to-monitoring-next-js-apps-with-opentelemetry/" target="_blank" rel="noreferrer noopener">Guide for OpenTelemetry in Next.js</a></li>



<li><a href="https://opentelemetry.io/docs/languages/js/getting-started/browser/" target="_blank" rel="noreferrer noopener">Browser OpenTelemetry getting started</a></li>
</ul>



<p></p>



<p>Client-side instrumentation in OpenTelemetry is part of&nbsp;<a href="https://opentelemetry.io/community/roadmap/#p2-client-instrumentation-rum" target="_blank" rel="noreferrer noopener">their roadmap</a>&nbsp;which is great to see, since I&#8217;ve only seen vendor-specific solutions and products for front-end apps (e.g. New Relic, Datadog). For browser instrumentation otel doesn&#8217;t seem to be super mature yet, but a lot of effort is being put into this area by the OpenTelemetry team.</p>



<h2 class="wp-block-heading">Logs</h2>



<p>We all know about logs 😄. It&#8217;s data that we all need in order to troubleshoot and know what is happening in our applications. We shouldn&#8217;t overdo it, creating tons and tons of logs since that will probably create noise and make it harder to troubleshoot problems.</p>



<p>For logs, we can use&nbsp;<a href="https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/docs/logs/README.md#best-practices" target="_blank" rel="noreferrer noopener">these best practices</a>. From this list, these are an absolute must to follow:</p>



<ul style="max-width:1005px" class="wp-block-list">
<li>Avoid string interpolation</li>



<li>Use structured logging</li>



<li>Log redaction for sensitive information</li>
</ul>



<p>In addition to the list above, we should also include the&nbsp;<code>TraceId</code>&nbsp;and&nbsp;<code>SpanId</code>&nbsp;in our log records, to correlate logs with traces. If you are using the Serilog console sink,&nbsp;<a href="https://github.com/serilog/serilog-sinks-console/blob/4c9a7b6946dfd2d7f07a792c40bb3d46af835ee9/src/Serilog.Sinks.Console/ConsoleLoggerConfigurationExtensions.cs#L32" target="_blank" rel="noreferrer noopener">by default the message template</a>&nbsp;won&#8217;t have those fields so if you want them, consider using&nbsp;<a href="https://github.com/serilog/serilog/wiki/Formatting-Output#formatting-json" target="_blank" rel="noreferrer noopener">JsonFormatter</a>&nbsp;or&nbsp;<code>CompactJsonFormatter</code>. Here is an example Serilog configuration in&nbsp;<code>appsettings.json</code>&nbsp;(setup to remove unnecessary/noisy logs):</p>



<pre class="wp-block-code"><code>"Serilog": {
    "Using": &#091;
      "Serilog.Sinks.Console"
    ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore": "Warning",
        "Microsoft.Extensions.Diagnostics.HealthChecks": "Warning"
      }
    },
    "WriteTo": &#091;
      {
        "Name": "Console",
        "Args": {
          "formatter": {
            "type": "Serilog.Formatting.Json.JsonFormatter, Serilog",
            "renderMessage": true
          }
        }
      }
    ],
    "Enrich": &#091;
      "FromLogContext",
      "WithMachineName",
      "WithThreadId",
      "WithProcessId",
      "WithProcessName",
      "WithExceptionDetails",
      "WithExceptionStackTraceHash",
      "WithEnvironmentName"
    ],
    "Properties": {
      "Application": "GrafanaDemoOtelApp"
    }
  }</code></pre>



<p>Below are some documentation links for logging in .NET. The&nbsp;<code>ILogger</code>&nbsp;extension methods are not always the best choice (e.g.&nbsp;<code>logger.LogInformation</code>), especially in high-performance scenarios or if your logs are in a hot path:</p>



<ul style="max-width:1005px" class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/dotnet/core/extensions/high-performance-logging" target="_blank" rel="noreferrer noopener">High-performance logging in .NET</a></li>



<li><a href="https://learn.microsoft.com/en-us/dotnet/core/extensions/logger-message-generator" target="_blank" rel="noreferrer noopener">Compile-time logging source generation</a></li>
</ul>



<h3 class="wp-block-heading">Canonical logs</h3>



<p>There is also a different way of logging, based on having more attributes in one single log line. I&#8217;ve seen this in Stripe where they call it <a href="https://stripe.com/blog/canonical-log-lines" target="_blank" rel="noreferrer noopener">canonical log lines</a>. Charity Majors also references this <strong>canonical logs</strong> term in her blog post about Observability 2.0 (that I reference in the Resources section).</p>



<p>This idea is very interesting, but might lack awareness. At least in .NET land, I didn&#8217;t find many references to this style of logging or example code that we could follow when there are many&nbsp;<code>ILogger</code>&nbsp;instances involved.</p>



<p></p>



<h2 class="wp-block-heading">Traces</h2>



<p>For traces in .NET we have <a href="https://learn.microsoft.com/en-us/dotnet/core/diagnostics/distributed-tracing-instrumentation-walkthroughs#best-practices-1">these best practices</a>. So far I&#8217;ve seen four common solutions for adding <a href="https://microsoft.github.io/code-with-engineering-playbook/observability/correlation-id/" target="_blank" rel="noreferrer noopener">correlation ids</a> in traces (not all are standards):</p>



<ul style="max-width:1005px" class="wp-block-list">
<li><a href="https://www.w3.org/TR/trace-context/" target="_blank" rel="noreferrer noopener">W3C trace context</a>&nbsp;&#8211; current standard in the HTTP protocol for tracing</li>



<li><a href="https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Common_non-standard_request_fields" target="_blank" rel="noreferrer noopener">X-Correlation-Id</a>&nbsp;&#8211; a non-standard HTTP header for RESTful APIs (also known as&nbsp;<a href="https://http.dev/x-request-id" target="_blank" rel="noreferrer noopener">X-Request-Id</a>). I thought this was a standard since it&#8217;s widely used, but I didn&#8217;t find a RFC from IETF or any other organization.</li>



<li><a href="https://github.com/dotnet/runtime/blob/main/src/libraries/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md" target="_blank" rel="noreferrer noopener">Request-Id</a>&nbsp;&#8211; this is a known header in the .NET ecosystem</li>



<li><a href="https://github.com/openzipkin/b3-propagation" target="_blank" rel="noreferrer noopener">B3 Zipkin propagation</a>&nbsp;&#8211; Zipkin format standard</li>



<li><a href="https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader" target="_blank" rel="noreferrer noopener">AWS X-Ray Trace Id</a>&nbsp;&#8211; proprietary solution for AWS that adds headers for tracing</li>
</ul>



<p>Not every company/project uses W3C trace context, you have some options above to pick from. I prefer the standard W3C trace context 😄 (maybe the industry will widely adopt this in the future) and using OpenTelemetry to manage these headers (HTTP, AMQP, etc) and correlation with logs automatically. The code you don&#8217;t write can&#8217;t have bugs 😆.</p>



<p>With that said, in some situations, you might have integrations with 3rd party software and need to use their custom headers or project limitations and need to use a particular format. At the end of the day what&#8217;s important is that you have distributed tracing working E2E.</p>



<p>There is also a relevant spec for distributed tracing called&nbsp;<a href="https://www.w3.org/TR/baggage/" target="_blank" rel="noreferrer noopener">Baggage</a>&nbsp;which OpenTelemetry implements and we can use in our apps. The most important part here is trace propagation to get the full trace from the publisher to the consumer.</p>



<p></p>



<h2 class="wp-block-heading">Metrics</h2>



<p>For metrics, it&#8217;s important to follow naming conventions for custom metrics. Especially if your organization has a platform team, setting conventions helps everyone. I do know some otel semantic conventions aren&#8217;t stable, and that also leads to some nuget packages being pre-release.</p>



<p>But anyhow, set conventions for your team or read and follow&nbsp;<a href="https://opentelemetry.io/docs/specs/semconv/general/metrics/" target="_blank" rel="noreferrer noopener">OpenTelemetry semantic conventions</a>.<br>An important resource I found is the comments on&nbsp;<a href="https://prometheus.io/docs/practices/instrumentation/#do-not-overuse-labels" target="_blank" rel="noreferrer noopener">Prometheus best practices</a>&nbsp;related to high cardinality metrics.</p>



<p>When I started trying out custom metrics instrumentation I discovered that OpenTelemetry is not always used (the SDK + OTLP). We have the Prometheus SDK which is mature and widely used. Then for Java there are other solutions like Micrometer and others that integrate very well with Spring. In regards to the Java ecosystem, I read&nbsp;<a href="https://opentelemetry.io/blog/2024/java-metric-systems-compared/#benchmark-opentelemetry-java-vs-micrometer-vs-prometheus-java" target="_blank" rel="noreferrer noopener">this otel Java benchmarks</a>&nbsp;and&nbsp;<a href="https://spring.io/blog/2024/10/28/lets-use-opentelemetry-with-spring" target="_blank" rel="noreferrer noopener">this Spring post</a>&nbsp;just because I was interested in knowing what the industry is adopting and why.</p>



<p></p>



<h2 class="wp-block-heading">General Best Practices</h2>



<p>There is a ton to be learned with SRE principles and practices. But one in particular was very useful for me and my team:&nbsp;<strong>always categorize our custom metrics according to the 4 Golden Signals</strong>. Any metric we can&#8217;t categorize is probably not useful for us.</p>



<figure class="wp-block-image is-resized td-caption-align-center"><img fetchpriority="high" decoding="async" width="800" height="800" src="https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring.webp" alt="" class="wp-image-13523" style="width:808px;height:auto" srcset="https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring.webp 800w, https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring-300x300.webp 300w, https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring-150x150.webp 150w, https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring-768x768.webp 768w, https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring-420x420.webp 420w, https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring-696x696.webp 696w, https://blogit.create.pt/wp-content/uploads/2025/05/deniseyu_art_monitoring-70x70.webp 70w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption"><em>Image Credit to &#8211; Denise Yu</em></figcaption></figure>



<p><a href="https://deniseyu.io/art/" target="_blank" rel="noreferrer noopener">Source of Denise Yu&#8217;s art</a>.</p>



<p><a href="https://sre.google/sre-book/monitoring-distributed-systems/" target="_blank" rel="noreferrer noopener">Google&#8217;s SRE book</a>&nbsp;is amazing to learn more about the 4 Golden signals and creating SLO-based alerts. All our alerts should be actionable (or the support team will not be happy), so it helps if they are based on SLOs that are defined as a team.</p>



<p>They also have&nbsp;<a href="https://sre.google/sre-book/service-best-practices/" target="_blank" rel="noreferrer noopener">some best practices for production services</a>.</p>



<p></p>



<h2 class="wp-block-heading">Resources</h2>



<ul style="max-width:1005px" class="wp-block-list">
<li>Glossary of many observability terms in case you’re not familiar with them:&nbsp;<a href="https://github.com/prathamesh-sonpatki/o11y-wiki" target="_blank" rel="noreferrer noopener">https://github.com/prathamesh-sonpatki/o11y-wiki</a></li>



<li><a href="https://github.com/magsther/awesome-opentelemetry" target="_blank" rel="noreferrer noopener">Awesome Observability GitHub repo</a></li>



<li>If dashboards make you happy&nbsp;<a href="https://play.grafana.org/d/feg4yc4qw3wn4b/third-annual-observability-survey?pg=survey-2025&amp;plcmt=toc-cta-2&amp;orgId=1&amp;from=2025-03-13T02:49:20.476Z&amp;to=2025-03-14T02:49:20.476Z&amp;timezone=utc&amp;var-region=$__all&amp;var-role=$__all&amp;var-size=$__all&amp;var-industry=$__all&amp;var-filters=%60Region%60%20in%20%28%27Europe%27,%27Asia%27,%27North%20America%27,%27Africa%27,%27South%20America%27,%27Oceania%27,%27Middle%20East%27%29%20AND%20%60Role%60%20IN%20%28%27Platform%20team%27,%27SRE%27,%27CTO%27,%27Engineering%20manager%27,%27Developer%27,%27Director%20of%20engineering%27,%27Other%27%29%20AND%20%60Size_of_organization%60%20IN%20%28%2710%20or%20fewer%20employees%27,%2711%20-%20100%20employees%27,%27101%20-%20500%20employees%27,%27501%20-%201,000%20employees%27,%271,001%20-%202,500%20employees%27,%272,501%20-%205,000%20employees%27,%275,001%2B%20employees%27%29%20AND%20%60Industry%60%20IN%20%28%27Telecommunications%27,%27Healthcare%27,%27IoT%27,%27Financial%20services%27,%27Education%27,%27Government%27,%27Applied%20Sciences%27,%27Software%20%26%20Technology%27,%27Media%20%26%20Entertainment%27,%27Travel%20%26%20Transportation%27,%27Retail%2FE-commerce%27,%27Energy%20%26%20Utilities%27,%27Automotive%20%26%20Manufacturing%27,%27Other%27%29" target="_blank" rel="noreferrer noopener">check the Grafana observability report dashboard</a></li>



<li><a href="https://aws-observability.github.io/observability-best-practices/guides/" target="_blank" rel="noreferrer noopener">AWS observability best practices guide</a></li>



<li><a href="https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-services/" target="_blank" rel="noreferrer noopener">About RED and USE method</a></li>



<li><a href="https://learn.microsoft.com/en-us/dotnet/core/diagnostics/distributed-tracing-instrumentation-walkthroughs#best-practices-1" target="_blank" rel="noreferrer noopener">Traces Instrumentation best practices in .NET</a></li>



<li><a href="https://signoz.io/guides/what-are-the-limitations-of-prometheus-labels/#what-are-the-limitations-of-prometheus-labels" target="_blank" rel="noreferrer noopener">What are the Limitations of Prometheus Labels?</a></li>



<li><a href="https://www.cncf.io/training/certification/otca/" target="_blank" rel="noreferrer noopener">CNCF OpenTelemetry certification</a></li>



<li><a href="https://github.com/cncf/tag-observability/blob/main/whitepaper.md" target="_blank" rel="noreferrer noopener">TAG Observability whitepaper</a>&nbsp;&#8211; this is an amazing resource with tons of information! I also recommend checking out the other resources they have in the tag-observability repo and community</li>



<li>Resources specifically about&nbsp;<strong>Observability 2.0</strong>:
<ul style="max-width:970px" class="wp-block-list">
<li><a href="https://charity.wtf/tag/observability-2-0/" target="_blank" rel="noreferrer noopener">Observability 2.0 by Charity Majors</a></li>



<li><a href="https://www.aparker.io/post/3leq2g72z7r2t" target="_blank" rel="noreferrer noopener">Re-Redefining Observability</a></li>



<li><a href="https://www.youtube.com/watch?v=ag2ykPO805M" target="_blank" rel="noreferrer noopener">Is It Time To Version Observability? (Signs Point To Yes) &#8211; Charity Majors</a></li>
</ul>
</li>



<li>Talks
<ul style="max-width:970px" class="wp-block-list">
<li><a href="https://www.youtube.com/watch?v=hhZrOHKIxLw" target="_blank" rel="noreferrer noopener">How Prometheus Revolutionized Monitoring at SoundCloud &#8211; Björn Rabenstein</a></li>



<li><a href="https://www.youtube.com/watch?v=X99X-VDzxnw" target="_blank" rel="noreferrer noopener">How to Include Latency in SLO-based Alerting &#8211; Björn Rabenstein, Grafana Labs</a></li>



<li><a href="https://www.youtube.com/watch?v=pLPMAAOSxSE" target="_blank" rel="noreferrer noopener">Myths and Historical Accidents: OpenTelemetry and the Future of Observability Part 1</a></li>



<li><a href="https://youtu.be/3tBj3ZCPGJY?t=687" target="_blank" rel="noreferrer noopener">Modern Platform Engineering: 9 Secrets of Generative Teams &#8211; Liz Fong-Jones</a></li>



<li><a href="https://www.youtube.com/watch?v=gviWKCXwyvY" target="_blank" rel="noreferrer noopener">Context Propagation makes OpenTelemetry awesome</a></li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">GitHub demo repo</h3>



<p>I&#8217;ve been developing a demo app (it has fewer features than the&nbsp;<a href="https://github.com/open-telemetry/opentelemetry-demo" target="_blank" rel="noreferrer noopener">otel demo</a>) to demonstrate how to build an app with OpenTelemetry, Grafana and Prometheus. It&#8217;s primarily focused on a small app I can showcase in my talks.</p>



<p>If you&#8217;re interested take a look: <a href="https://github.com/BOLT04/grafana-observability-demo">https://github.com/BOLT04/grafana-observability-demo</a></p>



<p></p>



<h2 class="wp-block-heading">Conclusion</h2>



<img decoding="async" src="https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExeGh0em9taDR0N2hodXIycnh4a3RqbXk2cWRoeDFjODU2Mmd0MDJqdSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/tkApIfibjeWt1ufWwj/giphy.gif" alt="happy gif" loading="lazy">



<p>Hopefully, some of these resources I&#8217;ve shared are useful to you 😄. I still have a ton to learn and explore, but I&#8217;m happy with the knowledge I&#8217;ve acquired so far.</p>



<p>There are some specific standards + projects that I&#8217;ll dive in and explore more, like: eBPF; OpenMetrics. OpenMetrics is something I&#8217;d like to spend some quality time reading about, but I know&nbsp;<a href="https://www.cncf.io/blog/2024/09/18/openmetrics-is-archived-merged-into-prometheus/" target="_blank" rel="noreferrer noopener">it&#8217;s archived</a>&nbsp;and&nbsp;<a href="https://www.reddit.com/r/devops/comments/1f5ttdx/openmetrics_is_archived_merged_into_prometheus/?rdt=47070" target="_blank" rel="noreferrer noopener">reddit says the same</a>. Just want to read and watch some talks about it to feed my curiosity 😃.</p>



<p>Last but not least, I want to follow the work that some industry leaders are doing like&nbsp;<a href="https://charity.wtf/" target="_blank" rel="noreferrer noopener">Charity Majors</a>, specifically about Observability 2.0 😄. I discovered this term in the&nbsp;<a href="https://www.thoughtworks.com/radar/techniques/summary/observability-2-0" target="_blank" rel="noreferrer noopener">Thouthworks tech radar</a>, and the part &#8220;high-cardinality event data in a single data store&#8221; caught my interest.<br>I&#8217;m still learning, researching, and listening to the opinions of industry leaders about this term to then develop my own opinions. Maybe I&#8217;ll make a blog post about this in the future 😁.</p>



<p>If you&#8217;re interested, check out my other blog posts:</p>



<ul style="max-width:1005px" class="wp-block-list">
<li><a href="https://blogit.create.pt/davidpereira/2024/02/05/dreamforce-2023-highlights/">Dreamforce 2023 Highlights</a></li>



<li><a href="https://blogit.create.pt/davidpereira/2021/09/16/getting-started-with-cloudevents-and-asyncapi/">Getting Started with CloudEvents and AsyncAPI</a></li>
</ul>



<p></p>
<p>The post <a href="https://blogit.create.pt/davidpereira/2025/06/20/learning-observability/">Learning: Observability</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/davidpereira/2025/06/20/learning-observability/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>100 hours of fun: Tuga IT 2017!</title>
		<link>https://blogit.create.pt/pedrovala/2017/05/03/100-hours-of-fun-tuga-it-2017/</link>
					<comments>https://blogit.create.pt/pedrovala/2017/05/03/100-hours-of-fun-tuga-it-2017/#respond</comments>
		
		<dc:creator><![CDATA[Pedro Vala]]></dc:creator>
		<pubDate>Wed, 03 May 2017 23:24:17 +0000</pubDate>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Communities]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Data Platform]]></category>
		<category><![CDATA[Tuga IT]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/pedrovala/?p=1264</guid>

					<description><![CDATA[<p>Tuga IT is surely one of the best and biggest tech events happening at Portugal. Look at this: A three-day event with a full day of workshops and two full days of sessions, with 8 parallel tracks on Saturday! More than 100 hours of fun! Wait! There&#8217;s more.. The sessions will be presented by world [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/pedrovala/2017/05/03/100-hours-of-fun-tuga-it-2017/">100 hours of fun: Tuga IT 2017!</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="http://tugait.pt/2017">Tuga IT</a> is surely one of the best and biggest tech events happening at Portugal.</p>
<h4><strong>Look at this:</strong></h4>
<p>A three-day event with a full day of workshops and two full days of sessions, with 8 parallel tracks on Saturday! More than 100 hours of fun!</p>
<h4><strong>Wait! There&#8217;s more..</strong></h4>
<p>The sessions will be presented by world class speakers talking about some of the most exciting technologies from Azure to a full Open Source track, Enterprise Integration, Agile, DevOps, IoT, Machine Learning and much more.</p>
<p>All this at the price of 10€ for the lunch option or absolutely free for the no-lunch option (the workshops have a separate price ofc).</p>
<h4><strong>Finally, the <span style="text-decoration: underline"><span style="color: #993300;text-decoration: underline">most important</span></span> reason to attend:</strong></h4>
<p>I will be doing a session there (a-ha!) on Saturday May 21st about Azure Search and Amazon CloudSearch!</p>
<p>Make sure to stop by! You can register <a href="https://app.weventual.com/detalheEvento.action?iDEvento=4115">here</a>.</p>
<p>The post <a href="https://blogit.create.pt/pedrovala/2017/05/03/100-hours-of-fun-tuga-it-2017/">100 hours of fun: Tuga IT 2017!</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/pedrovala/2017/05/03/100-hours-of-fun-tuga-it-2017/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
