9926214.jpg

Cheng-Ming, Kuo  郭政旻

I love coding because it simplifies many things in life. During my spare time, I always work to improve my coding abilities and hope to contribute to open-source projects.

[email protected]
0953-866-708
Expecting work region: Taipei

Education

Nation Taiwan University of Science and Technology (NTUST),  2014 - 2016

  • M.S. Department of Electronic and Computer Engineering
  • Chung Yuan Christian University (CYCU), 2010 - 2014

  • B.S. Department of Electronic Engineering
  • Skills


    Python

  • Implement algorithm
  • Develop restful APIs
  • Automated script test performance 
  • Web scraping

  • Web

  • Frontend: HTML, CSS, Vue JS
  • Backend: Python Django, Golang Buffalo
  • DB: Django ORM (PostgreSQL), QuestDB

  • DevOps

  • Docker
  • GCP K8S:  Deploy production
  • Drone: CI CD tool
  • Work Experience

    Unnotech (創順科技),  2017.10 - now

    DevOps Engineer, 2018-6 - present

    As a DevOps Engineer, my responsibilities include:
    • Migrating production services from Docker Swarm to GCP Kubernetes.
    • Using Helm to manage our Kubernetes applications.
    • Implementing a Helm template for pgbouncer (a connection pool package) to use with our cloudSQL.
    • Using cloudSQL replica to implement database Read/Write splitting.
    • Monitoring the services with Prometheus, Grafana, and Sentry.
    • Implementing CI/CD with Drone (previously used Jenkins).
    • Developing a geoip plugin for caddy2.
    • Ensuring high availability and auto-recovery when encountering problems.
    Tech stack: GCP, Kubernetes, Docker, Helm, Drone, Nginx

    Backend Engineer, 2017-10 - present

    As a Backend Engineer, my responsibilities include:
    • Planning and implementing the functional architecture of the company's main product.
    • Optimizing ORM SQL and using appropriate caching techniques to mitigate database load and reduce response time.
    • Managing and preventing high-concurrency web robot attacks.
    • Planning and implementing a project to crawl crypto exchange information.
    • Constructing and maintaining RESTful APIs.
    • Communicating with frontend teams through APIs and providing them with necessary support.
    • Developing microservices and communicating with our services.
    • Developing an asynchronous script to test server stability.
    • Using Swagger to create API documentation.

    Tech stack: Python Django, Postgres, Celery, Redis, Asyncio, RabbitMQ

    Personal works,  2017.3 - 2017.7

    Web application produced by Python Django framework.
    • This application is similar to Twitter, allowing users to register, post articles, and engage with content through commenting and liking.
    • This project involves web scraping the YouTube website.
    Deployed in Heroku. (Test account : test, password : test1234)

      https://nickwebapplication.herokuapp.com  

    WAP interview Interm,  2017.5

    I had the opportunity to interview for an internship with Works Application, a company based in Japan. 
    The project topic was to design an ERP system for a large chain bookstore. I implemented the system using Java and presented a demo to their engineering team.



    Master's Dissertation 


        High energy consumption of data centers is an important issue which is widely discussed. Dynamic consolidation of Virtual Machine (VM) can reduce energy consumption by concentrating the workload of active hosts. However, VM migrations would cause some cost and consolidation might bring more resource demands and lead to violate service level agreements (SLA) between cloud computing providers and users.

        We proposed a VM allocation mechanism by using the requirement history of VMs to calculate standard deviations (STD), the mechanism can predict future resource requirements of each VM and reallocate VMs into the server under the QoS requirements. When some servers overload in a datacenter, suitable VMs are selected from these servers and migrated to appropriate servers to meet the requirement of SLA. On the other hand, when some servers underload, all VMs are migrated out from underload server, switched to sleep mode. Compared to the heuristics proposed in previous studies, the proposed method could greatly decrease number of migrations、SLA violations and execution time.