1. Create a Static Website Using Amazon S3
2. Launch and Configure an EC2 Instance
3. Set Up an Application Load Balancer
4. Implement Auto Scaling
5. Create a VPC with Public and Private Subnets
6. Set Up an Amazon RDS Database
7. Implement an S3 Lifecycle Policy
8. Set Up CloudFront Distribution
9. Implement IAM Roles and Policies
10. Set Up a Simple Serverless Application
Some resources will incur costs so make sure you manage that and terminate when you conclude your work.
Please open Telegram to view this post
VIEW IN TELEGRAM
Are you gearing up for a DevOps interview? Here are 25 critical questions that will help you shine!
1.What is CI/CD and why is it important?
2. Explain the difference between Docker and Kubernetes.
3. How do you ensure high availability in a cloud environment?
4. What are the different stages in a DevOps pipeline?
5. How do you monitor and troubleshoot application performance?
6. Describe a situation where you had to resolve a production issue.
7. What are some best practices for infrastructure as code (IaC)?
8. How do you handle security in a DevOps workflow?
9. What tools do you use for configuration management and why?
10. Explain the concept of blue-green deployment.
11. How does container orchestration work?
12. What is the role of a reverse proxy in a DevOps environment?
13. How do you implement logging and monitoring for microservices?
14. What is a service mesh and why is it useful?
15. Can you explain the concept of immutable infrastructure?
16. How do you manage secrets and sensitive data in your deployments?
17. What are the key metrics you monitor in a DevOps environment?
18. How do you handle load balancing and scaling in Kubernetes?
19. What is a canary deployment and how is it different from blue-green deployment?
20. How do you ensure disaster recovery and backup in cloud infrastructure?
21. What are the common challenges in a DevOps transformation?
22. Explain the use of Ansible/Puppet/Chef in DevOps.
23. How do you integrate security practices into your CI/CD pipeline?
24. What is the significance of automated testing in DevOps?
25. How do you manage and optimize costs in a cloud environment?
Good luck!
Please open Telegram to view this post
VIEW IN TELEGRAM
1733337999577.gif
1.4 MB
AWS Vs. Azure: Which Cloud Platform is Best for Your Career?
Choosing between AWS and Azure can be a crucial decision for anyone looking to build a successful cloud career. With both platforms offering vast, scalable storage services, it’s important to understand the core differences and advantages each brings.
📱 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Choosing between AWS and Azure can be a crucial decision for anyone looking to build a successful cloud career. With both platforms offering vast, scalable storage services, it’s important to understand the core differences and advantages each brings.
Please open Telegram to view this post
VIEW IN TELEGRAM
1. terraform init: Initializes a Terraform working directory.
2. terraform validate: Validates the Terraform configuration files.
3. terraform fmt: Formats the Terraform configuration files.
4. terraform apply: Applies the configuration to create or update infrastructure.
5. terraform destroy: Destroys the infrastructure managed by Terraform.
6. terraform refresh: Refreshes the Terraform state to match the actual infrastructure.
7. terraform show: Shows the Terraform state and configuration.
8. terraform state list: Lists the resources in the Terraform state.
9. terraform state show: Shows the details of a specific resource in the Terraform state.
10. terraform state rm: Removes a resource from the Terraform state.
11. terraform state mv: Moves a resource from one state to another.
12. terraform get: Downloads and installs Terraform modules.
13. terraform module: Manages Terraform modules.
14. terraform module init: Initializes a Terraform module.
15. terraform providers: Lists the available Terraform providers.
16. terraform provider: Manages Terraform providers.
17. terraform provider init: Initializes a Terraform provider.
18. terraform workspace: Manages Terraform workspaces.
19. terraform workspace new: Creates a new Terraform workspace.
20. terraform workspace select: Selects a Terraform workspace.
21. terraform debug: Enables debug logging for Terraform.
22. terraform logs: Shows the Terraform logs.
23. terraform console: Opens a Terraform console for interactive debugging.
24. terraform import: Imports existing infrastructure into Terraform.
25. terraform export: Exports the Terraform state to a file.
26. terraform version: Shows the Terraform version.
27. terraform help: Shows the Terraform help.
28. terraform upgrade: Upgrades Terraform to the latest version.
29. terraform console: Opens a Terraform console for interactive debugging.
30. terraform graph: Generates a graph of the Terraform configuration.
31. terraform output: Shows the output of a Terraform configuration.
32. terraform cli: Manages the Terraform CLI.
33. terraform cli config: Configures the Terraform CLI.
34. terraform config: Manages the Terraform configuration.
35. terraform config init: Initializes a Terraform configuration.
36. terraform state backend: Manages the Terraform state backend.
37. terraform state backend init: Initializes a Terraform state backend.
38. terraform workspace: Manages Terraform workspaces.
39. terraform workspace new: Creates a new Terraform workspace.
Please open Telegram to view this post
VIEW IN TELEGRAM
In This Project, we are Developing and Deploying a video streaming application on EC2 using Docker and AWS Developers Tools.
📣 Note: Fork this Repository🧑💻 for upcoming future projects, Every week releases new Project.
Please open Telegram to view this post
VIEW IN TELEGRAM
1.
git init - Initialize a new Git repository.2.
git clone <repository> - Clone an existing Git repository.3.
git config --global user.name "<Your Name>" - Set your username for Git.4.
git config --global user.email "<your_email@example.com>" - Set your email address for Git.5.
git status - Check the status of your repository.6.
git add <file> - Stage a file for the next commit.7.
git add . - Stage all changes in the current directory and subdirectories.8.
git commit -m "<commit_message>" - Commit changes with a meaningful commit message.9.
git log - Display a log of all commits made to the repository.10.
git branch - List all branches in the repository.11.
git checkout <branch> - Switch to a different branch.12.
git merge <branch> - Merge changes from another branch into the current branch.1.
git branch <new_branch> - Create a new branch.2.
git branch -d <branch> - Delete a branch.3.
git branch -m <old_branch> <new_branch> - Rename a branch.4.
git checkout -b <new_branch> - Create a new branch and switch to it.1.
git remote add <name> <url> - Add a remote repository.2.
git remote remove <name> - Remove a remote repository.3.
git remote rename <old_name> <new_name> - Rename a remote repository.4.
git fetch <remote> - Fetch changes from a remote repository.5.
git push <remote> <branch> - Push changes to a remote repository.6.
git pull <remote> <branch> - Pull changes from a remote repository.1.
git merge <branch> - Merge changes from another branch into the current branch.2.
git merge --abort - Abort a merge operation.3.
git merge --continue - Continue a merge operation after resolving conflicts.4.
git status - Check the status of your repository during a merge operation.1.
git tag <tag_name> - Create a lightweight tag.2.
git tag -a <tag_name> -m "<tag_message>" - Create an annotated tag.3.
git tag -d <tag_name> - Delete a tag.4.
git tag -l - List all tags in the repository.1.
git reset <commit> - Reset your repository to a specific commit.2.
git reset --hard <commit> - Reset your repository to a specific commit and discard all changes.3.
git revert <commit> - Revert changes made by a specific commit.4.
git revert --no-commit <commit> - Revert changes made by a specific commit without committing the changes.1.
git stash - Stash changes in your repository.2.
git stash list - List all stashed changes.3.
git stash apply - Apply stashed changes to your repository.4.
git stash drop - Delete a stashed change.5.
git stash pop - Apply and delete a stashed change.1.
git submodule add <repository> - Add a submodule to your repository.2.
git submodule init - Initialize a submodule.3.
git submodule update - Update a submodule.4.
git submodule status - Check the status of a submodule.5.
git submodule summary - Summarize changes made to a submodule.1.
git cherry-pick <commit> - Apply changes made by a specific commit to your current branch.2.
git cherry-pick --abort - Abort a cherry-pick operation.3.
git cherry-pick --continue - Continue a cherry-pick operation after resolving conflicts.1.
git rebase <branch> - Rebase your current branch onto another branch.2.
git rebase --abort - Abort a rebase operation.3.
git rebase --continue - Continue a rebase operation after resolving conflicts.4.
git rebase -i <commit> - Interactively rebase changes made since a specific commit.1.
git diff - Display differences between your working directory and the staging area.2.
git diff --cached - Display differences between the staging area and the last commit.Please open Telegram to view this post
VIEW IN TELEGRAM
1.
docker create [OPTIONS] IMAGE [COMMAND] [ARG...] - Create a new container from an image.2.
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] - Run a command in a new container.3.
docker start [OPTIONS] CONTAINER [CONTAINER...] - Start one or more stopped containers.4.
docker stop [OPTIONS] CONTAINER [CONTAINER...] - Stop one or more running containers.5.
docker restart [OPTIONS] CONTAINER [CONTAINER...] - Restart one or more containers.6.
docker rm [OPTIONS] CONTAINER [CONTAINER...] - Remove one or more containers.7.
docker kill [OPTIONS] CONTAINER [CONTAINER...] - Kill one or more running containers.1.
docker images [OPTIONS] [REPOSITORY[:TAG]] - List images.2.
docker pull [OPTIONS] NAME[:TAG|@DIGEST] - Pull an image or a repository from a registry.3.
docker push [OPTIONS] NAME[:TAG] - Push an image or a repository to a registry.4.
docker rmi [OPTIONS] IMAGE [IMAGE...] - Remove one or more images.5.
docker tag [OPTIONS] IMAGE REF - Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE.6.
docker build [OPTIONS] PATH | URL | - - Build an image from a Dockerfile.7.
docker history [OPTIONS] IMAGE - Show the history of an image.1.
docker volume create [OPTIONS] [VOLUME] - Create a volume.2.
docker volume inspect [OPTIONS] VOLUME [VOLUME...] - Display detailed information on one or more volumes.3.
docker volume ls [OPTIONS] [FILTER] - List volumes.4.
docker volume rm [OPTIONS] VOLUME [VOLUME...] - Remove one or more volumes.5.
docker volume prune [OPTIONS] - Remove all unused local volumes.1.
docker network create [OPTIONS] NETWORK - Create a network.2.
docker network connect [OPTIONS] NETWORK CONTAINER - Connect a container to a network.3.
docker network disconnect [OPTIONS] NETWORK CONTAINER - Disconnect a container from a network.4.
docker network inspect [OPTIONS] NETWORK [NETWORK...] - Display detailed information on one or more networks.5.
docker network ls [OPTIONS] [FILTER] - List networks.6.
docker network rm [OPTIONS] NETWORK [NETWORK...] - Remove one or more networks.1.
docker info [OPTIONS] - Display system-wide information.2.
docker version [OPTIONS] - Show the Docker version information.3.
docker system prune [OPTIONS] - Remove unused data.1.
docker login [OPTIONS] [SERVER] - Log in to a Docker registry.2.
docker logout [OPTIONS] [SERVER] - Log out from a Docker registry.1.
docker manifest [OPTIONS] COMMAND [ARG...] - Work with Docker image manifests.2.
docker swarm [OPTIONS] COMMAND [ARG...] - Work with Docker Swarm.3.
docker service [OPTIONS] COMMAND [ARG...] - Work with Docker services.1.
docker exec [OPTIONS] CONTAINER COMMAND [ARG...] - Run a command in a running container.2.
docker logs [OPTIONS] CONTAINER - Fetch the logs of a container.3.
docker port [OPTIONS] CONTAINER PRIVATE_PORT - List port mappings or a specific mapping for the container.4.
docker top [OPTIONS] CONTAINER - Display the running processes of a container.5.
docker unpause [OPTIONS] CONTAINER [CONTAINER...] - Unpause all processes in one or more containers.6.
docker update [OPTIONS] CONTAINER [CONTAINER...] - Update configuration of one or more containers.Please open Telegram to view this post
VIEW IN TELEGRAM
Codefresh
Jenkins Pipeline: Examples, Usage, and Best Practices
Jenkins Pipeline lets you implement continuous delivery (CD) pipelines on the Jenkins automation server. Pipelines are defined as text-based Jenkinsfiles.
In real-world projects, Jenkins pipelines play a crucial role in automating software delivery. Here are the two main types of Jenkins pipelines:
🔢 . Scripted Pipeline:
➡️ Description: Scripted pipelines are more traditional and allow developers to have fine-grained control over the build process. They are coded as Jenkinsfiles using Groovy, which requires some programming knowledge.
➡️ Syntax Example:
➡️ Pros:
- Greater flexibility for custom logic.
- Full control over each stage.
- Ideal for complex workflows.
➡️ Cons:
- Requires Groovy programming skills.
- Less declarative.
🔢 . Declarative Pipeline:
➡️ Description: Declarative pipelines use a YAML-based syntax to define the build process. They are easier to work with and do not require knowledge of Groovy code. Jenkins can automatically validate the syntax of a declarative pipeline.
➡️ Syntax Example:
➡️ Pros:
- Simpler syntax.
- Automatic syntax validation.
- Ideal for straightforward workflows.
➡️ Cons:
- Less flexible than scripted pipelines.
Choose the pipeline type that best suits your project's needs. Whether you prefer fine-grained control or a more declarative approach, Jenkins pipelines empower you to automate your software delivery process!🚀 🔧
➡️ References:
1. Jenkins Pipeline: Examples, Usage, and Best Practices [1]
2. Jenkins Freestyle vs Pipeline: Which One Should You Use? [2]
➡️ Reference links: [1] [2] [3] [4]
📱 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
node {
stage('Build') {
// Perform build steps
}
stage('Test') {
// Execute tests
}
stage('Deploy') {
// Deploy artifacts
}
}- Greater flexibility for custom logic.
- Full control over each stage.
- Ideal for complex workflows.
- Requires Groovy programming skills.
- Less declarative.
pipeline {
agent any
stages {
stage('Build') {
steps {
// Build steps
}
}
stage('Test') {
steps {
// Testing tasks
}
}
stage('Deploy') {
steps {
// Deployment actions
}
}
}
}- Simpler syntax.
- Automatic syntax validation.
- Ideal for straightforward workflows.
- Less flexible than scripted pipelines.
Choose the pipeline type that best suits your project's needs. Whether you prefer fine-grained control or a more declarative approach, Jenkins pipelines empower you to automate your software delivery process!
1. Jenkins Pipeline: Examples, Usage, and Best Practices [1]
2. Jenkins Freestyle vs Pipeline: Which One Should You Use? [2]
Please open Telegram to view this post
VIEW IN TELEGRAM
100 Terms & Services which every DevOps ♾ Engineer should be aware of:
1. Continuous Integration (CI): Automates code integration.
2. Continuous Deployment (CD): Automated code deployment.
3. Version Control System (VCS): Manages code versions.
4. Git: Distributed version control.
5. Jenkins: Automation server for CI/CD.
6. Build Automation: Automates code compilation.
7. Artifact: Build output package.
8. Maven: Build and project management.
9. Gradle: Build automation tool.
10. Containerization: Application packaging and isolation.
11. Docker: Containerization platform.
12. Kubernetes: Container orchestration.
13. Orchestration: Automated coordination of components.
14. Microservices: Architectural design approach.
15. Infrastructure as Code (IaC): Manage infrastructure programmatically.
16. Terraform: IaC provisioning tool.
17. Ansible: IaC automation tool.
18. Chef: IaC automation tool.
19. Puppet: IaC automation tool.
20. Configuration Management: Automates infrastructure configurations.
21. Monitoring: Observing system behavior.
22. Alerting: Notifies on issues.
23. Logging: Recording system events.
24. ELK Stack: Log management tools.
25. Prometheus: Monitoring and alerting toolkit.
26. Grafana: Visualization platform.
27. Application Performance Monitoring (APM): Monitors app performance.
28. Load Balancing: Distributes traffic evenly.
29. Reverse Proxy: Forwards client requests.
30. NGINX: Web server and reverse proxy.
31. Apache: Web server and reverse proxy.
32. Serverless Architecture: Code execution without servers.
33. AWS Lambda: Serverless compute service.
34. Azure Functions: Serverless compute service.
35. Google Cloud Functions: Serverless compute service.
36. Infrastructure Orchestration: Automates infrastructure deployment.
37. AWS CloudFormation: IaC for AWS.
38. Azure Resource Manager (ARM): IaC for Azure.
39. Google Cloud Deployment Manager: IaC for GCP.
40. Continuous Testing: Automated testing at all stages.
41. Unit Testing: Tests individual components.
42. Integration Testing: Tests component interactions.
43. System Testing: Tests entire system.
44. Performance Testing: Evaluates system speed.
45. Security Testing: Identifies vulnerabilities.
46. DevSecOps: Integrates security in DevOps.
47. Code Review: Inspection for quality.
48. Static Code Analysis: Examines code without execution.
49. Dynamic Code Analysis: Analyzes running code.
50. Dependency Management: Handles code dependencies.
51. Artifact Repository: Stores and manages artifacts.
52. Nexus: Repository manager.
53. JFrog Artifactory: Repository manager.
54. Continuous Monitoring: Real-time system observation.
55. Incident Response: Manages system incidents.
56. Site Reliability Engineering (SRE): Ensures system reliability.
57. Collaboration Tools: Facilitates team communication.
58. Slack: Team messaging platform.
59. Microsoft Teams: Collaboration platform.
60. ChatOps: Collaborative development through chat.
✈️ 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
1. Continuous Integration (CI): Automates code integration.
2. Continuous Deployment (CD): Automated code deployment.
3. Version Control System (VCS): Manages code versions.
4. Git: Distributed version control.
5. Jenkins: Automation server for CI/CD.
6. Build Automation: Automates code compilation.
7. Artifact: Build output package.
8. Maven: Build and project management.
9. Gradle: Build automation tool.
10. Containerization: Application packaging and isolation.
11. Docker: Containerization platform.
12. Kubernetes: Container orchestration.
13. Orchestration: Automated coordination of components.
14. Microservices: Architectural design approach.
15. Infrastructure as Code (IaC): Manage infrastructure programmatically.
16. Terraform: IaC provisioning tool.
17. Ansible: IaC automation tool.
18. Chef: IaC automation tool.
19. Puppet: IaC automation tool.
20. Configuration Management: Automates infrastructure configurations.
21. Monitoring: Observing system behavior.
22. Alerting: Notifies on issues.
23. Logging: Recording system events.
24. ELK Stack: Log management tools.
25. Prometheus: Monitoring and alerting toolkit.
26. Grafana: Visualization platform.
27. Application Performance Monitoring (APM): Monitors app performance.
28. Load Balancing: Distributes traffic evenly.
29. Reverse Proxy: Forwards client requests.
30. NGINX: Web server and reverse proxy.
31. Apache: Web server and reverse proxy.
32. Serverless Architecture: Code execution without servers.
33. AWS Lambda: Serverless compute service.
34. Azure Functions: Serverless compute service.
35. Google Cloud Functions: Serverless compute service.
36. Infrastructure Orchestration: Automates infrastructure deployment.
37. AWS CloudFormation: IaC for AWS.
38. Azure Resource Manager (ARM): IaC for Azure.
39. Google Cloud Deployment Manager: IaC for GCP.
40. Continuous Testing: Automated testing at all stages.
41. Unit Testing: Tests individual components.
42. Integration Testing: Tests component interactions.
43. System Testing: Tests entire system.
44. Performance Testing: Evaluates system speed.
45. Security Testing: Identifies vulnerabilities.
46. DevSecOps: Integrates security in DevOps.
47. Code Review: Inspection for quality.
48. Static Code Analysis: Examines code without execution.
49. Dynamic Code Analysis: Analyzes running code.
50. Dependency Management: Handles code dependencies.
51. Artifact Repository: Stores and manages artifacts.
52. Nexus: Repository manager.
53. JFrog Artifactory: Repository manager.
54. Continuous Monitoring: Real-time system observation.
55. Incident Response: Manages system incidents.
56. Site Reliability Engineering (SRE): Ensures system reliability.
57. Collaboration Tools: Facilitates team communication.
58. Slack: Team messaging platform.
59. Microsoft Teams: Collaboration platform.
60. ChatOps: Collaborative development through chat.
Please open Telegram to view this post
VIEW IN TELEGRAM
In this project, I dive into setting up a robust 3-tier architecture on AWS designed to boost scalability, ensure high security, and optimize performance for modern web applications.
📣 Note: Fork this Repository🧑💻 for upcoming future projects, Every week releases new Project.
Please open Telegram to view this post
VIEW IN TELEGRAM
And here's a simple hack that can help.
It runs on each node, if a problem is detected it can report to apiserver. Here are some issues it can detect:
Try it out. Positive approach powers progress.
Please open Telegram to view this post
VIEW IN TELEGRAM
Let’s talk Docker images – nobody likes them big and slow, right? I had an image that was 879MB (way too big!), and I got it down to 150MB. Here’s how I did it:
[
[
[
[
[
Making Docker images smaller isn’t hard, and it’s worth it.
Faster builds, quicker deployments, and less storage needed. Give it a try!
Please open Telegram to view this post
VIEW IN TELEGRAM
1. Upwork - https://lnkd.in/gt4HYmd6
2. Docker, Inc - https://lnkd.in/gfX5-pQG
3. Automattic - https://lnkd.in/ddSBdusv
4. DigitalOcean - https://lnkd.in/dYgDZ-WF
5. Constructor - https://lnkd.in/daBzMdxM
6. Shopify - https://lnkd.in/d9zpGKTy
7. Abnormal Security - https://lnkd.in/gn5M4VDF
8. Mentorsity - https://lnkd.in/d8YyGHNH
9. Cloudflare - https://lnkd.in/g9JPXp2F
10. MissionWired - https://lnkd.in/gMA6AVdG
11. Symetra - http://www.symetra.com
12. Doist - https://doist.com/careers/
13. LogicGate - https://lnkd.in/gjgX27Bc
14. Canonical - https://lnkd.in/d9mf5Rr3
15. Cloudbeds - https://lnkd.in/dg3gC5v6
16. Sorcero - https://lnkd.in/gpmDTnH7
17. Beekeeper - https://lnkd.in/gxd7rs7Q
18. Uplers - https://www.uplers.com
19. Bold - https://lnkd.in/dZQ8dQnq
20. DuckDuckGo - https://lnkd.in/d_Kv9dM6
21. DealHub.io - https://lnkd.in/gyNED4yp
22. Kemecon - http://kemecon.com
23. Akamai Technologies - https://lnkd.in/dpTN5nPT
24. Arkency - https://lnkd.in/dBB_wZaR
25. Deltek - https://lnkd.in/dkSfGNbF
26. Cash App - https://lnkd.in/gdp8yUm8
27. Cloudflare - https://lnkd.in/g9JPXp2F
28. Affordmate - http://www.affordmate.com
29. Rec Room - https://lnkd.in/gErDuTNa
30. Funded.club - https://lnkd.in/gpH4FazA
31. Expert Thinking - https://lnkd.in/dz_4HFUi
32. Patreon - https://lnkd.in/gzQptMcQ
33. Xapobank - http://www.xapobank.com
34. Cengage Group - https://lnkd.in/gGkT6jRZ
35. LogicGate - https://lnkd.in/gjgX27Bc
36. Quest Software - https://lnkd.in/dkHSNGmM
37. Workera - https://lnkd.in/g2YzZu-H
38. Faire - https://lnkd.in/gYRNr9VM
39. McGraw Hill - https://lnkd.in/g59pzFf4
40. UserGems - https://lnkd.in/gXi3mNf6
41. Goinstacare - https://lnkd.in/d6ZN5FVD
42. Workiva - https://lnkd.in/g-FUYYdR
43. Contra - https://contra.com/careers
44. Awesomemotive - https://lnkd.in/diZZjb4J
45. Appcues - https://lnkd.in/dp2Jiupp
46. Jenius Bank - https://lnkd.in/gxGqHGkH
47. DocuSign - https://lnkd.in/ggfUncZf
48. Confluent - https://lnkd.in/dNSTmUeH
49. Census - https://lnkd.in/gAq7PGzc
50. AngelOne - https://lnkd.in/dk3NwDn6
Please open Telegram to view this post
VIEW IN TELEGRAM
1733716945710.gif
370.6 KB
Give me 3 minutes, and I'll explain the 😸 𝐆𝐈𝐓 𝐖𝐨𝐫𝐤𝐟𝐥𝐨𝐰 to you.
I will keep it very simple and straightforward.
[1.] 𝐈𝐧𝐢𝐭𝐢𝐚𝐥 𝐒𝐭𝐚𝐭𝐞
◾️ You have a remote repository on a server (README. md file exists).
◾️ Your local machine has no project files yet.
[2.] 𝐠𝐢𝐭 𝐜𝐥𝐨𝐧𝐞 <𝐫𝐞𝐩𝐨𝐬𝐢𝐭𝐨𝐫𝐲>
◾️ Copies the entire remote repository (README. md) to your local machine.
◾️ Creates a local repository linked to the remote one.
[3.] 𝐂𝐫𝐞𝐚𝐭𝐢𝐧𝐠 𝐚 𝐧𝐞𝐰 𝐟𝐢𝐥𝐞
◾️ You create a new file (newfile.txt) in your local working directory.
◾️ This file is untracked by Git at this point.
[4.] 𝐠𝐢𝐭 𝐚𝐝𝐝 .
◾️ Stages all changes (including the new file) in the working directory.
◾️ Prepares them to be included in the next commit.
[5.] 𝐠𝐢𝐭 𝐜𝐨𝐦𝐦𝐢𝐭 -𝐦 "<𝐦𝐞𝐬𝐬𝐚𝐠𝐞>"
◾️ Takes a snapshot of the staged changes.
◾️ Creates a new commit in your local repository with the changes and your commit message.
[6.] 𝐠𝐢𝐭 𝐩𝐮𝐬𝐡
◾️ Uploads all your local commits to the remote repository.
◾️ Now, both your local and remote repositories are synchronized.
📌 𝐊𝐞𝐲 𝐏𝐨𝐢𝐧𝐭𝐬
◾️ Working Directory => Where you make changes to your files.
◾️ Staging Area (Index) => A temporary holding area for changes you want to include in your next commit.
◾️ Local Repository => Your complete project history on your machine.
◾️ Remote Repository =>The central project repository on a server, often used for collaboration.
✈️ 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
I will keep it very simple and straightforward.
[1.] 𝐈𝐧𝐢𝐭𝐢𝐚𝐥 𝐒𝐭𝐚𝐭𝐞
[2.] 𝐠𝐢𝐭 𝐜𝐥𝐨𝐧𝐞 <𝐫𝐞𝐩𝐨𝐬𝐢𝐭𝐨𝐫𝐲>
[3.] 𝐂𝐫𝐞𝐚𝐭𝐢𝐧𝐠 𝐚 𝐧𝐞𝐰 𝐟𝐢𝐥𝐞
[4.] 𝐠𝐢𝐭 𝐚𝐝𝐝 .
[5.] 𝐠𝐢𝐭 𝐜𝐨𝐦𝐦𝐢𝐭 -𝐦 "<𝐦𝐞𝐬𝐬𝐚𝐠𝐞>"
[6.] 𝐠𝐢𝐭 𝐩𝐮𝐬𝐡
Please open Telegram to view this post
VIEW IN TELEGRAM
Here's the step-by-step explanation for the deployment process of applications on Kubernetes:
‣ Once the application code is written, it is committed to a version control system.
‣ Git is a popular distributed version control system that tracks changes in source code during software development.
‣ Developers use Git to collaborate, track changes, and maintain a history of code revisions.
‣ The application is then packaged into a container using Docker.
‣ Docker allows you to package an application with all its dependencies into a standardized unit for software development.
‣ This ensures that the application runs consistently across different environments.
‣ Once the application is containerized, the Docker image is pushed to a container registry.
‣ Artifactory is a binary repository manager, which can be used to host Docker images among other binaries.
‣ The container registry stores Docker images and allows them to be pulled when needed for deployment.
‣ A Kubernetes Deployment configuration is created using YAML (Yet Another Markup Language).
‣ This configuration defines how the application should run inside the Kubernetes cluster, including the desired state, replicas, and other specifications.
‣ The Kubernetes Deployment configuration is applied to the Kubernetes cluster using kubectl, the Kubernetes command-line tool.
‣ This initiates the deployment process, and Kubernetes ensures that the desired state defined in the configuration is achieved within the cluster.
‣ A Kubernetes Service is created to expose the application internally within the Kubernetes cluster.
‣ This allows other services or applications within the cluster to communicate with the deployed application.
‣ To make the application accessible to external users, an Ingress resource is defined.
‣ The Ingress Controller manages the Ingress resources and ensures that external traffic is routed to the appropriate services within the cluster.
Please open Telegram to view this post
VIEW IN TELEGRAM
25 ☁️ git commands to make your life easier as a devops engineer.
𝟭. 𝗴𝗶𝘁 𝗱𝗶𝗳𝗳: Show file differences not yet staged.
𝟮. 𝗴𝗶𝘁 𝗰𝗼𝗺𝗺𝗶𝘁 -𝗮 -𝗺 "𝗰𝗼𝗺𝗺𝗶𝘁 𝗺𝗲𝘀𝘀𝗮𝗴𝗲": Commit all tracked changes with a message.
𝟯. 𝗴𝗶𝘁 𝘀𝘁𝗮𝘁𝘂𝘀: Show the state of your working directory.
𝟰. 𝗴𝗶𝘁 𝗮𝗱𝗱 𝗳𝗶𝗹𝗲_𝗽𝗮𝘁𝗵:Add file(s) to the staging area.
𝟱. 𝗴𝗶𝘁 𝗰𝗵𝗲𝗰𝗸𝗼𝘂𝘁 -𝗯 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Create and switch to a new branch.
𝟲. 𝗴𝗶𝘁 𝗰𝗵𝗲𝗰𝗸𝗼𝘂𝘁 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Switch to an existing branch.
𝟳. 𝗴𝗶𝘁 𝗰𝗼𝗺𝗺𝗶𝘁 --𝗮𝗺𝗲𝗻𝗱:Modify the last commit.
𝟴. 𝗴𝗶𝘁 𝗽𝘂𝘀𝗵 𝗼𝗿𝗶𝗴𝗶𝗻 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Push a branch to a remote.
𝟵. 𝗴𝗶𝘁 𝗽𝘂𝗹𝗹: Fetch and merge remote changes.
𝟭𝟬. 𝗴𝗶𝘁 𝗿𝗲𝗯𝗮𝘀𝗲 -𝗶: Rebase interactively, rewrite commit history.
𝟭𝟭. 𝗴𝗶𝘁 𝗰𝗹𝗼𝗻𝗲: Create a local copy of a remote repo.
𝟭𝟮. 𝗴𝗶𝘁 𝗺𝗲𝗿𝗴𝗲: Merge branches together.
𝟭𝟯. 𝗴𝗶𝘁 𝗹𝗼𝗴 --𝘀𝘁𝗮𝘁: Show commit logs with stats.
𝟭𝟰. 𝗴𝗶𝘁 𝘀𝘁𝗮𝘀𝗵: Stash changes for later.
𝟭𝟱. 𝗴𝗶𝘁 𝘀𝘁𝗮𝘀𝗵 𝗽𝗼𝗽: Apply and remove stashed changes.
𝟭𝟲. 𝗴𝗶𝘁 𝘀𝗵𝗼𝘄 𝗰𝗼𝗺𝗺𝗶𝘁_𝗶𝗱: Show details about a commit.
𝟭𝟳. 𝗴𝗶𝘁 𝗿𝗲𝘀𝗲𝘁 𝗛𝗘𝗔𝗗~𝟭: Undo the last commit, preserving changes locally.
𝟭𝟴. 𝗴𝗶𝘁 𝗳𝗼𝗿𝗺𝗮𝘁-𝗽𝗮𝘁𝗰𝗵 -𝟭 𝗰𝗼𝗺𝗺𝗶𝘁_𝗶𝗱: Create a patch file for a specific commit.
𝟭𝟵. 𝗴𝗶𝘁 𝗮𝗽𝗽𝗹𝘆 𝗽𝗮𝘁𝗰𝗵_𝗳𝗶𝗹𝗲_𝗻𝗮𝗺𝗲: Apply changes from a patch file.
𝟮𝟬. 𝗴𝗶𝘁 𝗯𝗿𝗮𝗻𝗰𝗵 -𝗗 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Delete a branch forcefully.
𝟮𝟭. 𝗴𝗶𝘁 𝗿𝗲𝘀𝗲𝘁: Undo commits by moving branch reference.
𝟮𝟮. 𝗴𝗶𝘁 𝗿𝗲𝘃𝗲𝗿𝘁: Undo commits by creating a new commit.
𝟮𝟯. 𝗴𝗶𝘁 𝗰𝗵𝗲𝗿𝗿𝘆-𝗽𝗶𝗰𝗸 𝗰𝗼𝗺𝗺𝗶𝘁_𝗶𝗱: Apply changes from a specific commit.
𝟮𝟰. 𝗴𝗶𝘁 𝗯𝗿𝗮𝗻𝗰𝗵: Lists branches.
𝟮𝟱. 𝗴𝗶𝘁 𝗿𝗲𝘀𝗲𝘁 --𝗵𝗮𝗿𝗱: Resets everything to a previous commit, erasing all uncommitted changes.
✈️ 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
𝟭. 𝗴𝗶𝘁 𝗱𝗶𝗳𝗳: Show file differences not yet staged.
𝟮. 𝗴𝗶𝘁 𝗰𝗼𝗺𝗺𝗶𝘁 -𝗮 -𝗺 "𝗰𝗼𝗺𝗺𝗶𝘁 𝗺𝗲𝘀𝘀𝗮𝗴𝗲": Commit all tracked changes with a message.
𝟯. 𝗴𝗶𝘁 𝘀𝘁𝗮𝘁𝘂𝘀: Show the state of your working directory.
𝟰. 𝗴𝗶𝘁 𝗮𝗱𝗱 𝗳𝗶𝗹𝗲_𝗽𝗮𝘁𝗵:Add file(s) to the staging area.
𝟱. 𝗴𝗶𝘁 𝗰𝗵𝗲𝗰𝗸𝗼𝘂𝘁 -𝗯 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Create and switch to a new branch.
𝟲. 𝗴𝗶𝘁 𝗰𝗵𝗲𝗰𝗸𝗼𝘂𝘁 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Switch to an existing branch.
𝟳. 𝗴𝗶𝘁 𝗰𝗼𝗺𝗺𝗶𝘁 --𝗮𝗺𝗲𝗻𝗱:Modify the last commit.
𝟴. 𝗴𝗶𝘁 𝗽𝘂𝘀𝗵 𝗼𝗿𝗶𝗴𝗶𝗻 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Push a branch to a remote.
𝟵. 𝗴𝗶𝘁 𝗽𝘂𝗹𝗹: Fetch and merge remote changes.
𝟭𝟬. 𝗴𝗶𝘁 𝗿𝗲𝗯𝗮𝘀𝗲 -𝗶: Rebase interactively, rewrite commit history.
𝟭𝟭. 𝗴𝗶𝘁 𝗰𝗹𝗼𝗻𝗲: Create a local copy of a remote repo.
𝟭𝟮. 𝗴𝗶𝘁 𝗺𝗲𝗿𝗴𝗲: Merge branches together.
𝟭𝟯. 𝗴𝗶𝘁 𝗹𝗼𝗴 --𝘀𝘁𝗮𝘁: Show commit logs with stats.
𝟭𝟰. 𝗴𝗶𝘁 𝘀𝘁𝗮𝘀𝗵: Stash changes for later.
𝟭𝟱. 𝗴𝗶𝘁 𝘀𝘁𝗮𝘀𝗵 𝗽𝗼𝗽: Apply and remove stashed changes.
𝟭𝟲. 𝗴𝗶𝘁 𝘀𝗵𝗼𝘄 𝗰𝗼𝗺𝗺𝗶𝘁_𝗶𝗱: Show details about a commit.
𝟭𝟳. 𝗴𝗶𝘁 𝗿𝗲𝘀𝗲𝘁 𝗛𝗘𝗔𝗗~𝟭: Undo the last commit, preserving changes locally.
𝟭𝟴. 𝗴𝗶𝘁 𝗳𝗼𝗿𝗺𝗮𝘁-𝗽𝗮𝘁𝗰𝗵 -𝟭 𝗰𝗼𝗺𝗺𝗶𝘁_𝗶𝗱: Create a patch file for a specific commit.
𝟭𝟵. 𝗴𝗶𝘁 𝗮𝗽𝗽𝗹𝘆 𝗽𝗮𝘁𝗰𝗵_𝗳𝗶𝗹𝗲_𝗻𝗮𝗺𝗲: Apply changes from a patch file.
𝟮𝟬. 𝗴𝗶𝘁 𝗯𝗿𝗮𝗻𝗰𝗵 -𝗗 𝗯𝗿𝗮𝗻𝗰𝗵_𝗻𝗮𝗺𝗲: Delete a branch forcefully.
𝟮𝟭. 𝗴𝗶𝘁 𝗿𝗲𝘀𝗲𝘁: Undo commits by moving branch reference.
𝟮𝟮. 𝗴𝗶𝘁 𝗿𝗲𝘃𝗲𝗿𝘁: Undo commits by creating a new commit.
𝟮𝟯. 𝗴𝗶𝘁 𝗰𝗵𝗲𝗿𝗿𝘆-𝗽𝗶𝗰𝗸 𝗰𝗼𝗺𝗺𝗶𝘁_𝗶𝗱: Apply changes from a specific commit.
𝟮𝟰. 𝗴𝗶𝘁 𝗯𝗿𝗮𝗻𝗰𝗵: Lists branches.
𝟮𝟱. 𝗴𝗶𝘁 𝗿𝗲𝘀𝗲𝘁 --𝗵𝗮𝗿𝗱: Resets everything to a previous commit, erasing all uncommitted changes.
Please open Telegram to view this post
VIEW IN TELEGRAM
A Kubernetes deployment strategy is a declarative configuration that governs how application updates are applied. Typically, it is defined in a YAML file as part of the Kubernetes Deployment object. Alternatively, you can create deployments imperatively using explicit commands.
The different Kubernetes Deployment Strategies are explained below:
- The default strategy in Kubernetes.
- Updates Pods incrementally, replacing those running the old application version with the new version one at a time, ensuring zero downtime.
- An all-or-nothing approach.
- Terminates all existing Pods before deploying new ones, resulting in downtime during the transition.
- Gradually replaces old replicas with new ones, maintaining a balance between the old and new versions during the update process.
- Introduces a 'maxUnavailable' parameter to specify the percentage of unavailable pods during the update, allowing for faster rollouts while maintaining partial availability.
- Creates two separate environments (blue for the current version and green for the new version).
- Traffic is shifted to the new (green) environment only after it has been validated.
- A progressive delivery approach.
- Deploys the new version to a small subset of users for testing, expanding its rollout to a larger audience if successful.
- Deploys the new version (shadow) alongside the current one.
- The shadow receives real-world traffic but does not affect end-users, allowing for performance or feature validation.
- Simultaneously deploys two or more versions of an application or feature to different user subsets.
- Measures performance based on engagement, error rates, or other key metrics to determine the better-performing version.
Please open Telegram to view this post
VIEW IN TELEGRAM
DEV Community
How to Crack Your First DevOps Interview: Tips and Sample Questions
Landing your first DevOps role can be a transformative step in your career. As a DevOps engineer, you...
Check out my latest article:
"How to Crack Your First DevOps Interview: Tips and Sample Questions"
This guide is packed with practical advice to help you land your first DevOps role!
🌟 Let me know your thoughts and share with someone who’s preparing for their DevOps journey!
Please open Telegram to view this post
VIEW IN TELEGRAM
Deploying new versions of applications without downtime is crucial for maintaining a seamless user experience.
𝗟𝗼𝗮𝗱 𝗕𝗮𝗹𝗮𝗻𝗰𝗲𝗿 𝗦𝗲𝗿𝘃𝗶𝗰𝗲:
Instead of using an ingress controller, we leveraged Kubernetes' LoadBalancer service to route traffic between the Blue (current live) and Green (new version) environments. This allowed us to switch traffic seamlessly once Green passed all health checks.
We carefully handled database migrations to ensure consistency between Blue and Green environments, preventing data conflicts or downtime.
Once Green was deployed and tested, traffic was rerouted through Elastic Load Balancer (ELB) in AWS. Prometheus and CloudWatch were used for monitoring during the switch, ensuring a smooth transition.
In case any issues arose during the Green deployment, the LoadBalancer could be quickly reverted to point back to the Blue environment, ensuring no impact on users.
𝗭𝗲𝗿𝗼 𝗗𝗼𝘄𝗻𝘁𝗶𝗺𝗲:
Ensured uninterrupted service for end-users.
Quick rollback capability minimized the risk during deployments.
The load balancer service efficiently handled high traffic, ensuring performance.
This deployment strategy gave us the confidence to roll out new features and updates without worrying about downtime.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM