Chris Yang

Senior DevOps Engineer

  Taichung City, Taiwan

Email: [email protected]
Cell Phone: +886 982762273

Backend developer and tech lead with 10 years experience. DevOps engineer with 2 years experience.  AWS Cloud with 5 years experience.

I like to use Terraform or AWS CDK for building infrastructure and service . Terraform or AWS CDK implements IaC and brings many advantages. 

I engage in Datadog to Prometheus and Grafana project in current company. This project let me learn a lot of metrics stuff to monitor systems for stability

OSS Contribution

AWS WAF Solution
https://constructs.dev/packages/@ikala-cloud/aws-waf-solution/

cloudcomponents/cdk-constructs
https://github.com/cloudcomponents/cdk-constructs/pull/114

AWS CDK issue
https://github.com/aws/aws-cdk/issues/17382

Side Project

Create badge and notification for CodePipeline
https://constructs.dev/packages/cdk-codepipeline-badge-notification

Use CDK Pipelines to implement CI/CD for CDK Application.
https://github.com/kimisme9386/cdk-pipelines-realworld-example


Blog

https://9incloud.com

Slide for discussion as Automating safe, hands-off deployments
https://hackmd.io/@RjEwR3UfSmauPQ4WlvqRGg/HyCmCiMEF#/

In my career I have taken some roles, such as Tech Lead、Project Manager、Sr Backend Engineer、DevOps Staff Engineer. I have many experience of programming. I write unit tests to improve code quality and use the SOLID principle of OOP to decouple dependencies.
In the past two years, I have focused on DevOps tools for automatic work flow, like CI/CD and IaC tools like AWS CDK and Terraform. I have also focused on designing cloud architecture which corresponds to best practice. 
I continuously keep moving forward to learn CNCF stuff, such as  kubernetes, helm, istio, and so on. I hope I can make contributions in these awesome projects in the future. 


         https://9incloud.com

Skills

Programming language


  • Python
  • TypeScript
  • PHP

Virtualization


  • Docker
  • Docker Compose
  • Kubernetes

AWS


  • Developer Tools
  • Compute Services
  • Containers (ECS、EKS)
  • Database (DynamoDB、MySQL)
  • Security (WFA
  • IAM (SSO)
  • Lambda
  • SQS、SNS、EventBridge

DevOps Tools


  • Ansible
  • GitHub Action
  • CDK Pipelines
  • AWS CodeDeploy
  • Serverless framework
  • AWS CodePipeline
  • CodeBuild
  • Travis CI

IaC Tools


  • AWS CDK
  • CloudFormation
  • Terraform

Dev on Cloud


  • Gitpod
  • Github Codespace
  • Experience

Senior DevOps EngineerPresales 

Vyond.  •  十一月 2022 -

- Use Terraform to manage AWS Infra
- Improve a couple of defects for CD workflow
- Engage in Datadog to Prometheus and Grafana migration project
 - Use node exporter for EC2 and EKS infra
 - Build HA prometheus proxy architecture for Amazon Managed Service for Prometheus
 - Add code of promehteus client in the codebase and verify correct metrics 
 - Build Grafana dashboard like Datadog dashboard 
- Use lambda for abusing report

Presales Technical Consultant

iKala interactive Media Inc.  •  三月 2022 - 五月 2022

- Act as keynote speaker on seminar.
- Write proposal for customers to apply for AWS Partner Opportunity Acceleration (POA) funding.
- Prepare for a briefing about a tech solution every two weeks.

DevOps Staff Engineer

Wondercise Technology Corp.  •  四月 2021 - 三月 2022

- Check existing AWS architecture and improve the architecture according to AWS best practice. It includes the following:
- Use AWS Organization and SSO to separate SDLC and production environment from the single AWS account.
- Find out the problems of NAT Gateway Configuration and solve them base on saving cost principle.
- Purchase reserved instance and saving plan to reduce the cost of EC2 and RDS.

- Introduce AWS WAF Solution to protect API Server.
- Leverage CDK Pipelines and GitHub Actions to build CI/CD mechanism for improving and increasing deployment frequency, such as ECS API、Lambda、CloudFront and S3 (static website). Accelerating product iteration is eventual purpose.

- Introduce IaC Tools like AWS CDK to avoid manipulating manually on AWS Management Console.

- Trade-off current situation from backend team and design CI/CD mechanism to fit it.

Senior Backend Developer

104 Corporation  •  八月 2017 - 四月 2021

- Undertake building of AWS and IDC Infra because a key co-worker transfers to another department. And use AWS CDK to build CI/CD pipeline.

- Engage and develop a project of resume clinic that it needs many new features during June to Sep every year. We need to coordinate schedules with project planners constantly and filter the most important feature for users. In the meantime, the quality code needs to be taken care of as well. it's significant to trade-off time and code quality.

- After publishing a new major release (Breaking Change) for the project of resume clinic, it leads to many issues online. We find out the root cause and fix it and try to explain to the project planner as simple as possible.

- Refactor code and adjust SQL and it cut response time from 8s to 3s for the main page of the project of resume clinic. It reduces response time by 100%.

- Replace container of slim3 framework with container of Laravel which has auto injection feature of type hint. It makes development more efficient.
API SPEC use openapi 3.0 of swagger to implement.

Project Manager / Software Development Engineer

E-LEAD Electroinic Co., Ltd.  •  七月 2015 - 七月 2017

- Resolve the problem of server API compatible. Because android and IOS app sometimes can't enforce user to upgrade app version. It depends on hardware level.

- Generate mock API and data in the early period of project and offer it for App team to invoke mock API.
Build OAuth2 Server to authorize token for App, Web, and Server.

- Manage AWS services, like EC2 Server, RDS, Redis, S3, CloudWatch etc...

- Use phpunit, mockery, faker tools for unit test and use Jenkins CI to automate development flow of unit test.

- Use Laravel framework, Zend framework and Doctrine ORM to develop.

- Use Sentry to collect application logs for observability.

- Adjust Nginx and php-fpm.

- Use Git for version control.

- Use Redmine of issue system.

PHP Team Leader

Max Multimedia Culture Co., Ltd  •  五月 2011 - 六月 2015

- lead a team of 6 members.

- Develop an editing system for printing. The editing system used by many dealer which have demand for custom webpage. Use MVC model to solve custom webpage problem.

- Use Alibaba Cloud for China and migrate editing system from AWS Cloud to Alibaba Cloud.
Introduce SVN for version control.

- Adjust and manage Apache Server, like rewrite, virtualhost, alias setting, etc...

- Build and adjust MySQL Sever and use horizontal partitioning to split huge data for performance.

- Plan and handle project schedule. Split big item into small task for assigning to co-workers.

- Use git server hook to automate deployment.

- Use mantis for bug tracking.

- Introduce Bootstrap framework to resolve display problem against different device.

Web Developer

ASIAWORLD Digital Technology Co., Ltd   •  三月 2010 - 四月 2011

- Use J2EE solution to develop Geographic Information System.
- Use Lucene for fulltext index.
- Use EA to build UML diagram.

Web Developer

Box Solutions inc  •  十二月 2007 - 十二月 2009

- Develop ERP system which includes inventory, accounting, purchasing, etc...

- Use PHP, DHTML, CSS, Ajax, MySQL and Store Procedure to develop business logic.

- Use Ajax to speed up loading page for user experience optimization.

Education


National Taichung University of Science and Technology

Information Management

2004 - 2008