Some Friday material.
This short article is a perfect analogy for programming and systems design in general!
This short article is a perfect analogy for programming and systems design in general!
The Oatmeal
Erasers are wonderful
An eraser is not a highlighter of mistakes. An eraser is a tool.
🔥7
Consul API Gateway is now in beta.
It also got TCPRoute Support as well as now it's supported in the official Helm Chart.
There is also a new learning material for you to take a closer look at it.
#hashicorp #kubernetes #networking #consul
It also got TCPRoute Support as well as now it's supported in the official Helm Chart.
There is also a new learning material for you to take a closer look at it.
#hashicorp #kubernetes #networking #consul
HashiCorp
Consul API Gateway Now Generally Available
The Consul API Gateway has now reached its first GA release, adding TCPRoute support, Helm chart support, and a new HashiCorp Learn tutorial.
👍1
So, if you want to know, how the real serverless looks like, here you are.
WebVM allows you to run fully functional Debian virtual machine in your browser.
The article provides an overview of the technology as well as the things that make this possible.
Obviously, there are not many businesses implementations for this at the moment, but I see great potential in it.
#serverless #wasm
WebVM allows you to run fully functional Debian virtual machine in your browser.
The article provides an overview of the technology as well as the things that make this possible.
Obviously, there are not many businesses implementations for this at the moment, but I see great potential in it.
#serverless #wasm
Leaning Technologies Developer Hub
WebVM: server-less x86 virtual machines in the browser
We made a server-less virtual Linux environment that runs unmodified Debian binaries in the browser. This is powered by CheerpX, a WebAssembly virtualization platform. Feel free to play with it and report bugs: https://webvm.io
Information from our chat.
Be careful committing to SOPS for your secret management.
It looks like they're looking for maintainers at the moment, which means that this project is not supported right now to a degree it was before.
P.S.: If you want to share any interesting information, feel free to join our chat! Although, keep in mind that a mix of Ukrainian and Russian is used there.
#security
Be careful committing to SOPS for your secret management.
It looks like they're looking for maintainers at the moment, which means that this project is not supported right now to a degree it was before.
P.S.: If you want to share any interesting information, feel free to join our chat! Although, keep in mind that a mix of Ukrainian and Russian is used there.
#security
GitHub
New maintainers · getsops/sops · Discussion #927
It's quite apparent to me that neither @ajvb nor me currently have enough time to maintain the project, with PRs sitting unreviewed. I think it's time to look for some new maintainers. I do...
👍3😱3
HUG Kyiv #13: Q/A session with HashiCorp co-founders in 1 day!
When: Thursday 3rd February, 19:50 (Kyiv TZ)
Where: Online
Language: English
Feel free ask and vote for questions here
#event
When: Thursday 3rd February, 19:50 (Kyiv TZ)
Where: Online
Language: English
Feel free ask and vote for questions here
#event
👍12
This post will be interesting to those, who run Java application in Kubernetes. Specifically, if you use OkHttp client for Java.
Kubernetes network load balancing using OkHttp client - the name speaks for itself. Basically, the problem is that
This article provides some useful insights on how to trace down this issue and how to fix it in your code, as well as it mentions tradeoffs of such fix.
#kubernetes #java #programming
Kubernetes network load balancing using OkHttp client - the name speaks for itself. Basically, the problem is that
OkHttp uses persistent connections to communicate with the peers. Therefore, IPVS - the default K8s load balancer - is unable to properly balance those connections. Thus, you may have all the connections served by a single replica of your downstream service!This article provides some useful insights on how to trace down this issue and how to fix it in your code, as well as it mentions tradeoffs of such fix.
#kubernetes #java #programming
Medium
Kubernetes network load balancing using OkHttp client
Don’t always believe in features that run out of the box. Always check the behaviour and tune. Sometimes it’s easier than you expect.
We will start in 10 minutes
Youtube - https://youtu.be/GCvhy4I2bzU
Zoom - https://www.meetup.com/Kyiv-HashiCorp-User-Group/events/281541295/
#event
Youtube - https://youtu.be/GCvhy4I2bzU
Zoom - https://www.meetup.com/Kyiv-HashiCorp-User-Group/events/281541295/
#event
YouTube
HUG Kyiv #13: Hashicorp co-founders Q/A session
For Support Ukraine, please donate to https://savelife.in.ua/donate
HashiCorp Co-Founders Mitchell Hashimoto and Armon Dadgar joined us to discuss community-provided topics.
Timestamps:
0:00:00 - HUG Announces
0:04:30 - Intro by Erik Veld, Mitchell Hashimoto…
HashiCorp Co-Founders Mitchell Hashimoto and Armon Dadgar joined us to discuss community-provided topics.
Timestamps:
0:00:00 - HUG Announces
0:04:30 - Intro by Erik Veld, Mitchell Hashimoto…
🔥6👍5
Docker Desktop had already became a paid option for corporate users and not all the companies are willing to pay. Some just haven't bought the licenses yet. This is bad news for Mac user stations, which are likely a majority in the corporate world.
However, there are projects out there, which aim to solve the problem of virtual machine to run your Docker containers.
This article tells a story of migration to Lima from Docker Desktop on MacOS.
There is also a complimentary project with a funny name - Colima, which simplifies the migration even further.
#docker #containers
However, there are projects out there, which aim to solve the problem of virtual machine to run your Docker containers.
This article tells a story of migration to Lima from Docker Desktop on MacOS.
There is also a complimentary project with a funny name - Colima, which simplifies the migration even further.
#docker #containers
👍3🤔2
From our subscribers.
A postmortem by Mozilla on the recent Firefox outage.
For those services hosted on Google Cloud Platform (GCP) these load balancers have settings related to the HTTP protocol they should advertise and one of these settings is HTTP/3 support with three states: “Enabled”, “Disabled” or “Automatic (default)”. Our load balancers were set to the “Automatic (default)” setting and on January 13, 2022 at 07:28 UTC, GCP deployed an unannounced change to make HTTP/3 the default.
Lessons Learned...
GCP’s deployment of HTTP/3 as default was unannounced. We are actively working with them to improve the situation. We realize that an announcement (as is usually sent) might not have entirely mitigated the risk of an incident, but it would likely have triggered more controlled experiments (e.g. in a staging environment) and deployment.
I'm yet to read this postmortem through.
P.S.: If you want to suggest any interesting materials for this channel, you can always do it in our chat. The chat itself is Ukrainian and Russian speaking.
A postmortem by Mozilla on the recent Firefox outage.
For those services hosted on Google Cloud Platform (GCP) these load balancers have settings related to the HTTP protocol they should advertise and one of these settings is HTTP/3 support with three states: “Enabled”, “Disabled” or “Automatic (default)”. Our load balancers were set to the “Automatic (default)” setting and on January 13, 2022 at 07:28 UTC, GCP deployed an unannounced change to make HTTP/3 the default.
Lessons Learned...
GCP’s deployment of HTTP/3 as default was unannounced. We are actively working with them to improve the situation. We realize that an announcement (as is usually sent) might not have entirely mitigated the risk of an incident, but it would likely have triggered more controlled experiments (e.g. in a staging environment) and deployment.
I'm yet to read this postmortem through.
P.S.: If you want to suggest any interesting materials for this channel, you can always do it in our chat. The chat itself is Ukrainian and Russian speaking.
Mozilla Hacks – the Web developer blog
Retrospective and Technical Details on the recent Firefox Outage
On January 13th 2022, Firefox became unusable for close to two hours for users worldwide. This post highlights the complex series of events and circumstances that, together, triggered a bug deep in the networking code of Firefox.
🤯2👍1
There has been silence on this channel for a while now. I'm sorry for that. I didn't post anything, because I was not in the mood of doing so.
However, I have a formal excuse as well: I started processing the result of Kubernetes Cluster Operations survey that I had issued a few weeks before. So, expect a write-up soon! I would say "this week", but let's see.
In the meantime, you can read a short fiction story about two students, who are trying to figure out, what it actually means "to listen on a port"?
Cya!
However, I have a formal excuse as well: I started processing the result of Kubernetes Cluster Operations survey that I had issued a few weeks before. So, expect a write-up soon! I would say "this week", but let's see.
In the meantime, you can read a short fiction story about two students, who are trying to figure out, what it actually means "to listen on a port"?
Cya!
paulbutler.org
What does it mean to listen on a port?
👍3
GitHub presented Mermaid - a tool to include diagrams into Markdown files.
Basically, it allows to output a diagram in JS-enabled environments and a Markdown syntax in non-JS environments.
I haven't checked if it already works in READMEs on GitHub, but I assume it should.
#markdown #github #microsoft
Basically, it allows to output a diagram in JS-enabled environments and a Markdown syntax in non-JS environments.
I haven't checked if it already works in READMEs on GitHub, but I assume it should.
#markdown #github #microsoft
The GitHub Blog
Include diagrams in your Markdown files with Mermaid
Mermaid is a JavaScript based diagramming and charting tool that takes Markdown-inspired text definitions and creates diagrams dynamically in the browser.
👍10🔥3👎1🤔1
CatOps exists for almost five years already as a non-profit hobby project. Yes, at some point we were advertising some technical events here, but we never took money for that.
In my opinion, keeping it independent of ad money is what makes all the fun. I'll be honest with you, from time to time I get ideas of starting a Patreon or something similar, but each time it turns out to be too complicated.
However, there is a way to support CatOps financially! Even though this is an indirect support!
Consider subscribing to the Patreon page of the "Come Back Alive" Foundation or you can, of course, donate directly. They have all the details on their website. Unfortunately, not all the information on the website is translated to English, but the main things are there.
This Foundation supports Ukrainian army as well as establish re-integration programs for the veterans.
By supporting people, who take care of us, you empower us in doing our day-to-day jobs and providing some platform engineering content here.
With love 💛💙
@grem1in
In my opinion, keeping it independent of ad money is what makes all the fun. I'll be honest with you, from time to time I get ideas of starting a Patreon or something similar, but each time it turns out to be too complicated.
However, there is a way to support CatOps financially! Even though this is an indirect support!
Consider subscribing to the Patreon page of the "Come Back Alive" Foundation or you can, of course, donate directly. They have all the details on their website. Unfortunately, not all the information on the website is translated to English, but the main things are there.
This Foundation supports Ukrainian army as well as establish re-integration programs for the veterans.
By supporting people, who take care of us, you empower us in doing our day-to-day jobs and providing some platform engineering content here.
With love 💛💙
@grem1in
Patreon
Removed | Patreon
Patreon is empowering a new generation of creators. Support and engage with artists and creators as they live out their passions!
👍41❤16🔥12👎4💩1
Good engineers ship good software, great engineers empower others to do so.
Become a +10% engineer explores some ways of how one can influence others in a good way and ease the work of entire team.
Yes, the name of this article is a word game with the "10x engineer" phrase. Yet, the main idea is that "Productivity of the team > Productivity of the individual"
#culture
Become a +10% engineer explores some ways of how one can influence others in a good way and ease the work of entire team.
Yes, the name of this article is a word game with the "10x engineer" phrase. Yet, the main idea is that "Productivity of the team > Productivity of the individual"
#culture
Tlakomy
Become a +10% engineer
Thoughts and notes by Tomasz Łakomy - Senior Frontend Engineer, egghead.io instructor, tech speaker
👍3
I had an idea of writing something about Terraspace for quite some time now. I might have even had a draft somewhere! But of course, someone wrote it before me :)
Here's an article about Terraspace - a part of series about Terraform ecosystem. Other parts are:
- From Terralith to Terraservice with Terraform
- Terragrunt cheat sheet
- Another part with the comparison between Terragrunt and Terraspace is coming soon, but there are already some source files
I got this article from the Terraform Weekly subnoscription. It's curated by a proud member of our community - Anton Babenko. If you use Terraform in your work, you should definitely subscribe!
P.S. If you still think I should write something about Terraspace, let me know by putting 👍 emoji on this post. If you have more specific suggestions, you're always welcome in our chat (chat is in Ukrainian and Russian)!
#terraform #hashicorp #terragrunt #terraspace
Here's an article about Terraspace - a part of series about Terraform ecosystem. Other parts are:
- From Terralith to Terraservice with Terraform
- Terragrunt cheat sheet
- Another part with the comparison between Terragrunt and Terraspace is coming soon, but there are already some source files
I got this article from the Terraform Weekly subnoscription. It's curated by a proud member of our community - Anton Babenko. If you use Terraform in your work, you should definitely subscribe!
P.S. If you still think I should write something about Terraspace, let me know by putting 👍 emoji on this post. If you have more specific suggestions, you're always welcome in our chat (chat is in Ukrainian and Russian)!
#terraform #hashicorp #terragrunt #terraspace
Medium
Terraspace cheat sheet
Multi-Env, Multi-Account, Multi-Region example with terraspace
👍7❤3
Finally I got my things together and published the results of the Kubernetes Survey! Many thanks to everyone, who participated in this survey!
The first part is available in English. Also, you can find it in Ukrainian here.
To be honest, I’m not even sure what was easier: write the original post or translate it, haha.
The second part will be available soon. So, stay tuned!
#kubernetes
The first part is available in English. Also, you can find it in Ukrainian here.
To be honest, I’m not even sure what was easier: write the original post or translate it, haha.
The second part will be available soon. So, stay tuned!
#kubernetes
👍12❤4
Ever wondered, how a TCP connection works in slow-mo?
Here's an article just about that. There's a video as well. The link is in the article.
TBH, would be nice if this article covers not only the basics of TCP, but other features as well. Like RST packets.
Also, here's an interesting investigative read, which is not exactly about TCP, but it's features played thy key role for the investigation. Or this case, that actually happened in my company
#networking #tcp
Here's an article just about that. There's a video as well. The link is in the article.
TBH, would be nice if this article covers not only the basics of TCP, but other features as well. Like RST packets.
Also, here's an interesting investigative read, which is not exactly about TCP, but it's features played thy key role for the investigation. Or this case, that actually happened in my company
#networking #tcp
federico.defaveri.org
TCP connection in slow motion
I’ve always been curious about the netstat output: what is the meaning of the different TCP connection states? How the connection transit from a state to another? I am also working on a different post on TCP errors, so I need to understand better the different…
🔥2
Back in a day, a friend of mine was ranting that this is not that obvious to spin up a VPN server in Kubernetes as online tutorials suggested.
Now, you can make a Wireguard operator do it for you. I haven't personally tested this operator. Yet, it has some positive comments on Reddit.
#kubernetes #networking
Now, you can make a Wireguard operator do it for you. I haven't personally tested this operator. Yet, it has some positive comments on Reddit.
#kubernetes #networking
GitHub
GitHub - devops-land/wireguard-operator: Project is now maintained by Namecheap on https://github.com/nccloud/wireguard-operator.…
Project is now maintained by Namecheap on https://github.com/nccloud/wireguard-operator. This repo is archived. - devops-land/wireguard-operator
👍3👎1
Recently, I asked my subscribers what topics are interesting to them and a few people mentioned observability.
That’s funny, ‘coz yesterday I accidentally bumped into a great series of articles on setting SLAs for your products by Alex Ewerlöf!
- Calculating composite SLA - truly outstanding read!
- Some practical advice when setting SLA - notice, it says SLA, not SLO. So, there are some business related tips in this article as well. However, the core is technical, ofc.
- Calculating the SLA of a system behind a CDN - I haven’t read this one yet. But given the quality of previous two, I expect this one be great as well!
tl;dr for the first article in the list:
I would personally also add that when you try to set a “full” SLO(A) for your service, that is also a composite SLO(A). You should treat it as a serial. For example, if you have 99.8% error rate SLO and 99.1% latency SLO, an “overall” SLO would be 0.998 0.991 100% = 98.9%
That’s not only good to know, but you may also want to write your marketing materials differently. There is a difference between:
> We guarantee 99.8% SLO on 5th error rate and 99.1% SLO on requests not taking longer than X milliseconds.
And
> We guarantee the 98.9% availability of our systems.
I’m not a marketing person, though. I don’t know what’s better. What I do know is that:”Nines doesn’t matter, if your users are unhappy”.
#observability #slo #sla
That’s funny, ‘coz yesterday I accidentally bumped into a great series of articles on setting SLAs for your products by Alex Ewerlöf!
- Calculating composite SLA - truly outstanding read!
- Some practical advice when setting SLA - notice, it says SLA, not SLO. So, there are some business related tips in this article as well. However, the core is technical, ofc.
- Calculating the SLA of a system behind a CDN - I haven’t read this one yet. But given the quality of previous two, I expect this one be great as well!
tl;dr for the first article in the list:
for serial, multiply availability; For parallels, multiply unavailability
I would personally also add that when you try to set a “full” SLO(A) for your service, that is also a composite SLO(A). You should treat it as a serial. For example, if you have 99.8% error rate SLO and 99.1% latency SLO, an “overall” SLO would be 0.998 0.991 100% = 98.9%
That’s not only good to know, but you may also want to write your marketing materials differently. There is a difference between:
> We guarantee 99.8% SLO on 5th error rate and 99.1% SLO on requests not taking longer than X milliseconds.
And
> We guarantee the 98.9% availability of our systems.
I’m not a marketing person, though. I don’t know what’s better. What I do know is that:”Nines doesn’t matter, if your users are unhappy”.
#observability #slo #sla
Medium
Calculating composite SLA
How to serial and parallel dependencies affect the total SLA
🔥4
Forwarded from Вера Мороз
How to donate to help Ukrainian army❓
We are currently receiving numerous inquiries about our organization's bank details.
We thank everyone who donates and post the bank data for charitable contributions in a separate publication.
Let's win together🇺🇦💪
Transfers from abroad:
📌Fondy.eu: https://pay.fondy.eu/s/1stPBTgMbWTY
Currency of transfer – UAH. If your card currency is not UAH, funds will be withdrawn according to the rate. The commission of 2.7% is paid by the recipient
📌SWIFT
Company Name
CO "INTERNATIONAL CHARITABLE FOUNDATION "COME BACK ALIVE"
IBAN Code (Euro)
UA093052990000026004025029786
IBAN Code (U.S. dollar)
UA173052990000026009035028620
📌 Name of the bank
JSC CB "PRIVATBANK", 1D HRUSHEVSKOHO STR., KYIV, 01001, UKRAINE
Bank SWIFT Code
PBANUA2X
Purpose of payment:
Charitable donation to Ukrainian military
📌Bitcoin Wallet
Number: bc1qkd5az2ml7dk5j5h672yhxmhmxe9tuf97j39fm6
♥️If you want to support foundation «COME BACK ALIVE» team:
1) CO «INTERNATIONAL CHARITABLE FOUNDATION COME BACK ALIVE"
IBAN: UA793052990000026001045003547
ЄДРПОУ: 42046152
Payee:
Громадська організація «ПОВЕРНИСЬ ЖИВИМ!»
Purpose of payment: Благодійна пожертва на статутну діяльність.
2) Patreon: https://www.patreon.com/savelife_in_ua
We are currently receiving numerous inquiries about our organization's bank details.
We thank everyone who donates and post the bank data for charitable contributions in a separate publication.
Let's win together🇺🇦💪
Transfers from abroad:
📌Fondy.eu: https://pay.fondy.eu/s/1stPBTgMbWTY
Currency of transfer – UAH. If your card currency is not UAH, funds will be withdrawn according to the rate. The commission of 2.7% is paid by the recipient
📌SWIFT
Company Name
CO "INTERNATIONAL CHARITABLE FOUNDATION "COME BACK ALIVE"
IBAN Code (Euro)
UA093052990000026004025029786
IBAN Code (U.S. dollar)
UA173052990000026009035028620
📌 Name of the bank
JSC CB "PRIVATBANK", 1D HRUSHEVSKOHO STR., KYIV, 01001, UKRAINE
Bank SWIFT Code
PBANUA2X
Purpose of payment:
Charitable donation to Ukrainian military
📌Bitcoin Wallet
Number: bc1qkd5az2ml7dk5j5h672yhxmhmxe9tuf97j39fm6
♥️If you want to support foundation «COME BACK ALIVE» team:
1) CO «INTERNATIONAL CHARITABLE FOUNDATION COME BACK ALIVE"
IBAN: UA793052990000026001045003547
ЄДРПОУ: 42046152
Payee:
Громадська організація «ПОВЕРНИСЬ ЖИВИМ!»
Purpose of payment: Благодійна пожертва на статутну діяльність.
2) Patreon: https://www.patreon.com/savelife_in_ua
Patreon
Removed | Patreon
Patreon is empowering a new generation of creators. Support and engage with artists and creators as they live out their passions!
👍26❤8👎3