TGViewer
Channel Public Channel
CatOps

CatOps

@catops

DevOps and other issues by Yurii Rochniak (@grem1in) - SRE @ Preply && Maksym Vlasov (@MaxymVlasov) - Engineer @ Star. Opinions on our own.

We do not post ads including event announcements. Please, do not bother us with such requests!
Subscribers
5.07K
Photos
94
Videos
5
Links
2.7K

Showing posts older than #2213 · Back to latest

Older Posts 20 shown
Post #2212 2.27K
Production Considerations for Spring on Kubernetes is a long detailed articles on the consideration you have to take when running Spring Boot applications in Kubernetes.

It starts with how do you build your image and covers topics such as graceful shutdown, CPU/Mem requests and limits, configuration changes and so on.

From my understanding the primary target audience is Java developers. However, you can get much value from this article since it explains some specifics of how Java OCI images are built as well as some specifics of how Kubernetes works. Also, it may provide you some conversation-starters to share the best practices with your developers. Hence, probably not all of them have read this (or similar) article.

Some disclaimers:
- This article was written in the end of 2022
- It has Spring Boot 2.x in mind. Spring Boot 3.x is already available and has many changes compared to 2.x. Yet, 2.x is still widely adopted.
- Thus, some recommendations may change as well as new recommendations may appear for Spring Boot 3.x
Some takeaways:
- Use the latest LTS JDK version. If you‘re still on Java 8, at least make sure that you‘re using the latest patch version.
- Use cloud-native image builders such as JIB.
- Make sure that your application can be shut down gracefully. You may want to use preStop hook with a simple sleep and adjust the terminationGracePeriodSeconds setting to achieve that.
- Be mindful about your Liveness and Readiness probes. Spring has a default health endpoint but it usually checks the overall health of an application including downstream connections to the databases, etc. It’s suboptimal to use that for Liveness probe, because K8s will simply restart your app in a loop if something happens to the DB connection.
- Spring’s Liveness and Readiness Health Groups may help to prepare your app to K8s environments.
- Profile your application before setting requests and limits
- For CPU set adequate requests and use -XX:ActiveProcessorCount parameter of JAVA_TOOL_OPTIONS to limit the number of vCPU for JVM. Thus, you can omit setting CPU limits on the K8s side.
- Make sure you have both requests and limits set for the Memory, though!
- Prefer K8s native abstractions for configuration and service discovery over Spring Cloud.
- Yet, if you cannot remove Spring Cloud easily, the article provides some advices on how to make an app more K8s-native.

So, do you use Java or Kotlin in your company? If yes, share this post with your developers!

#kubernetes #java #programming
-
odedia's corner Production Considerations for Spring on Kubernetes The State of Spring on Kubernetes The 2021 State of Spring report has two main data points: Spring is the defacto standard for running cloud-native applications in Java. Kubernetes is the defacto standard for running containerized workloads in produ...
  • 🔥 10
  • 👍 2
Post #2211 2.16K
​​I've been working a lot with Makefiles lately, and I must say, it's not the most pleasant experience. Back in a day, I had a post here about how to replace GNU Make with Python's Invoke.

Today, I want to share a tool called Mage. It is a make/rake-like build tool using Go that depends only on Go's standard library. Ofc, some other Go-based task execution tools exist, like, for example Task.

However, unlike Task, Mage leverages plain Go syntax while Task uses YAML to define its recipes. Thus, Mage is much more flexible, especially when it comes to loops and so on. Also, you can write automation for your projects with Go!

P.S. A link to the post about Invoke.

#go #tools
  • 👍 9
  • 🥱 1
Post #2208 2.16K
I usually post donation requests on Mondays but this is an urgent one.

Mike is raising funds for laptops for the Southern Front.

The goal is ₴38k. So, I believe we can close this one fast.

I know Mike personally. You can trust this fundraiser as if it was done from myself.

You can donate to the Monobank Jar:

https://send.monobank.ua/jar/8EPmTTkUrv

#donations #Ukraine
send.monobank.ua Безпечний переказ коштів Надсилайте безкоштовно та безпечно кошти
  • 👍 10
Post #2207 2.25K
Post #2205 3.3K
More than a year ago, I made a prediction that new Kubernetes distributions would emerge and the whole K8s installation process would be very similar to the Linux desktop experience: yes, the kernel is the same, but you have some pre-installed stuff that makes your experience smoother.

Yet, I was wrong. Some Kubernetes distributions emerged indeed, but the reality is that for the majority of people the real answer is to simply use whatever a cloud provider gives you and install necessary plugins by yourself.

Though, not everyone is operating in a cloud, as well as not everyone is using a managed Kubernetes service within a cloud. Therefore, I want to share with you an article called Kubernetes Installation Methods The Complete Guide.

This is not a complete guide, of course. There are a couple more methods and distributions. Moreover, I believe there are some exotic ways of people managing their clusters that never go public (we have a custom Kubernetes deployer in the company, lol).

However, this guide provides a nice overview of what's available on the market and which solutions suit better to which situations. So, if you're looking into starting your Kubernetes journey, you have a good place to validate your ideas about the tools.

#kubernetes
Medium Kubernetes Installation Methods The Complete Guide If you are familiar with Kubernetes, you must know Kubernetes installation is one of the challenging topics of Kubernetes. This challenge…
  • ❤ 8
  • 👍 2
  • 😁 1
