Article series
Argo CD Lightning Course
![A stylized cartoon octopus wearing a space helmet underwater with coral in the background and a paintbrush painting stars and a planet.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM2NiwicHVyIjoiYmxvYl9pZCJ9fQ==--3a3d043bb099bb107636ea1cc17d4fe5724e3584/argo-cd-lightning-course.webp)
Learn all you need to know to start using Argo CD in a series of quick articles!
- What is Argo CD, and why would you need GitOps?
- Argo CD Installation and Architecture
- Argo CD Clusters and Repositories - Two Core Components
- How to deploy Applications within Projects in Argo CD
- Argo CD Self-Heal, Sync Windows and Diffing
- Argo Ecosystem: Argo CD, Argo Workflows, Argo Events, Argo Rollouts, Argo Everything
Helm Lightning Course
![Illustration of stylized shipping containers with the word "HELM" written on one, and various abstract designs and lines in a purple-toned background.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM2MywicHVyIjoiYmxvYl9pZCJ9fQ==--72cb8b7be993b1cc4c0f40b0247d2bc50984a173/series_helm.png)
A quick introduction to Helm in 5 steps. You will go from zero to a fully functioning Helm Chart.
OpenShift/OKD Course
![Illustration of a person leisurely leaning back with feet up, possibly on a boat, with a steering wheel visible and a relaxed posture suggesting a casual nautical setting.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--bf40578f81c73bc1f185d3ae48617abc8a03a00c/openshift-course-series.png)
Learn the core concepts behind OpenShift 4 cluster management, starting from re-imagined installation experience down to the fundamental features that make this system special.
- Production OpenShift Cluster in 35 Minutes: First look at OKD 4 and the new OpenShift Installer
- 3 Core Features of OpenShift 4 Cluster Management: Fedora CoreOS, cri-o and MachineSet API
- How to Configure OpenShift 4 Cluster Nodes: MachineConfig Operator and CoreOS
- OpenShift 4 Troubleshooting: Your Cluster is Broken, What's Next?
Terraform Lightning Course
!["Stylized illustration of a person in an orange scarf reading a book, surrounded by towering piles of books, conveying a cozy atmosphere of study or leisurely reading."](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM2NCwicHVyIjoiYmxvYl9pZCJ9fQ==--ee893b71a0b44b3d6424836b5c6ec0476dd4cf71/terraform-lightning-course.png)
Rapid introduction into Terraform and Infrastructure as Code. You will learn how to use Terraform to manage multi-cloud environments, starting with most basic concepts and going to complex setups closer to the end.
- Infrastructure as Code and How Terraform Fits Into It
- Terraform Fundamentals: State Management and Dependency Graph, Creating the First Server
- Configuring Terraform Templates: Variables and Data Resources
- Terraform Tips & Tricks, Issue 1: Format, Graph and State
- Creating Multi-cloud Terraform environment with the help of remote state backends and AWS S3
- Refactor Terraform code with Modules
- Creating Kubernetes Clusters with Terraform: Learning Provisioners
- Terraform Tips & Tricks, Issue 2: Registry, Locals and Workspaces
Kubernetes Capacity Management
![Illustration of a journey from idea to execution featuring a person brainstorming, navigating obstacles, holding a cube with symbols, looking perplexed, and another carrying a large cube towards buildings connected by wires.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM2MCwicHVyIjoiYmxvYl9pZCJ9fQ==--d2817dd775d57287fdc0d700faafe1db40659493/KRM_Series.png)
A three part series by Kirill Shirinkin that will take you on an in-depth journey through the world of Kubernetes Capacity and Resource Management.
Dockerless
![Illustration of two playful cats with a ball of yarn; one cat lies on its back while the other stands with yarn trailing between them.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM1OSwicHVyIjoiYmxvYl9pZCJ9fQ==--4a6dfea0b95b37485b0df4d6bc6b2c65a1e9c4fd/dockerless.png)
In this series of articles Kirill Shirinkin talks about life without Docker and alternative tools you can use to perform tasks without it.
- Dockerless, part 1: Which tools to replace Docker with and why
- Dockerless, part 2: How to build container image for Rails application without Docker and Dockerfile
- Dockerless, part 3: Moving development environment to containers with Podman
- The tool that really runs your containers: deep dive into runc and OCI specifications
Services for Your Project
![Line art illustration of assorted kitchen utensils hanging on hooks, including a spatula, ladle, whisk, and tongs, with a patterned background.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a7647bcc3d10d2178d4c3a7fcfb1a62cd08458b3/services-series.png)
As years go by, we here at mkdev use more and more different services and tools. Here they all are, with prices and details!
How to choose a programming language
![Illustration of a person surrounded by floating papers with programming language names like 'JavaScript', 'Ruby', and symbols like 'X', with a contemplative expression.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM3MiwicHVyIjoiYmxvYl9pZCJ9fQ==--04d830858dd6dd6fd8a7f3f6f67c92440f5a1bcf/how-to-choose-a-programming-language-series.webp)
In this series we've collected opinions of our mentors on how to choose first programming langauge and which factors to consider.
How to become a programmer: stories of our mentors
![Two people viewing framed artwork on a gallery wall, with multiple empty frames ready for display.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM1NiwicHVyIjoiYmxvYl9pZCJ9fQ==--fe773f3c52dccacd6dddd6daa24d3d171324ca69/4B469E56-4C7A-4F74-9290-F3CC2274EFFB.png)
One of the most painful questions for newbies is “where do I start?”. In this series mkdev mentors will give their answers. Not only will they tell how they became programmers, but they will also share which difficulties they’ve met and how they could be avoided. Mentors will also give useful tips on what to do and what to read.
- How to become a RoR web developer: Ivan Takarlikov’s story
- Where to begin as a programmer: Ilya Konovalov’s story
- How to become a RoR Developer: Stas Mehonoshin’s story
- How to become a programmer: Kirill Shirinkin's story
- How to become a Python Developer: Aleksey Kurylev's story
- How to become a Java & Spring Developer: Rinat Muhamedgaliev’s story
- How to become a QA Engineer: Pavel Konev’s story
- How to become a PHP-developer: Ruslan Kuptsov’s story
Developing an app with Dry-rb
![Illustration of a person with gray hair standing in a library, looking at a shelf full of books with various titles prominently displaying the word "Django," implying a focus on learning the Django web framework.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM1OCwicHVyIjoiYmxvYl9pZCJ9fQ==--ea31c29cf562eb89d8d45579fe98b0c694d9766f/dry-rb-series.png)
Rostislav Katin writes a series of articles on what is Dry-rb, how to use it in your Ruby app and how can it be better then using Rails. First article explains the basic and after that it goes feature by feature.
Development of GrooveHQ Ruby Gem
![Illustration of a smiling person saluting with a construction site background.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjM1NCwicHVyIjoiYmxvYl9pZCJ9fQ==--3dc9f5fa4b08de4a88679fdb89bfec2f73d11d1d/GrooveHQ_Series.png)
In this series we will create a gem for working with API of GrooveHQ. This service doesn't have its own client API libraries. The final result is available on GitHub and rubygems and we hope that others developers, who rely on GrooveHQ, will use it as well. By the end of the series you will learn how to create gems from scratch and companies using GrooveHQ and ruby will be able to use this gem to solve their own problems.
Which database when for AI
![Illustration of a surprised young monk in orange robes examining a large stone, with a wrapped gift visible to the side.](https://assets.mkdev.me/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mjg4NiwicHVyIjoiYmxvYl9pZCJ9fQ==--559eab85e1fd02d187ac41d686183ba981182dc7/which-database-when-for-ai-series.webp)
A two-part series by Paul Larsen to answer the question: which database when for AI?