<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: PanupongDeve</title>
    <description>The latest articles on DEV Community by PanupongDeve (@panupongdeve).</description>
    <link>https://dev.to/panupongdeve</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F312467%2Fd595587e-6946-4cdb-9c06-ccc98ec693c5.jpg</url>
      <title>DEV Community: PanupongDeve</title>
      <link>https://dev.to/panupongdeve</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/panupongdeve"/>
    <language>en</language>
    <item>
      <title>Create Pipeline build and push docker to Docker Registry with Github actions</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Fri, 29 Nov 2024 10:17:43 +0000</pubDate>
      <link>https://dev.to/panupongdeve/create-pipeline-build-and-push-docker-to-docker-registry-with-github-actions-3960</link>
      <guid>https://dev.to/panupongdeve/create-pipeline-build-and-push-docker-to-docker-registry-with-github-actions-3960</guid>
      <description>&lt;p&gt;Hi! everyone, Now I learning github actions and I would like to know how use docker for build source code by github action. &lt;/p&gt;

&lt;p&gt;and I very love about feature actions. someone can create actions and deploy to action marketplace and then anyone can download and use them pipelines that is make productivity when you have create pipeline tasks&lt;/p&gt;

&lt;p&gt;I write file workflow yml&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Build and Push Docker to Dockerhub

on:
    # Allows you to run this workflow manually from Actions tab
    workflow_dispatch:
    # workflow_run:
    #   workflows: ["Build Cache and Push Docker to Dockerhub"]
    #   types:
    #     - completed
    push:
      branches:
        - main

permissions:
  contents: 'read'
  packages: 'write'

jobs:
  build:
    runs-on: ubuntu-latest
    environment:
            name: main
    steps:
        - uses: actions/checkout@v4

        - name: Set up Docker Buildx
          uses: docker/setup-buildx-action@v3

        - name: Log in to GitHub container registry
          uses: docker/login-action@v3
          with:
            # registry: ghcr.io
            username: ${{ secrets.DOCKER_USERNAME }}
            password: ${{ secrets.DOCKER_PAT }}

        - name: Set SHA SHORT
          id: set-sha-short
          run: echo "sha_short=$(git rev-parse --short HEAD)" &amp;gt;&amp;gt; $GITHUB_OUTPUT

        - name: Build and push container image to registry
          uses: docker/build-push-action@v6
          with:
            push: true
            cache-from: type=registry,ref=${{ secrets.DOCKER_REPO_NAME }}:cache
            cache-to: type=registry,ref=${{ secrets.DOCKER_REPO_NAME }}:cache, mode=max
            tags: ${{ secrets.DOCKER_REPO_NAME }}:${{ steps.set-sha-short.outputs.sha_short }}
            file: ./Dockerfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and Thank you about feature buildx of docker. They help me about cache you don't need to create Cache Dockerfile for create cache. They have feature cache-to, it's help create image cache after pipeline docker builded&lt;/p&gt;

</description>
      <category>docker</category>
      <category>githubactions</category>
    </item>
    <item>
      <title>[Plobem] nginx: worker_connections are not enough</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Thu, 28 Nov 2024 07:57:01 +0000</pubDate>
      <link>https://dev.to/panupongdeve/plobem-nginx-workerconnections-are-not-enough-25ae</link>
      <guid>https://dev.to/panupongdeve/plobem-nginx-workerconnections-are-not-enough-25ae</guid>
      <description>&lt;p&gt;When I work in company I see some error in nginx and show error in this picure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq32ia9rd1nv4gi2qmyah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq32ia9rd1nv4gi2qmyah.png" alt="Image description" width="767" height="455"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;and the my frontend can not load image in browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to solve it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I increase worker_connection from 1024 to 4096 and try restart nginx&lt;/p&gt;

