Nicholas J. DeClario
Summary
As my career naturally shifts from development to systems administration to DevOps my adeptness for learning new technologies, working across teams and self-motivation have been greatly valued.
Skills
- OS Expertise: Linux (Debian/Ubuntu, CentOS, RHEL, SLES), FreeBSD, Solaris
- Virtualization and Cloud: AWS, Vagrant
- Coding Languages: Python, Bash, Ruby, Groovy, Perl, C, C++
- Development Tools: GIT, CVS, SVN, RPM, FreeBSD Ports
- Deployment Technologies: Ansible, Chef, Jenkins, Packer, CloudFormation, PXE, Cobbler
- Storage Technologies: AWS S3, RAID, LVM, NFS, SMB/CIFS
|
|
Professional Experience
Lead on several projects to understand customer environments, culture, and infrastructure and make recommendations for areas of improvement.
- Work closely with development teams to maintain and continue development on build and deployment pipelines based on a custom Ruby DSL, Chef, and InSpec technologies.
- Manage and develop automated Jenkins deployments with Groovy DSL and Jenkinsfile job seeding.
- Implementing AWS Config as a service for security monitoring.
- Utilized Ansible and Chef to create an EC2-based Jenkins pipeline deployment with Jenkins Workers.
- Worked with a small team to create their next generation AWS infrastructure. This involved migrating to a microservices based model utilizing ECS, Docker, Registrator and Consul.
- Architected AWS-based cloud infrastructure and developed Python/Troposphere scripts for fully automated deployment via CloudFormation and Ansible.
- Created custom ECS Docker environments that were designed to allow containers to be managed and deployed from a custom “manifest” utilizing custom Python/Boto scripts and Ansible deployments. A custom solution was designed to manage configurable scaling of spot cluster environments to reduce costs.
- Building AWS infrastructure with:
- AWSInfrastructure Scripting (CloudFormation)
- AWSCore Services (S3, IAM, VPC, EC2, Auto-Scaling Groups, ELB, CloudWatch, Parameter Store, Systems Manager, KMS)
- AWSCode* Services (CodePipeline, CodeBuild, CodeDeploy)
- AWSServerless Services (Lambda, API Gateway, SAM)
- AWSSecurity Services (AWS Config, Guarduty)
- AWSService Catalog
- AWSContainer Services (AWS ECS, EKS, ECR)
Lead DevOps engineer responsible for the infrastructure to support and build the IQTell.com application.
- Driving the effort to completely automate and institute best practices from an operations perspective.
- Building tools to enable developers to work efficiently in psuedo-production environments.
- Deploy Ansible and Jenkins to completely provision and manage AWS EC2 instances, volumes, DNS, and S3.
- Working with developers to streamline their build and release processes.
Senior member of a small Linux DevOps team, primarily responsible for deployment, maintenance, automation, backup procurement, scalability planning and management of a cluster of ~950 CentOS servers.
- Implemented Chef in the environment, after evaluating against Puppet, successfully replacing a collection of Bash/Perl/PHP automation scripts.
- Wrote and managed custom RPMs while working on implementing a consistent build environment with Mock.
- Managed deployment of systems with Cobbler and created and maintained the in-house yum repositories for CentOS.
- Wrote an arrangement of Python scripts for managing our LDAP database.
Member of a newly formed team designed to maintain risk analysis trade applications used by developers and trade desks.
- Designed and implemented robust monitoring systems and tools which allowed pro-active monitoring and alerts increasing savings by reducing the dependency on a 3rd party vendor's resources.
- Reduced false positive system alerts by over 50% and increased system stability by reviewing and identifying potential problems within the code and infrastructure allowing a decrease in 3rd party resources resulting in large monetary savings.
- Worked with development teams to decommission and migrate old systems and hardware resulting in over 2 million dollars in savings and freeing up additional resources.
- Responsible for managing and coordinating bringing on additional applications with development and trade desks.
Key team member with two other engineers to build and release the two primary OS-based products. Build environments
included FreeBSD and Linux (RHEL) systems with heavy custom scripting. Additional responsibilities included creating
packages (RPM and FreeBSD Ports) and on-going build environment development (OOPerl/Bash).
- Personally, designed, built and brought to production a cross-platform automated package management tool similar to Debian's 'apt' for both Linux and FreeBSD platformed products.
- The system was a custom package-based model with full dependency support.
- Secure methods and protocols were utilized to meet the needs of many high profile clients.
- This system was cross-platform on the same trunk between FreeBSD and Linux.
- Ease of use and productivity for the build environment greatly increased by changing build routines and scripts. This new system allowed easier monitoring, building and logging for builds as well as allowing 3rd parties within the company to keep updated with build statuses.
Member of a small team of Linux administrators and developers who build and maintain a grid computing farm of over 30,000 x86 based 1U tier 2 client servers and over 1,000 infrastructure x86 and Sparc-based servers. This farm is spread across 10 co-location sites located in different regions of northern America.
- Reduced day-to-day management and administration responsibilities for
the grid compute farm by improving existing methods, standardizing
routines, increasing automation and re-writing existing scripts.
- Streamlined the troubleshooting process during OS installation within
the grid computer farm. This was accomplished by designing and
writing a Perl client/server monitoring system which consolidated all
installation related data for easier and more efficient review.
- Substantially improved environmental health of grid compute farm by
incorporating environmental monitoring systems at co-location sites.
- Significantly increased remote infrastructure deployment of Sun
Solaris systems. Unified and automated existing methods by utilizing
Perl and Expect scripts designed and written to confirm proper network
configuration and physical wire connections for Sun SunFire systems
and attached Hitachi AMS500 disk arrays. The prior method included a
manual checkout of each 40+ servers per co-location site.
- Authored manuals for co-location staff; these were used for hardware
racking, re-racking and complex wiring of infrastructure systems.
Lead developer and key member for a small team of developers assembled to build the next generation Linux based system for NYSE trade floor embedded devices.
- Utilized Perl and BASH to create an object oriented environment for
booting and configuring the systems. Each system had a custom
configuration that was pulled down from network TFTP servers at each
boot time with proper fail-over techniques to assure a working device.
- Designed and implemented an XML-based scheme for handling specific
hardware configurations.
- Wrote kernel modifications to properly manage core dumps and handle
custom input devices.
- DHCP and TFTP were used to design a PXE network bootable environment.
This environment was used for building these systems as well as for
diskless systems.
- Personally created an automated OS upgrade system. This handled
LVM partitioning, networking, GRUB configuration, as well as
maintaining functionality across all hardware profiles and allowing
OS rollbacks.
- Developed a diskless remote NFS-based version of the NYSE floor device
and required servers to handle configuration, management and version
control of 3000+ floor device clients.
- Administered several training sessions when major enhancements were
introduced, for NYSE trade floor technicians.
- Utilizing CVS, Perl and BASH scripting a series of build scripts and
a build environment for handling RPM package building, release builds
and release management was implemented.
- Designed project plans and documentation for ongoing development.
- Used C++ with QT to build custom configuration interfaces.
Responsible as a lead developer, and systems engineer of a small team for providing the technical expertise necessary to build a secure Linux based open source platform.
- Primary developer and project manager for several major projects including:
- the operating system’s installer based on the Newt libraries written fully in C which included technology for automated partitioning, hardware auto-detection and software and hardware RAID support.
- an integrated intrusion detection and prevention system based on Snort, Perl, Perl::DBI, MySQL and barnyard that logged incoming attacks, created and archived graphical user reports, real-time attack statistics and custom prevention rule sets.
- an integrated shopping cart system based primarily on osCommerce.
- Partnered with development teams to research and develop a number of products including
- an integrated mail suite based on the postfix mail server
- an integrated proxy system based on squid and LDAP
- a PHP based management system for cable modems
- Wrote, designed and published all documentation for the operating system and all add on suites using LATEX.
- Worked closely with customers to help develop and maintain custom hardware and software configurations.
- Maintained relationships with lead technical employees of large clients.
- Took on a managerial role, responsible for project management, and managed up to two other employees and their training.
- Built numerous test networks with VMWare systems to simulate live environments for testing system security.
Certifications
Education