From 88eccbc0466e790e84455468f7f62d393c3a48c7 Mon Sep 17 00:00:00 2001 From: Inaki Fernandez Date: Tue, 23 Nov 2021 15:41:08 +0100 Subject: [PATCH] Nov 23rd --- docs/ansible.md | 1 + docs/aws.md | 7 +++++ docs/demos.md | 4 +++ docs/devops.md | 4 +++ docs/docker.md | 3 +- docs/golang.md | 5 +++ docs/index.md | 17 +++++----- .../java-and-java-performance-optimization.md | 1 + docs/kubernetes-monitoring.md | 7 ++++- docs/kubernetes-networking.md | 4 +++ docs/kubernetes.md | 5 +++ docs/linux.md | 5 +++ docs/public-cloud-solutions.md | 5 +++ docs/python.md | 1 + docs/recruitment.md | 12 +++++++ docs/securityascode.md | 1 + docs/terraform.md | 31 +++++++++++++++++++ 17 files changed, 102 insertions(+), 11 deletions(-) diff --git a/docs/ansible.md b/docs/ansible.md index bf2ed7fe..028e6c3e 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -283,3 +283,4 @@ ## Anacron and Ansible - [opensource.com: How I use Ansible and anacron for automation](https://opensource.com/article/21/9/ansible-anacron-automation) With anacron, I can drop scripts and Ansible playbooks into place for all manner of trivial tasks. - [opensource.com: Use anacron for a better crontab](https://opensource.com/article/21/2/linux-automation) Instead of manually performing repetitive tasks, let Linux do them for you. + diff --git a/docs/aws.md b/docs/aws.md index 7ef8e93b..c3e16743 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -56,6 +56,7 @@ - [AWS Client VPN](#aws-client-vpn) - [Tailscale](#tailscale) - [AWS SQS. Amazon Simple Queue Service](#aws-sqs-amazon-simple-queue-service) + - [SNS vs SQS](#sns-vs-sqs) - [AWS Application Discovery Service Update. Agentless Discovery for VMware](#aws-application-discovery-service-update-agentless-discovery-for-vmware) - [VMware Cloud on AWS](#vmware-cloud-on-aws) - [AWS Developer Blog](#aws-developer-blog) @@ -178,6 +179,7 @@ - [workshops.aws: AWS Workshops](https://workshops.aws/) This website lists workshops created by the teams at Amazon Web Services (AWS). Workshops are hands-on events designed to teach or introduce practical skills, techniques, or concepts which you can use to solve business problems. You can filter by topic using the toolbar above. - [AWS Courses created by AWS experts](https://www.amazon.com/b/?node=14297978011) +- [dev.to: Many free and useful AWS official Dev and User guides!](https://dev.to/aws-builders/many-free-and-useful-aws-official-dev-and-user-guides-54ci) ## Introduction - [dzone: AWS Basics](https://dzone.com/articles/aws-basics) @@ -549,6 +551,9 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Limits in Amazon SQS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html) - [Amazon SQS FAQs](https://aws.amazon.com/sqs/faqs/) +### SNS vs SQS +- [==dev.to: When to SNS or SQS==](https://dev.to/aws-builders/when-to-sns-or-sqs-2aji) + ## AWS Application Discovery Service Update. Agentless Discovery for VMware - [AWS Application Discovery Service Update – Agentless Discovery for VMware](https://aws.amazon.com/es/blogs/aws/aws-application-discovery-service-update-agentless-discovery-for-vmware/) @@ -593,6 +598,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Building a Serverless Back-end with AWS](https://blog.usejournal.com/building-a-serverless-back-end-with-aws-5bb3642a3f4) - [liavyona09.medium.com: Spice up Your Kubernetes Environment with AWS Lambda](https://liavyona09.medium.com/spice-up-your-kubernetes-environment-with-aws-lambda-a07d81347607) - [Achieve up to 34% better price/performance with AWS Lambda Functions powered by AWS Graviton2 processor](https://aws.amazon.com/about-aws/whats-new/2021/09/better-price-performance-aws-lambda-functions-aws-graviton2-processor/) +- [==Deploying AWS Lambda layers automatically across multiple Regions==](https://aws.amazon.com/blogs/compute/deploying-aws-lambda-layers-automatically-across-multiple-regions/) Many developers import libraries and dependencies into their AWS Lambda functions. These dependencies can be zipped and uploaded as part of the build and deployment process but it’s often easier to use Lambda layers instead. ## AWS API Gateway - [alexdebrie.com: A Detailed Overview of AWS API Gateway](https://www.alexdebrie.com/posts/api-gateway-elements/) @@ -774,6 +780,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [github: Steps I used to install Nagios in the cloud](https://github.com/andrewpuch/nagios_setup) - [github: ElectricEye](https://github.com/jonrau1/ElectricEye/blob/master/README.md) is a set of Python scripts (affectionately called Auditors) that continuously monitor your AWS infrastructure looking for configurations related to confidentiality, integrity and availability that do not align with AWS best practices. - [medium: AWS Account Security Monitoring](https://medium.com/swlh/aws-account-security-monitoring-d7ca129d52ac) +- [==elastic.co: Elastic and AWS: Accelerating the cloud migration journey==](https://www.elastic.co/blog/elastic-and-aws-accelerate-your-cloud-migration-journey) ## Amazon Alexa. Voice User Interface - [New Alexa Skills Kit Template: Build a Trivia Skill in under an Hour](https://developer.amazon.com/public/community/post/TxDJWS16KUPVKO/New-Alexa-Skills-Kit-Template-Build-a-Trivia-Skill-in-under-an-Hour) diff --git a/docs/demos.md b/docs/demos.md index 5446c3a8..668a9157 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -15,6 +15,7 @@ - [Istio Service Mesh](#istio-service-mesh) - [Envoy Service Mesh](#envoy-service-mesh) - [Consul Service Mesh](#consul-service-mesh) + - [Kubernetes Network Policy Samples](#kubernetes-network-policy-samples) - [Rancher](#rancher) - [GitOps Workflow with Flux](#gitops-workflow-with-flux) - [Amazon EKS. Deploy example microservices on EKS](#amazon-eks-deploy-example-microservices-on-eks) @@ -223,6 +224,9 @@ - [learn.hashicorp.com: Consul Service Discovery and Mesh on Minikube 🌟](https://learn.hashicorp.com/tutorials/consul/kubernetes-minikube?in=consul/kubernetes) - [consul.io: Ingress Gateways on Kubernetes 🌟](https://www.consul.io/docs/k8s/connect/ingress-gateways) +### Kubernetes Network Policy Samples +- [==ahmetb/kubernetes-network-policy-recipes== 🌟](https://github.com/ahmetb/kubernetes-network-policy-recipes) Example recipes for Kubernetes Network Policies that you can just copy paste. This repository contains various use cases of Kubernetes Network Policies and sample YAML files to leverage in your setup. If you ever wondered how to drop/restrict traffic to applications running on Kubernetes, this is for you. + ### Rancher - [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci) - [cncf.io: Implementing GitOps on Kubernetes Using K3s, Rancher, Vault and Argo CD](https://www.cncf.io/blog/2020/11/12/implementing-gitops-on-kubernetes-using-k3s-rancher-vault-and-argo-cd/) diff --git a/docs/devops.md b/docs/devops.md index 3962bc33..c165dd0e 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -421,3 +421,7 @@ Resolve your software incidents 10x faster +--- +
+[![automated_ansible](images/automated_ansible.jpg)](https://www.ansible.com/blog/migrating-the-runbook-a-journey-from-legacy-to-devops) +
\ No newline at end of file diff --git a/docs/docker.md b/docs/docker.md index ce7ab222..ceeed8da 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -106,7 +106,7 @@ * The Docker ecosystem is filled with leaky abstractions. The utopian vision of Docker containers is a world where a developer can grab a base container for a language, copy in their code with a minimal Dockerfile, and be ready to develop and deploy instantly. * Unfortunately, this landscape is filled with per-language gotchas that make this world a far cry from reality. Here are some of the wonky things I've run into when working with containers. * [cloudsavvyit.com: How To Clean Up and Delete Docker Images](https://www.cloudsavvyit.com/14191/how-to-clean-up-and-delete-docker-images/) -* [itnext.io: Software development in containers — a cookbook 🌟🌟🌟](https://itnext.io/software-development-in-containers-a-cookbook-2ba14d07e535) A guide to developing containerized software +* [==itnext.io: Software development in containers — a cookbook== 🌟🌟🌟](https://itnext.io/software-development-in-containers-a-cookbook-2ba14d07e535) A guide to developing containerized software * [dev.to: How to create a production Docker image](https://dev.to/abdorah/how-to-create-production-docker-image-ready-for-deployment-4bbe) * [dev.to: How to run docker on Windows without Docker Desktop](https://dev.to/_nicolas_louis_/how-to-run-docker-on-windows-without-docker-desktop-hik) * [dev.to: Beginner's guide to Docker and Docker CLI commands](https://dev.to/paru429/beginner-s-guide-to-docker-and-docker-cli-commands-1p75) @@ -116,6 +116,7 @@ * [cloudsavvyit.com: How to Inspect a Docker Image’s Content Without Starting a Container](https://www.cloudsavvyit.com/14663/how-to-inspect-a-docker-images-content-without-starting-a-container/) * [freecodecamp.org: Why You Should Start Using Docker Right Now](https://www.freecodecamp.org/news/why-you-should-start-using-docker-now/) * [infoworld.com: Docker really did change the world](https://www.infoworld.com/article/3639596/docker-really-did-change-the-world.html) Developers quickly understood the value of containers for building cloud-native applications, and that the Docker command-line tool was better than all of the bells and whistles they got with PaaS. +* [==dev.to: Top 8 Docker Best Practices for using Docker in Production== 🌟](https://dev.to/techworld_with_nana/top-8-docker-best-practices-for-using-docker-in-production-1m39) ## Docker Swarm - [linkedin.com: Docker Series : Docker Swarm - Lionel GURRET](https://www.linkedin.com/pulse/docker-series-swarm-lionel-gurret/) diff --git a/docs/golang.md b/docs/golang.md index 34842896..6f680545 100644 --- a/docs/golang.md +++ b/docs/golang.md @@ -1,5 +1,6 @@ # Golang - Go - [Introduction](#introduction) +- [Tutorials](#tutorials) - [Kubernetes Client Go](#kubernetes-client-go) - [Building container images](#building-container-images) - [Go cheatsheets](#go-cheatsheets) @@ -32,6 +33,9 @@ - [go.dev: A new search experience on pkg.go.dev](https://go.dev/blog/pkgsite-search-redesign) - [quii/learn-go-with-tests](https://github.com/quii/learn-go-with-tests) Learn Go with test-driven development +## Tutorials +- [==dev.to: Create a Restful API with Golang from scratch== 🌟](https://dev.to/pacheco/create-a-restful-api-with-golang-from-scratch-42g2) + ## Kubernetes Client Go - [An example of using dynamic client of k8s.io/client-go](https://ymmt2005.hatenablog.com/entry/2020/04/14/An_example_of_using_dynamic_client_of_k8s.io/client-go) - [medium: Using the Go client framework 🌟](https://medium.com/programming-kubernetes/building-stuff-with-the-kubernetes-api-part-4-using-go-b1d0e3c1c899) @@ -50,6 +54,7 @@ - [dapr.io](https://dapr.io) - [reddit.com: What is the best microservice framework in Go?](https://www.reddit.com/r/golang/comments/jnv4bd/what_is_the_best_microservice_framework_in_go/) - [Masterminds/sprig: Sprig: Template functions for Go templates](https://github.com/Masterminds/sprig) Useful template functions for Go templates. The Go language comes with a built-in template language, but not very many template functions. Sprig is a library that provides more than 100 commonly used template functions. +- [go-kratos/kratos](https://github.com/go-kratos/kratos) A modular-designed and easy-to-use __microservices framework__ in Go. ## Go packages - [cap](https://github.com/hashicorp/cap) A collection of authentication Go packages related to OIDC, JWKs and Distributed Claims. diff --git a/docs/index.md b/docs/index.md index 2b16a99c..e2f5f516 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,14 +7,6 @@ A curated list of awesome references collected since 2018. Microservices archite "I do not believe you can do today's job with yesterday's methods and be in business tomorrow" ([Horatio Nelson Jackson](https://en.wikipedia.org/wiki/Horatio_Nelson_Jackson))
[![container_with_cars](images/container_with_cars.png)](https://www.cncf.io/certification/software-conformance/)
-[![docker videos](images/docker_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/dockerrun) [![cncf videos](images/cncf_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCvqbFHwN-nwalWPjPUKpvTA) [![kubernetes logo](images/kubernetes_logo.jpg){: style="width:7%"}](https://www.youtube.com/kubernetescommunity) [![redhat videos](images/redhat_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/RedHatVideos) [![openshift videos](images/openshift_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/rhopenshift) [![rancher logo](images/rancher-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5Xtp82q8wjijP8npkVTBA) [![cloudbees videos](images/cloudbees_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/CloudBeesTV) [![jenkins videos](images/jenkins-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/jenkinsci) [![jenkins-x videos](images/jenkins_x_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCN2kblPjXKMcjjVYmwvquvg) [![spinnaker videos](images/spinnaker_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxQbw8kT1-FRhFhO2QCetg) [![vmware tanzu logo](images/vmware_tanzu_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/goPivotal)
-[![ibm cloud videos](images/ibm_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/IBMCloud) [![aws videos](images/aws_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/AmazonWebServices) [![gcp videos](images/gcp_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/googlecloudplatform/) [![azure videos](images/azure_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/windowsazure) [![oraclecloud videos](images/oracle_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC60OcDzeEtn194-UPYNJs8A) [![digitalocean videos](images/digital_ocean_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/DigitalOceanVideos) [![cloudflare](images/cloudflare_logo.jpg){: style="width:7%"}](https://www.youtube.com/cloudflare) [![openstack](images/openstack_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/OpenStackFoundation) [![harhicorp videos](images/hashicorp_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-AdvAxaagE9W2f0webyNUQ) [![pulumi videos](images/pulumi_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC2Dhyn4Ev52YSbcpfnfP0Mw) [![liquibase video](images/liquibase_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5qMsRjObu685rTBq0PJX8w)
-[![dzone videos](images/dzone_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/dzone/) [![prometheus videos](images/prometheus_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC4pLFely0-Odea4B2NL1nWA) [![grafana videos](images/grafana_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCYCwgQAMm9sTJv0rgwQLCxw) [![istio videos](images/istio_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-zVlo1F3mUbExQ96fABWcQ) [![elastic videos](images/elasticsearch_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/elasticsearch) [![dynatrace videos](images/dynatrace_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcYJ-5q_AfmjQ4XTjTS0o3g) [![appdynamics videos](images/appdynamics_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCTL2V4fqMMERSWQa1kT4EMw) [![newrelic videos](images/newrelic_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/NewRelicInc) [![tigera calico](images/tigera_calico_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC8uN3yhpeBeerGNwDiQbcgw) [![weavecloud](images/weavecloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/WeaveWorksInc) [![lambdatest](images/lambdatest.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCCymWVaTozpEng_ep0mdUyw)
-[![atlassian videos](images/atlassian_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/GoAtlassian) [![vscode videos](images/vscode_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCs5Y5_7XK8HLDX0SLNwkd3w) [![github videos](images/github_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/github) [![gitlab video](images/gitlab_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg) [![gitkraken](images/gitkraken_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp06FAzrFalo3txskS1gCfA) [![rocketchat videos](images/rocket_chat_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCin9nv7mUjoqrRiwrzS5UVQ) [![slack videos](images/slack_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCY3YECgeBcLCzIrFLP4gblw) [![mattermost videos](images/mattermost_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCNR05H72hi692y01bWaFXNA) [![microsoft365](images/microsoft_365_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/officevideos) [![openproject](images/openproject_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCpDojas1X9ccix4mxadabpw) [![cloud quick POCs](images/cloudquickpocs.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCv9MUffHWyo2GgLIDLVu0KQ)
-[![rh devel](images/rh_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC7noUdfWp-ukXUlAsJnSm-Q/) [![spring logo](images/spring-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SpringSourceDev) [![quarkus logo](images/quarkus-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCaW8QG_QoIk_FnjLgr5eOqg) [![lightbend videos](images/lightbend_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxTiKb1h2lY_gpTCDgXn1g) [![postman videos](images/postman_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCocudCGVb3MmhWQ1aoIgUQw) [![swagger videos](images/smartbear_swagger_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SmartBearSoftware) [![jfrog](images/jfrog_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/artifrog) [![sonatype](images/sonatype_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/sonatype) [![sonarsource sonarqube](images/sonarsource_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCS5-gTYteN9rnFd98YxYtrA) [![chrome developers videos](images/chromedevtools_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/ChromeDevelopers) [![mozilla developer](images/mozilla_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5UlGiu9d6LegIeUCW4N1w)
-[![crunchydata](images/crunchydata_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCooRnlDz6VLAbFyKIChz4fg) [![kubedb appscode](images/kubedb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCxObRDZ0DtaQe_cCP-dN-xg) [![cockroachdb](images/cockroachdb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCc-m3P54YDVTjtMUJlmAuow) [![mongodb](images/mongodb_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/MongoDB) [![redis](images/redis_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCD78lHSwYqMlyetR0_P4Vig/) [![confluent video](images/confluent_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCmZz-Gj3caLLzEWBtbYUXaA) [![kubemq video](images/kubemq_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCud7fErZAyMC6lHT_cWZNfA) [![openebs](images/openebs_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC3ywadaAUQ1FI4YsHZ8wa0g) [![storageos](images/storageos_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCm63IQg81KP9vXRWSHQpu1w) [![robin](images/robin_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCt7N400Z8gB_3yKq1qrjP2w) [![portworx](images/portworx_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Portworx)
-[![cloud academy](images/cloud_academy_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Cloudacademy/videos) [![acloudguru](images/acloudguru_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp8lLM2JP_1pv6E0NQ38pqw) [![devops_tv](images/devops_tv_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Devopsdotcom) [![xebialabs](images/xebialabs_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/xebialabs) [![devops library](images/devops_library_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCOnioSzUZS-ZqsRnf38V2nA) [![codecademy](images/codecademy.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5CMtpogD_P3mOoeiDHD5eQ) [![coursera](images/coursera_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/coursera) [![academind](images/academind_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w) [![guru99](images/guru99_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/guru99com) [![intellipaat](images/intellipaat_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/intellipaaat) [![codelytv](images/codelytv_logo.jpg){: style="width:7%"}](https://www.youtube.com/CodelyTV)
-[![thetips4you](images/thethips4you.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCoOq-DtESvayx5yJE5H6-qQ) [![tetrate](images/tetrate_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCtV2o3OvEH6U3DQ0-_7chNw) [![ansible pilot](images/ansiblepilot.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5MNbTYRHSCu9vAki3z9SmA) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com)
--- @@ -211,7 +203,14 @@ A curated list of awesome references collected since 2018. Microservices archite ---
-[![automated_ansible](images/automated_ansible.jpg)](https://www.ansible.com/blog/migrating-the-runbook-a-journey-from-legacy-to-devops) +[![docker videos](images/docker_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/dockerrun) [![cncf videos](images/cncf_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCvqbFHwN-nwalWPjPUKpvTA) [![kubernetes logo](images/kubernetes_logo.jpg){: style="width:7%"}](https://www.youtube.com/kubernetescommunity) [![redhat videos](images/redhat_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/RedHatVideos) [![openshift videos](images/openshift_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/rhopenshift) [![rancher logo](images/rancher-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5Xtp82q8wjijP8npkVTBA) [![cloudbees videos](images/cloudbees_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/CloudBeesTV) [![jenkins videos](images/jenkins-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/jenkinsci) [![jenkins-x videos](images/jenkins_x_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCN2kblPjXKMcjjVYmwvquvg) [![spinnaker videos](images/spinnaker_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxQbw8kT1-FRhFhO2QCetg) [![vmware tanzu logo](images/vmware_tanzu_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/goPivotal)
+[![ibm cloud videos](images/ibm_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/IBMCloud) [![aws videos](images/aws_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/AmazonWebServices) [![gcp videos](images/gcp_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/googlecloudplatform/) [![azure videos](images/azure_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/windowsazure) [![oraclecloud videos](images/oracle_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC60OcDzeEtn194-UPYNJs8A) [![digitalocean videos](images/digital_ocean_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/DigitalOceanVideos) [![cloudflare](images/cloudflare_logo.jpg){: style="width:7%"}](https://www.youtube.com/cloudflare) [![openstack](images/openstack_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/OpenStackFoundation) [![harhicorp videos](images/hashicorp_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-AdvAxaagE9W2f0webyNUQ) [![pulumi videos](images/pulumi_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC2Dhyn4Ev52YSbcpfnfP0Mw) [![liquibase video](images/liquibase_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5qMsRjObu685rTBq0PJX8w)
+[![dzone videos](images/dzone_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/dzone/) [![prometheus videos](images/prometheus_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC4pLFely0-Odea4B2NL1nWA) [![grafana videos](images/grafana_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCYCwgQAMm9sTJv0rgwQLCxw) [![istio videos](images/istio_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-zVlo1F3mUbExQ96fABWcQ) [![elastic videos](images/elasticsearch_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/elasticsearch) [![dynatrace videos](images/dynatrace_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcYJ-5q_AfmjQ4XTjTS0o3g) [![appdynamics videos](images/appdynamics_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCTL2V4fqMMERSWQa1kT4EMw) [![newrelic videos](images/newrelic_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/NewRelicInc) [![tigera calico](images/tigera_calico_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC8uN3yhpeBeerGNwDiQbcgw) [![weavecloud](images/weavecloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/WeaveWorksInc) [![lambdatest](images/lambdatest.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCCymWVaTozpEng_ep0mdUyw)
+[![atlassian videos](images/atlassian_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/GoAtlassian) [![vscode videos](images/vscode_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCs5Y5_7XK8HLDX0SLNwkd3w) [![github videos](images/github_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/github) [![gitlab video](images/gitlab_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg) [![gitkraken](images/gitkraken_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp06FAzrFalo3txskS1gCfA) [![rocketchat videos](images/rocket_chat_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCin9nv7mUjoqrRiwrzS5UVQ) [![slack videos](images/slack_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCY3YECgeBcLCzIrFLP4gblw) [![mattermost videos](images/mattermost_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCNR05H72hi692y01bWaFXNA) [![microsoft365](images/microsoft_365_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/officevideos) [![openproject](images/openproject_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCpDojas1X9ccix4mxadabpw) [![cloud quick POCs](images/cloudquickpocs.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCv9MUffHWyo2GgLIDLVu0KQ)
+[![rh devel](images/rh_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC7noUdfWp-ukXUlAsJnSm-Q/) [![spring logo](images/spring-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SpringSourceDev) [![quarkus logo](images/quarkus-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCaW8QG_QoIk_FnjLgr5eOqg) [![lightbend videos](images/lightbend_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxTiKb1h2lY_gpTCDgXn1g) [![postman videos](images/postman_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCocudCGVb3MmhWQ1aoIgUQw) [![swagger videos](images/smartbear_swagger_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SmartBearSoftware) [![jfrog](images/jfrog_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/artifrog) [![sonatype](images/sonatype_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/sonatype) [![sonarsource sonarqube](images/sonarsource_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCS5-gTYteN9rnFd98YxYtrA) [![chrome developers videos](images/chromedevtools_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/ChromeDevelopers) [![mozilla developer](images/mozilla_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5UlGiu9d6LegIeUCW4N1w)
+[![crunchydata](images/crunchydata_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCooRnlDz6VLAbFyKIChz4fg) [![kubedb appscode](images/kubedb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCxObRDZ0DtaQe_cCP-dN-xg) [![cockroachdb](images/cockroachdb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCc-m3P54YDVTjtMUJlmAuow) [![mongodb](images/mongodb_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/MongoDB) [![redis](images/redis_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCD78lHSwYqMlyetR0_P4Vig/) [![confluent video](images/confluent_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCmZz-Gj3caLLzEWBtbYUXaA) [![kubemq video](images/kubemq_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCud7fErZAyMC6lHT_cWZNfA) [![openebs](images/openebs_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC3ywadaAUQ1FI4YsHZ8wa0g) [![storageos](images/storageos_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCm63IQg81KP9vXRWSHQpu1w) [![robin](images/robin_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCt7N400Z8gB_3yKq1qrjP2w) [![portworx](images/portworx_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Portworx)
+[![cloud academy](images/cloud_academy_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Cloudacademy/videos) [![acloudguru](images/acloudguru_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp8lLM2JP_1pv6E0NQ38pqw) [![devops_tv](images/devops_tv_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Devopsdotcom) [![xebialabs](images/xebialabs_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/xebialabs) [![devops library](images/devops_library_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCOnioSzUZS-ZqsRnf38V2nA) [![codecademy](images/codecademy.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5CMtpogD_P3mOoeiDHD5eQ) [![coursera](images/coursera_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/coursera) [![academind](images/academind_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w) [![guru99](images/guru99_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/guru99com) [![intellipaat](images/intellipaat_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/intellipaaat) [![codelytv](images/codelytv_logo.jpg){: style="width:7%"}](https://www.youtube.com/CodelyTV)
+[![thetips4you](images/thethips4you.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCoOq-DtESvayx5yJE5H6-qQ) [![tetrate](images/tetrate_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCtV2o3OvEH6U3DQ0-_7chNw) [![ansible pilot](images/ansiblepilot.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5MNbTYRHSCu9vAki3z9SmA) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com)