&lt;p&gt;&lt;code&gt;events {&lt;br&gt;
     worker_connections  4096;  &lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

</description>
      <category>nginx</category>
    </item>
    <item>
      <title>Fix gitlab runner error with docker</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Wed, 20 Nov 2024 22:31:35 +0000</pubDate>
      <link>https://dev.to/panupongdeve/fix-gitlab-runner-error-with-docker-10li</link>
      <guid>https://dev.to/panupongdeve/fix-gitlab-runner-error-with-docker-10li</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6pjjg7590xseyjhwfb6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6pjjg7590xseyjhwfb6.png" alt="Image description" width="800" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;in /etc/gitlab-runner/config.toml  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;privileged = true&lt;br&gt;
volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock"]&lt;/code&gt;  &lt;/p&gt;

&lt;p&gt;gitlab-runner restart&lt;/p&gt;

&lt;p&gt;ref: &lt;a href="https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4794" rel="noopener noreferrer"&gt;https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4794&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>gitlab</category>
    </item>
    <item>
      <title>How to clean disk from container running</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Tue, 19 Nov 2024 20:42:07 +0000</pubDate>
      <link>https://dev.to/panupongdeve/how-to-clean-disk-from-container-running-1of5</link>
      <guid>https://dev.to/panupongdeve/how-to-clean-disk-from-container-running-1of5</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;remove container logs&lt;br&gt;
sudo sh -c "truncate -s 0 /var/lib/docker/containers/*&lt;em&gt;/&lt;/em&gt;-json.log"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;remove containers component unused&lt;br&gt;
docker system prune -a&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>docker</category>
      <category>containers</category>
    </item>
    <item>
      <title>How to learn anything for your improve skills?</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Tue, 05 Jul 2022 08:11:47 +0000</pubDate>
      <link>https://dev.to/panupongdeve/how-to-learn-anything-for-your-improve-skill-3ifm</link>
      <guid>https://dev.to/panupongdeve/how-to-learn-anything-for-your-improve-skill-3ifm</guid>
      <description>&lt;p&gt;Hi! today I think about learning that how to learn for anything, for better software engineer, for my career. I think about my learning skill is a better performance for use it. &lt;/p&gt;

&lt;p&gt;Now, I have 2 ideas for improve my learning skills and improve productivity about thing in my learning. &lt;/p&gt;

&lt;p&gt;First Idea from I watched video &lt;a href="https://www.youtube.com/watch?v=sBgKt1pouXg" rel="noopener noreferrer"&gt;Let’s build a personal assistant and level up your skills!&lt;/a&gt; talk about his peronal project and how to improve technical skill for this project. &lt;/p&gt;

&lt;p&gt;Second idea about working style of software engineer role from my friend. The Company of him work, They make MVP (Minimal Value Product) projects that tech me about when you learn something you don't need to completed your learning, you learn for something minimal enough for you can solve problem and improve your knowledge after new problem or feedback is coming.&lt;/p&gt;

&lt;p&gt;the two ideas help me to understanding and improving about my learning skills.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In my thinking, Knowledge is something you known for to solve problem, when you learn something asking self that current learning can solve what interesting your problem.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We have two phase about learning. First, Begining phase is you don't known anything about you are interesting. Two, Knowlege base phase is you have enough knowleage for solving problem you find.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In begining phase for you are interesting, you should use 70% of learning time focus about input information such as you are going something new. You should learn tutorial, fundamental, or basic knownlege for solving your problem of you are interesting and 30% of learning time about output information, if you learning tools, you should creating projects and using information you known to solving problem in this project. If you are learning for exam such as IT certification, you should doing mock exam or quiz about your learning. other, You should have practical something you learn.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In Knowlege base phase for you are interesting, you should use 70% of learning time focus output information. You would like to improve performance for using knowlege to solve problem. You should keep doing on your projects or keep doing exam and something using your knowlege. 30% of learning time about input information, learn advance topic for you learn or something new knownlege and have relation between you have known and unknow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can't learn everything all the world. You should focus what you love, what you wwould like to be and what skills people would like to someone solving and they can paying when problem is solving.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For now, I'm interesting Fullstack Javascript Developer and English Skill, I learn some course and tutorial. I'am going to move to Knowleage base phase, That Every Day I'm planing for coding my created projects and have talking and writing English Time and focus result and recive some feedback for my improving  skills.&lt;/p&gt;

&lt;p&gt;I hope this content to make benefits to you. You can comment and feedback for my improving skills or share how to your learn anyting in this comment, I would like to read for develop my  ideas to learning skills, Thank you for your reading. &lt;/p&gt;

</description>
      <category>career</category>
      <category>learning</category>
      <category>beginners</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>Programming Rule Vs Machine Learning</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Mon, 04 Jul 2022 09:16:28 +0000</pubDate>
      <link>https://dev.to/panupongdeve/programming-rule-vs-machine-learning-a7j</link>
      <guid>https://dev.to/panupongdeve/programming-rule-vs-machine-learning-a7j</guid>
      <description>&lt;p&gt;Hi everyone, Today I'am seeing the people to activity such as post, comment, and upload something in social media, shopping with digital platform, control smart electrical appliance with application and other. This is reason to make a lot of data in every day. &lt;/p&gt;

&lt;p&gt;A lot of data is incomming to make new problems such as Marketer cann't analyzing a lot of data is comming every day.&lt;br&gt;
I'm web developer. I like to solve to problems. I would like to learn that how to solve problems in the news problem about a lot of data.&lt;/p&gt;

&lt;p&gt;Now, Machine learning is one of solutions to solve problem about how to analyzing a big data. I'm starting to learn machine learning and start to learn with &lt;a href="https://www.tensorflow.org/resources/learn-ml/basics-of-tensorflow-for-js-development" rel="noopener noreferrer"&gt;tensorflowjs&lt;/a&gt; becase I'm freindly to use javascript to make some services and applicaiton and I'm starting to read book &lt;a href="https://www.amazon.com/Deep-Learning-JavaScript-networks-TensorFlow-js/dp/1617296171" rel="noopener noreferrer"&gt;Deep learning with Javascript&lt;/a&gt;. The book has overview the concept of programing rule and machine learning. This is good for understand and start learning machine learning&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fme1uwdivj4it12qywkay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fme1uwdivj4it12qywkay.png" alt="Image description" width="558" height="231"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;em&gt;Programing rule&lt;/em&gt;&lt;/u&gt; is something you make application or some function. you write to rule when data input and return to something output when you write by rule.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;em&gt;Machine Learning&lt;/em&gt;&lt;/u&gt; is someting you have dataset and answer you putting to algorithm of machine to learn data and output to rule of data that cover the awnser when new data put the rule. The output of rule that we call Model.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnm7vzhp9qhr8fse9ft8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnm7vzhp9qhr8fse9ft8.png" alt="Image description" width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The picture explain when you would like to use machine learning to solve problem in your application. we have 2 phase&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;em&gt;Training Phase&lt;/em&gt;&lt;/u&gt;, First, You create machine learning model and need to have dataset and answer to trainning your model and when you trained model you have countinue to inference phase for using trained model&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;em&gt;Inference Phase&lt;/em&gt;&lt;/u&gt;, Final, You apply trained model from model in Training Phase to your application or function in your code. when new data is comming to application or function the trainend model is processing your new data and output to your answer follow by tranined model that you make.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>machinelearning</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Monolithic vs Microservice, What do you choose?</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Sat, 23 Jan 2021 05:59:03 +0000</pubDate>
      <link>https://dev.to/panupongdeve/monolithic-vs-microservice-what-do-you-choose-5bkf</link>
      <guid>https://dev.to/panupongdeve/monolithic-vs-microservice-what-do-you-choose-5bkf</guid>
      <description>&lt;p&gt;I have already work software devlopment and my repository is Devops engineer. My company have devlopment process is agile, devops cuture and microservice for develop application in company.&lt;/p&gt;

&lt;p&gt;I have a question that what do you choose monolithic or micro service for devlop software application.&lt;/p&gt;

&lt;p&gt;Thank you for The book Microservice patterns&lt;br&gt;
(&lt;a href="https://www.amazon.com/Microservices-Patterns-examples-Chris-Richardson/dp/1617294543" rel="noopener noreferrer"&gt;https://www.amazon.com/Microservices-Patterns-examples-Chris-Richardson/dp/1617294543&lt;/a&gt;) &lt;br&gt;
In the chapter one in the book make good decision for my result and The have many recommendation about implement, testing and deployment for you start develop microservice application.&lt;/p&gt;

&lt;h3&gt;Monolithic Architecture&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwz1t2m7elb6gg6jy8732.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwz1t2m7elb6gg6jy8732.png" alt="Monolithic Architecture" width="532" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;picture from book Microservice pattern(page 3)&lt;/center&gt;
&lt;br&gt;&lt;br&gt;



A monolithic architecture is the traditional unified model for the design of a software program and compose business logic application for the one source code and one service.
(https://whatis.techtarget.com/definition/monolithic-architecture)


&lt;h4&gt;Benefit of Monolithic Architecture&lt;/h4&gt;
- &lt;u&gt;Simple to develop&lt;/u&gt; IDEs and other developer tools are focused on building a single application.
- &lt;u&gt;Easy to make radical changes to the application&lt;/u&gt; You can change the code and the database schema, build, and deploy.
- &lt;u&gt;Straightforward to test&lt;/u&gt; The developers wrote unit test, end-to-end tests that launched the application in one source code.
- &lt;u&gt;Straightforward to deploy&lt;/u&gt; have one source code for build and deploy result in easy to deploy (for small application I love it.)
- &lt;u&gt;Easy to scale&lt;/u&gt; can ran multiple instances of the application behind a load balancer(application sohuld be stateless. about stateless/stateful -&amp;gt; https://www.redhat.com/en/topics/cloud-native-apps/stateful-vs-stateless)

&lt;h4&gt;Drawback of Monolithic Architecture&lt;/h4&gt;
- &lt;u&gt;hard process develop for the big team&lt;/u&gt; imagin you have 100 developers in project. you have 50 or more commit, merging or pull request every day. they make overhaed process for you.
- &lt;u&gt;slow deployment when big source code&lt;/u&gt; very log for build, complie, deploy and testing.
- &lt;u&gt;hard for mange resource&lt;/u&gt; some bussiness logic code use a lot of resource such as generate report feature. you can't separate resource becase all bussiness logic store in same place source code
- &lt;u&gt;effect of compiled code broken&lt;/u&gt; some devloper make some broker code in source code result in all compiled code broken.
- &lt;u&gt;technology stack block&lt;/u&gt; example  you have java application and have new feature. You try implement application with golang for new feature and golang application have performance and manage resource more than java application but you can't adapt to main application becase your main application is compiled with JAVA.

&lt;h3&gt;Productivity in Sofware Architecture&lt;/h3&gt;


![Productivity in Sofware Architecture](https://martinfowler.com/bliki/images/microservice-verdict/productivity.png "Productivity in Sofware Architecture")

(https://martinfowler.com/bliki/MicroservicePremium.html)

In the picture you can see when you implement software with monolithic such as add feature or refactor code when source code is big you have a long time to compile unit test and build source code result in make one ploblem for slow producitvity but you implement software with microserivce same way like. The time conpile and build focus in new feature code or refactor code and not make effect of other service result and about git management you can separate source code and developer teams help you for reduce manage git such as many commit and pull request.

All about of deployment time and proess development result in microservice faster productivity than monolic when your application is growing fallow the picture. 

&lt;h3&gt;Microservice Architecture&lt;/h3&gt;
![Microservice Architecture](https://dev-to-uploads.s3.amazonaws.com/i/gxh6unfnj4ctg5ug5xgq.png)
&lt;center&gt;picture from book Microservice pattern(page 13)&lt;/center&gt;



&lt;p&gt;Microservices is an architectural style that structures an application as a collection of services that are&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highly maintainable and testable&lt;/li&gt;
&lt;li&gt;Loosely coupled&lt;/li&gt;
&lt;li&gt;Independently deployable&lt;/li&gt;
&lt;li&gt;Organized around business capabilities&lt;/li&gt;
&lt;li&gt;Owned by a small team&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(&lt;a href="https://microservices.io/" rel="noopener noreferrer"&gt;https://microservices.io/&lt;/a&gt;)&lt;/p&gt;

&lt;h4&gt;Benefit of Micro Architecture&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;u&gt;it enable the continuous delivery and deployment&lt;/u&gt; enable for CI/CD tools for deployment&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Service are small easily maintained&lt;/u&gt; &lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Service are independency deployable&lt;/u&gt; about deployment you shouldn't recompile all service.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Service are independency scalable&lt;/u&gt; when one service scale all service needn't scale. &lt;/li&gt;
&lt;li&gt;
&lt;u&gt;enable for separate team&lt;/u&gt; you can separate big team to many small team for implement and manage each service. &lt;/li&gt;
&lt;li&gt;
&lt;u&gt;allow easy experimenting and adoption of new technologies&lt;/u&gt; you can separate service and team for implementing new framwork or new programing language.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;increase reliability&lt;/u&gt; when some service is down but other service can still working.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Drawback of Micro Architecture&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;u&gt;finding the right set of services is challenging&lt;/u&gt;&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;increase complex&lt;/u&gt; distributed systems are complex, which makes development, testing, and deployment difficult&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;increase networking traffic complex&lt;/u&gt; deploying features that span multiple services requires careful coordination. &lt;/li&gt;
&lt;li&gt;
&lt;u&gt;adopt the microservice architecture is difficult&lt;/u&gt; micro service help your solution for you have big source code and big team developer but about many process suach as testing process, reliable of build ACID transaction process, deployment process and orther are change from monolithic result in difficult for adopt.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;When you have a small project, demo project and small team monolithic architecture is a good way to use in devlop your software architecture. when your project is growing, a lot of feature is coming or you'll have a big team. Microservice architect is one of good way solution to adopt your software architecture development but when your adaopt you have a new many process develop and maintain your application and The book Microservice patterns (&lt;a href="https://www.amazon.com/Microservices-Patterns-examples-Chris-Richardson/dp/1617294543" rel="noopener noreferrer"&gt;https://www.amazon.com/Microservices-Patterns-examples-Chris-Richardson/dp/1617294543&lt;/a&gt;) is one of good resource for help you develop application with microservice.&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>architecture</category>
      <category>devops</category>
    </item>
    <item>
      <title>[AWS EKS] Setup Kubenetes Dashboard</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Wed, 13 May 2020 22:57:38 +0000</pubDate>
      <link>https://dev.to/panupongdeve/aws-eks-setup-kubenetes-dashboard-4eld</link>
      <guid>https://dev.to/panupongdeve/aws-eks-setup-kubenetes-dashboard-4eld</guid>
      <description>&lt;h3&gt;
  
  
  step 0 - install package in linuux
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;sudo apt install jq curl&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  step 1 - deploy the K8s Metrics Server
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;DOWNLOAD_URL=$(curl --silent "&lt;a href="https://api.github.com/repos/kubernetes-sigs/metrics-server/releases/latest" rel="noopener noreferrer"&gt;https://api.github.com/repos/kubernetes-sigs/metrics-server/releases/latest&lt;/a&gt;" | jq -r .tarball_url)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;DOWNLOAD_VERSION=$(grep -o '[^/v]*$' &amp;lt;&amp;lt;&amp;lt; $DOWNLOAD_URL)&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
curl -Ls $DOWNLOAD_URL -o metrics-server-$DOWNLOAD_VERSION.tar.gz&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
mkdir metrics-server-$DOWNLOAD_VERSION&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
tar -xzf metrics-server-$DOWNLOAD_VERSION.tar.gz --directory metrics-server-$DOWNLOAD_VERSION --strip-components 1&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
kubectl apply -f metrics-server-$DOWNLOAD_VERSION/deploy/1.8+/&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  step 2 - deploy the K8s dashboard
&lt;/h3&gt;

&lt;p&gt;latest release of v2.xxx here: &lt;a href="https://github.com/kubernetes/dashboard/releases" rel="noopener noreferrer"&gt;https://github.com/kubernetes/dashboard/releases&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
export DASHBOARD_RELEASE={{ latest releaseversion }}&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
kubectl apply -f &lt;a href="https://raw.githubusercontent.com/kubernetes/dashboard/$DASHBOARD_RELEASE/aio/deploy/recommended.yaml" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/kubernetes/dashboard/$DASHBOARD_RELEASE/aio/deploy/recommended.yaml&lt;/a&gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
kubectl apply -f admin-service-account.yaml&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h3&gt;
  
  
  step 3 - access the dashboard
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret| grep {{ service_account_name }} | awk '{print $1}')&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;copy token&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;open browser&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
&lt;a href="http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#!/login" rel="noopener noreferrer"&gt;http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#!/login&lt;/a&gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>eks</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>[AWS EKS] Setup CloudWatch Metrics</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Wed, 13 May 2020 22:15:54 +0000</pubDate>
      <link>https://dev.to/panupongdeve/aws-eks-setup-cloudwatch-metrics-3ckm</link>
      <guid>https://dev.to/panupongdeve/aws-eks-setup-cloudwatch-metrics-3ckm</guid>
      <description>&lt;p&gt;Liquid syntax error: Unknown tag 'endraw'&lt;/p&gt;
</description>
      <category>aws</category>
      <category>eks</category>
      <category>cloudwatch</category>
      <category>k8s</category>
    </item>
    <item>
      <title>[AWS EKS] Setup CloudWatch-logging</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Wed, 13 May 2020 21:31:31 +0000</pubDate>
      <link>https://dev.to/panupongdeve/aws-eks-setup-cloudwatch-logging-2boh</link>
      <guid>https://dev.to/panupongdeve/aws-eks-setup-cloudwatch-logging-2boh</guid>
      <description>&lt;h3&gt;
  
  
  step1 - setup file cluster.yaml
&lt;/h3&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h3&gt;
  
  
  step2 - enable cloudwatch log with eksctl
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;eksctl utils update-cluster-logging --config-file ((cluster-config.file.yaml)) --approve&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  loggin in aws console
&lt;/h3&gt;

&lt;p&gt;CloudWatch -&amp;gt; log groups -&amp;gt; /aws/eks&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzbxhrrgnmpr2lx3a7ep3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzbxhrrgnmpr2lx3a7ep3.png" alt="Alt Text" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  disable cloudwatch logging
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;eksctl utils update-cluster-logging --name=((EKS-course-cluster-name)) --disable-types all  --approve &lt;/code&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ec2</category>
      <category>cloudwatch</category>
      <category>eks</category>
    </item>
    <item>
      <title>[AWS EKS] set Autoscaler</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Wed, 13 May 2020 02:20:25 +0000</pubDate>
      <link>https://dev.to/panupongdeve/aws-eks-set-autoscaler-2fmg</link>
      <guid>https://dev.to/panupongdeve/aws-eks-set-autoscaler-2fmg</guid>
      <description>&lt;h1&gt;
  
  
  Deploy the autoscaler
&lt;/h1&gt;

&lt;p&gt;step1&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl apply -f &lt;a href="https://raw.githubusercontent.com/kubernetes/autoscaler/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-autodiscover.yaml" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/kubernetes/autoscaler/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-autodiscover.yaml&lt;/a&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;step2&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl -n kube-system annotate deployment.apps/cluster-autoscaler cluster-autoscaler.kubernetes.io/safe-to-evict="false"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;step3&lt;/p&gt;

&lt;p&gt;set your EKS cluster name at the end of property &lt;code&gt;- --node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/&amp;lt;&amp;lt;EKS cluster name&amp;gt;&amp;gt;&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;set the image version at property &lt;code&gt;image: asia.gcr.io/k8s-artifacts-prod/autoscaling/cluster-autoscaler:v1.18.1&lt;/code&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  see logs
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;kubectl -n kube-system logs deployment.apps/cluster-autoscaler&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  IAM-Policy for worker-nodes Auto scaling
&lt;/h3&gt;

&lt;p&gt;IAM -&amp;gt; policies -&amp;gt; Create policy&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;attach policy in role of worker node for auto scaling&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ivutl0hn5r4leir5778.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ivutl0hn5r4leir5778.png" alt="Alt Text" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>eks</category>
      <category>ec2</category>
    </item>
    <item>
      <title>[AWS EKS] Setup Worker Nodes with EC2</title>
      <dc:creator>PanupongDeve</dc:creator>
      <pubDate>Tue, 12 May 2020 21:10:35 +0000</pubDate>
      <link>https://dev.to/panupongdeve/start-eks-ec-30fd</link>
      <guid>https://dev.to/panupongdeve/start-eks-ec-30fd</guid>
      <description>&lt;h3&gt;
  
  
  install eksctl
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  install kubectl
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/" rel="noopener noreferrer"&gt;https://kubernetes.io/docs/tasks/tools/install-kubectl/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;eksctl-cluster-ec2.yaml&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;&lt;code&gt;time eksctl create cluster -f eksctl-cluster-ec2.yaml&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  basic eksctl
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt; eksctl get cluster &lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt; eksctl get nodegroup --cluster my-cluster-ec2 &lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt; eksctl scale nodegroup --cluster=my-cluster-ec2 --nodes=5 --name=ng-1 &lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1fvysalvkjbf7867jlb7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1fvysalvkjbf7867jlb7.png" alt="Alt Text" width="800" height="131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  update nodegroups
&lt;/h3&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;&lt;code&gt; eksctl create nodegroup --config-file=cluster-ec2.yaml --include='ng-mixed' &lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  delete nodegroups
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt; eksctl delete nodegroup --config-file=cluster-ec2.yaml --include='ng-mixed' --approve &lt;/code&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ec2</category>
      <category>eks</category>
    </item>
  </channel>
</rss>
