JAYSON(7) Linux User's Manual JAYSON(7)
Jayson Cena - DevOps, distributed systems engineer-wannabe
jayson [--admin linux|database|java|network|amazon_web_services]
[--language python|java|php|javascript|perl]
[--continuous delivery|deployment]
[--developer] [--leader] [--startups]
I'm a DevOps Engineer with 9 years experience supporting high-traffic Java and PHP applications and developers. I started as a Linux System Administrator and my curiosity to software development made me
Distributed applications and database systems has also been an interest of mine. As a DevOps Engineer and open-source advocate, I've seen a lot of algorithms from papers published more than a decade ago that are being used on NoSQL databases and distributed systems today. From the older Paxos to the newer Raft algorithm, Gossip and Vector Clocks, MapReduce from Google in 2004 up to your huge list of Graph Algorithms. One of my goals in life is to use these algorithms to create an intelligent monitoring system. This system will help systems engineers in predicting which system will fail and in intelligently identifying the root cause of the problem.
Python scripting has also been my main language when I want to make things automated. I've written a handful of scripts that are being used on such as: health-check daemon for a clustered MySQL database, implementing continuous delivery using Fabric module, database automation framework for AWS DynamoDB, policy daemon for Postfix(SMTP) and Squid HTTP proxy. You can also check my Github page for a list of projects that I shared publicly. I also started using Java for any projects that requires performance. Right now I am still in the discovery phase in using Vert.X framework.
I'm also working on a research about concurrent connection problems seen on high-traffic sites. It is basically about how a specific programming language and framework can handle concurrent connections. Right now it is only covering performance metrics on HTTP and websocket implementations on different languages such as Java, NodeJS and Go. The research also includes distributed load-testing using Tsung, tuning the TCP stack of a linux kernel, average memory consumption per each websocket connection, ping-pong latency and the impact of context switches used for every handshake.
--admin linux
Professional experience with configuration, hardening, custom kernel compilations and maintenance of various Linux distributions, including:
* Amazon Linux AMI, Red Hat Enterprise Linux, Fedora, CentOS
* Debian, Ubuntu
Experienced in server provisioning using the tools such as Chef, Puppet and SaltStack. CloudFormation for provisioning network, dynamoDB database and EC2 instances in AWS.
Comfortable working with Docker containers and exploring with distributed container management using Kubernetes and Mesos-Marathon. Experience with OpenVZ container working at WebEnabled - A PaaS provider.
Low-level troubleshooting using various tools not limited to strace, sysstat package which includes mpstat, iostat, sar, pidstat, etc.
Able to setup, manage and customize Linux-based services not limited to
* HAProxy for load-balancing
* Apache, NginX for Web Servers
* Samba, iSCSI, NFSv4 for network storage
* Squid for Caching Proxy including distributed cache peers
* Postfix, Dovecot, SpamAssassin, etc. for a complete mail server stack
Certifications:
*
Red Hat Certified Engineer
*
AWS SysOps Administrator
--admin database
Skilled in MySQL Administration for standalone and distributed environments. Also includes performance troubleshooting such as index hinting, EXPLAIN statement and table partitioning. Authored the following tools for managing Galera-based replication for MySQL (MariaDB Galera Cluster, Percona XtraDB Cluster)
*
mysqlcheck - node health check daemon, used for HAProxy health checking
*
ocf_ra_mysqlgalera - Pacemaker resource agent for managing cluster of MySQL
Professional experience on managing a 5-node Couchbase NoSQL Database and Elasticsearch. If job permits, I would also like to manage a massively-scalable NoSQL databases such as Cassandra and HBase.
--admin java
Skilled in managing and troubleshooting Java applications not limited to JMX monitoring, investigation for memory leaks and blocked threads. Proficient in building and packaging Java applications using Maven.
Experienced in supporting Java applications running/based on Tomcat, DropWizard, Vert.X and Grizzly framework.
--admin network
Deep expertise in the following topics
* HTTP and WebSocket
* SSL/HTTPS and how CA authorities work
* Tuning TCP settings on Linux Kernel to achieve at least 500k concurrent connections
* Load-balancers like F5 Big-IP, HAProxy and things related to scalability
* IPtables and tc(Linux Traffic Control)
* Routing and Switching
--admin amazon_web_services
Expertise on AWS EC2, S3, EBS, Route53, Elastic Map Reduce, DataPipeline, DynamoDB
--developer
wordpress-memcache
PHP wrapper for Wordpress, serves and caches pages directly from Memcached
mysqlcheck
Healthcheck gateway written in Python. It checks the current node is an active member
of MySQL Galera cluster. Exposes mysql health status as an HTTP endpoint so that HAProxy
can do an in-depth health check.
ocf_ra_mysqlgalera
Pacemaker resource agent that links Galera-based Mysql cluster to the Pacemaker Cluster
Manager. Using this resource agent, Pacemaker can actively do health checks and
appropriately remove and/or add node to the cluster.
Currently focused on Python and Bash for scripting and automation but able to work with PHP, Java, JavaScript if needed.
--leader
Comfortable leading groups of technical people in customer-facing environments. Also able to provide individualized mentoring on technical and career development topics.
Familiar with the agile development methodology and how to apply it to an operations environment. Experienced with sprint planning, release planning, and change management coordination.
--startups
Worked on the following startups: (Full details is available on my LinkedIn profile)
* WebEnabled - Linux System Administrator
Worked on cluster automation, scaling Web Servers to multiple nodes including
MySQL Cluster (Galera-based)
* SAM Auction Software - System Engineer for LAMP Cluster
Scaling PHP and MySQL cluster to multiple nodes. Implemented a 3-node Couchbase
Server for distributed session store
* OpenFiler - L2 Support Engineer in Storage Cluster (Open-Source)
Implementation of Active/Passive system on OpenFiler Storage Server
* Versata/Alterpoint - Perl Networking Developer
Heavily used regular expressions for parsing configurations from Cisco IOS, Nexus
and other major network devices.
* Autodesk
- Senior DevOps Engineer
- DevOps Engineer
- Linux Technical Support Specialist
- Section Head for MIS
- Linux Administrator
* E-mail: jayson [dot] cena [at] gmail [dot] com
* Phone: +65.923.334.677
* Github: github.com/jaysoncena
* Twitter: @cenajayson
* LinkedIn: linkedin.com/in/jaysoncena/
* CV Website: jayson.cena.ph
* IPTools.sh: iptools.sh
Jayson Cena 2016-02-05 JAYSON(7)