Post #2204 2.15K
Post #2203 2.21K
I know that currently there is a hiring freeze in many companies as well as a lot of folks stay put and not actively looking into changing their jobs.

Yet, some hiring is still happening, and some folks are actually joining new companies and therefore going through onboarding.

Hence, I would like to share this article with you - What I Wish I Knew About Onboarding Effectively.

This article has some interesting thoughts. For example, that you are the one who's "owning" your onboarding process. It seems obvious on the surface, but I saw many folks who assume otherwise.

Also, this article has some practical advises on how to prepare for an onboarding and make it a success.

#culture #onboarding
eugeneyan What I Wish I Knew About Onboarding Effectively Mindset, 100-day plan, and balancing learning and taking action to earn trust.
  • 👍 7
Post #2202 2.3K
Today's Donations Monday goes to the artillery.

The "Reactive Post" charity organization allows creating a monthly subscription for donations which go to artillery brigades for spare parts, repairs, etc. You can check their website for more information.

They accept one-time donations as well. Plus, they support crypto.

#donations #Ukraine
reactivepost.org Charitable Foundation Reactive Mail CF Reactive Post. We provide artillery with spare parts, wheels, walkie-talkies and other essential materials. We have been working since 2014. Deliver with high accuracy!
  • 👍 3
Post #2201 2.39K
Post #2200 2.43K
Database trends spotted by Redis at KubeCon.

In nutshell:
- Running databases is hard.
- Running databases in Kubernetes = all the complexity of running databases + all the complexity of running Kubernetes.
- Yet, Data on Kubernetes community exists and has quite a few success stories.
- One of the problems is that there are no standard. Frequently, there are at least a couple of different operators and charts to run %dbname%. So, it might be hard for users to decide what tools to use in which case.
- Another problem is the lack of people, who are experts in both running databases and running Kubernetes.

So, if you want to be in demand on the market, get yourself familiar with data operations. That thing is getting momentum right now.

#databases #kubernetes
Redis Database Trends Spotted at KubeCon Europe | Redis Developers love Redis. Unlock the full potential of the Redis database with Redis Enterprise and start building blazing fast apps.
  • 👍 13
Post #2199 2.21K
Choose Boring Culture is a new article by Charity Majors which in my opinion would be useful for engineering managers here and also to the technical leaders.

In this article, she argues that there are two types of culture: formal and informal. Formal culture is what a company and its managers build. Its goal is to make the company to succeed. And it includes all the formal policies around vacation days, compensation, postmortems, team structure, roles, promotions, etc.

All the "funny stuff" is a part of the informal culture. Informal culture is still important, but this is something that should grow organically. So, please, do not force "mandatory fun" on your employees.

And a quote from this article:

 a leader, you should absolutely care about your culture, but your primary responsibility is the health of the business. The purpose of your culture is to make your business succeed. It does not serve you, and it does not serve the people you care about, to be unclear on this front.


#culture
charity.wtf Choose Boring Technology Culture Honeycomb recently announced our $50M Series D funding round. We aren’t the type to hype this a lot; Emily summed it up crisply as, “Living another day on someone else’s money isn’t business success, even though it is a lovely vote of confidence.”
  • ❤ 5
  • 👍 3
Post #2198 2.4K
Personally, I prefer Go over Python. Yet, I know that Python is very popular inside the platform engineering community (for some reasons unknown to me).

Therefore, I want to share with a Python book bundle by “No Starch Press”.

As usual, you can pay different amount of money to unlock different number of books. The whole bundle costs about €33.

Although, some of those books are oriented towards full-time developers, other books are focused on the automation tasks. Thus, I believe this bundle would be interesting to you.

#books #programming #python
Humble Bundle Humble Tech Book Bundle: Python by No Starch We’ve teamed up with No Starch Press for our newest bundle. Get books like Python for Kids and Beyond the Basic Stuff with Python. Plus, pay what you want & support charity!
  • 👍 7
  • 👎 6
Post #2195 2.65K
With the whole AI hype going on, it's interesting to see how companies are trying to find an application for AI in their products.

Sometimes it's just pure hype, in my opinion. There are some
"AI-powered" tools that existed just fine without AI. However, I personally see three major areas for AI (LLMs to be precise) in the operational field:

- Taking over some boring tasks like writing some Bash, Makefiles and so on.
- Observability: basically explaining alerts to humans and suggest possible solutions. Perhaps, even apply those suggestions.
- Knowledge management. LLM can answer reoccurring questions instead of a support person. You can even try to teach a model based on your internal documentation and so on.

And here are some practical implementations in some of those areas:

- GitLab’s new security feature uses AI to explain vulnerabilities to developers
- Pulumi AI that writes IaC for you.

P.S. The news about GitLab came from our chat. So, if you have any interesting news to share, do not hesitate to join!

#ai #gitlab #pulumi #iac
TechCrunch GitLab’s new security feature uses AI to explain vulnerabilities to developers Developer platform GitLab today announced a new AI-driven security feature that uses a large language model to explain potential vulnerabilities to developers, with plans to expand this to automatically resolve these vulnerabilities using AI in the future.
  • 👍 9
  • ❤ 1
Post #2194 2.4K
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →