-
-
Notifications
You must be signed in to change notification settings - Fork 222
add Containerization Concepts drafts #110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
NguyenThanhNhut1706
wants to merge
14
commits into
data-engineering-community:main
Choose a base branch
from
NguyenThanhNhut1706:Containerization-Concept
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 2 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
2f43681
add Containerization Concepts drafts
NguyenThanhNhut1706 defd488
Apply formatting suggestions from code review
JPHaus 431d2b0
Update Tools/Containerization/Skopeo.md
JPHaus 53f9186
Update Concepts/Containerization/Containerization.md
NguyenThanhNhut1706 44b9773
Update Concepts/Containerization/Containerization.md
NguyenThanhNhut1706 fb9dc92
Update Concepts/Containerization/Containerization.md
NguyenThanhNhut1706 93a625f
Update Concepts/Containerization/Containerization.md
NguyenThanhNhut1706 6c44685
update containerization.md
NguyenThanhNhut1706 976c90f
add Docker tool content
NguyenThanhNhut1706 17bb07b
add Container Lifecyle in Containerization Concept
NguyenThanhNhut1706 51c96bf
add Podman tool draft
NguyenThanhNhut1706 51c84b6
add k8s tool draft
NguyenThanhNhut1706 c8b209b
add skopeo tool draft
NguyenThanhNhut1706 b76f984
add Buildah tool draft
NguyenThanhNhut1706 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| aliases: | ||
| - Concepts/Container Image | ||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| Brief description of the concept. | ||
|
|
||
| ## Container Image Advantages | ||
|
|
||
| ## Container Image Disadvantages | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Concepts/Container%20Image.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Concepts/Container%20Image.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Concepts/Container%20Image) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Concepts/Container%20Image)</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| aliases: | ||
| - Concepts/Container | ||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| Brief description of the concept. | ||
|
|
||
| ## Container Orchestration Advantages | ||
|
|
||
| ## Container Orchestration Disadvantages | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Concepts/Container%20Orchestration.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Concepts/Container%20Orchestration.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Concepts/Container%20Orchestration) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Concepts/Container%20Orchestration)</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| aliases: | ||
| - Concepts/Container | ||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| Brief description of the concept. | ||
|
|
||
| ## Container Advantages | ||
|
|
||
| ## Container Disadvantages | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Concepts/Container.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Concepts/Container.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Concepts/Container) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Concepts/Container)</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| --- | ||
| aliases: | ||
| - Concepts/Containerization | ||
| tags: | ||
| - incubating | ||
| publish: false | ||
| --- | ||
|
|
||
| Containerization is a special form of **virtualization** that packages the software code with its operating system libraries and dependencies into a light-weight executable unit called a [[Container]]. | ||
| ![[containerization.png| 550]] | ||
|
|
||
| ## Containerization Advantages | ||
|
|
||
| - **Portability**: By isolating the code from its dependencies from the OS and associate libraries, it solve the problem of "But it works on my machine", allowing the containerized software to run uniformly and consistently on various platform. | ||
| - **Efficiency**: The software run on the containerized environment utilize the host machine's OS kernel. Hence, it comes with smaller size and require less time to start up. | ||
| - **Faster deployment**: Application running from container can be deployed easily and rapidly scaled due to their portability and efficiency. | ||
| - **Security**: The usage of containerization reduce the risk of the application being negatively impacted by security threats or exploits. | ||
| - **Microservices architecture**: Enables the development of modular, independently deployable services by using [[Container]] as deployment method. | ||
| - **Automation workflow**: Containerization can be integrated with **CI/CD** workflow, collaborating with various tools to create an automatic and consistent pipeline for building, testing, and deploying applications. | ||
|
|
||
| ## Containerization Disadvantages | ||
|
|
||
| - **OS kernel**: Containerization use the OS kernel to operate so if there are any vulnerability in the kernel can potentially lead to errors on the application. | ||
| - **More security concerns**: Containerization require many components to function such as [[Container]], [[Container Image]], services,... These could the target for exploits and attacks. | ||
| - **Increase Complexity**: The process of creating and managing [[Container]] is a thorny task that require deep and wide system knowledge. | ||
| - **Compatibility**: Containerized applications may face compatibility issues when interacting with legacy systems. | ||
| - **Steep learning curve**: Adopting Containerization require significant amount of time and effort to master and apply into real-world system. | ||
NguyenThanhNhut1706 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## When to use Containerization | ||
|
|
||
| It is well-known that containerization is a game-changing technology for modern process of development and deployment. However, there are still some requirements that need to be meet in order to use this technology. Here are some Do's and Don'ts: | ||
|
|
||
| ### Do's | ||
|
|
||
| - **Familiar with Microservices architecture**: If you're working with microservices architectures, containerization is a must. Containers allow you to deploy, scale, and manage each microservice independently. This modularity makes your applications more scalable and resilient. By isolating services, you can update or fix one component without affecting the others, leading to faster development cycles. | ||
| - **DevOps workflow**: This combine with containerization deliver consistency and speed to the process of CI/CD, enable efficient error-free development, testing, deployment pipeline. Hence, the delivery process will not have any problems. | ||
| - **Complex dependencies**: By encapsulating dependencies within [[Container]], this allow applications to run consistently regardless of infrastructure. | ||
| - **Optimizing resource**: [[Container]] is light-weight and portable, they require minimal resource to operate. This is perfect for cost-effective deployment and scaling. | ||
|
|
||
| ### Don'ts | ||
|
|
||
| - **Simple application**: Using containerization for simple apps is just overkill, straight deployment might be better regarding management complexity and speed. | ||
| - **Legacy system adoption**: "If it works, leave it be", refactor a working legacy system to newer technology might contain potential risks and tradeoffs that need intense consideration. | ||
| - **Fear of missing out**: "Everyone is using containerization so we need to use it too", this a false understanding of containerization usage. It is true that it provides many benefits to the development and deployment process, but when deciding to use a technology, you need to consider many aspects of a bigger picture. Everything has a tradeoff and containerization is not doing everything by itself, it need to cooperate with its surrounding. | ||
NguyenThanhNhut1706 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## Containerization Tools | ||
|
|
||
| - [[Docker]]: | ||
| - [[Podman]]: | ||
| - [[Kubernetes]] | ||
| - [[Skopeo]]: | ||
| - [[Buildah]]: | ||
|
|
||
| ## Best Practices | ||
|
|
||
| [Containerization best practices - Simform](https://www.simform.com/blog/containerization-best-practices) | ||
| [Containerization best practices - Dev Communities](https://dev.to/aws-builders/the-art-of-creating-container-images-and-best-practices-3p9d) | ||
| %% wiki footer: Please don't edit anything below this line %% | ||
NguyenThanhNhut1706 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Concepts/Containerization/Containerization.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Concepts/Containerization/Containerization.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Concepts/Containerization/Containerization) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Concepts/Containerization/Containerization)</span> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| --- | ||
| Aliases: [] | ||
| Tags: [seedling] | ||
| publish: false | ||
| --- | ||
|
|
||
| (optional) Logo | ||
|
|
||
| Brief description of the tool. | ||
|
|
||
| ## {{title}} Official Documentation | ||
|
|
||
| ## {{title}} Advantages | ||
|
|
||
| ## {{title}} Disadvantages | ||
|
|
||
| ## {{title}} Learning Resources | ||
|
|
||
| ## {{title}} Recent Posts | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Tools/Containerization/{{title}}.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Tools/Containerization/{{title}}.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Tools/Conatinerization/{{title}}) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Tools/Conatinerization/{{title}})</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| --- | ||
| aliases: | ||
| - Tools/Buildah | ||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| (optional) Logo | ||
|
|
||
| Brief description of the tool. | ||
|
|
||
| ## Buildah Official Documentation | ||
|
|
||
| ## Buildah Advantages | ||
|
|
||
| ## Buildah Disadvantages | ||
|
|
||
| ## Buildah Learning Resources | ||
|
|
||
| ## Buildah Recent Posts | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Tools/Containerization/Buildah.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Tools/Containerization/Buildah.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Tools/Conatinerization/Buildah) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Tools/Conatinerization/Buildah)</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| --- | ||
| aliases: | ||
| - Tools/Docker | ||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| (optional) Logo | ||
|
|
||
| Brief description of the tool. | ||
|
|
||
| ## Docker Official Documentation | ||
|
|
||
| ## Docker Advantages | ||
|
|
||
| ## Docker Disadvantages | ||
|
|
||
| ## Docker Learning Resources | ||
|
|
||
| ## Docker Recent Posts | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Tools/Containerization/Docker.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Tools/Containerization/Docker.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Tools/Conatinerization/Docker) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Tools/Conatinerization/Docker)</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| --- | ||
| aliases: | ||
| - Tools/Kubernetes | ||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| (optional) Logo | ||
|
|
||
| Brief description of the tool. | ||
|
|
||
| ## Kubernetes Official Documentation | ||
|
|
||
| ## Kubernetes Advantages | ||
|
|
||
| ## Kubernetes Disadvantages | ||
|
|
||
| ## Kubernetes Learning Resources | ||
|
|
||
| ## Kubernetes Recent Posts | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Tools/Containerization/Kubernetes.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Tools/Containerization/Kubernetes.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Tools/Conatinerization/Kubernetes) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Tools/Conatinerization/Kubernetes)</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| --- | ||
| aliases: | ||
| - Tools/Podman | ||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| (optional) Logo | ||
|
|
||
| Brief description of the tool. | ||
|
|
||
| ## Podman Official Documentation | ||
|
|
||
| ## Podman Advantages | ||
|
|
||
| ## Podman Disadvantages | ||
|
|
||
| ## Podman Learning Resources | ||
|
|
||
| ## Podman Recent Posts | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Tools/Containerization/Podman.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Tools/Containerization/Podman.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Tools/Conatinerization/Podman) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Tools/Conatinerization/Podman)</span> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| --- | ||
| aliases: | ||
| - Tools/{{title}} | ||
JPHaus marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| tags: | ||
| - seedling | ||
| publish: false | ||
| --- | ||
|
|
||
| (optional) Logo | ||
|
|
||
| Brief description of the tool. | ||
|
|
||
| ## Skopeo Official Documentation | ||
|
|
||
| ## Skopeo Advantages | ||
|
|
||
| ## Skopeo Disadvantages | ||
|
|
||
| ## Skopeo Learning Resources | ||
|
|
||
| ## Skopeo Recent Posts | ||
|
|
||
| %% wiki footer: Please don't edit anything below this line %% | ||
|
|
||
| ## This note in GitHub | ||
|
|
||
| <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Tools/Containerization/Skopeo.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Tools/Containerization/Skopeo.md "git-hub-copy-note")</span> | ||
|
|
||
| <span class="git-footer">Was this page helpful? | ||
| [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Tools/Conatinerization/Skopeo) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Tools/Conatinerization/Skopeo)</span> | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.