juancad169
Senior Dev Ops Engineer
COVER LETTER
By Juan C Domínguez
I am an Information Systems Engineer with a strong track record of working in large-scale organizations across the United States. My experience spans tax and insurance systems, alongside a robust commitment to fostering a thriving CI/CD culture. I am well-versed in utilizing cloud providers such as Azure,GCP, GitLab and Digital Ocean,. Additionally, I work with Atlassian, Gitlab Tools, GitHub Actions. My expertise extends to both Linux and Windows environments.
In my daily work, I directly engage with clients, highlighting my adaptability and a proactive approach to problem-solving. Collaborating within a team comes naturally to me, and I always adjust according to the situation. My communication style is results-oriented, making me an asset in any professional setting.
What is an accomplishment that I’m particularly proud of?
1)
Migration from a Monolith to a Microservices architecture.
Plan your migration strategy, considering factors such as which components to split into microservices, communication patterns, and data storage.
•
Modularization:
Identify cohesive pieces of the monolith that can be separated into individual microservices. This could be based on business domains or functional areas, ensuring consistent packaging and deployment.
•
Data management:
Decide how to manage the data. Microservices can have their own databases or share databases ensuring proper isolation, including data synchronization, eventual consistency patterns. Implement data migration or synchronization strategies to handle changes in data structures.
•
Applied Domain-Driven Design (DDD):
Identify and define cohesive bounded contexts for independent microservice extraction. Collaborated closely with development teams to facilitate the decomposition and implementation of microservices.
•
Microservice Arquitecture:
o
Creation of standardized Docker image of each service.
o
Set up individual deployment environments for each microservice, using Docker and then leveraged Docker Compose to define and manage multi-container applications for local development, testing, and deployment environments.
o
Gained practical experience with container orchestration concepts through initial exploration of Docker Swarm, identifying challenges and contributing to the team's understanding of distributed systems.
o
Established and maintained individual deployment environments for microservices, ensuring isolation and reducing deployment risks.
o
Contributed to the development and implementation of CI/CD pipelines for automated building, testing, and deployment of microservices using Docker Compose.
o
Collaborated closely with development teams to facilitate the decomposition and implementation of microservices.
o
Gained practical experience with container orchestration concepts through initial exploration of Docker Swarm, identifying challenges and contributing to the team's understanding of distributed systems.
Stop a part of Monolith to 28 services next to the team of developers.
CORE servicer has moved to a microservice architecture.
The work lasted almost a year month.
2)
Migration from the old bare metal web server to the new bare metal server, migrating the entire website, from the files to the infrastructure.
Bare metal server – Ubuntu.
List of Tasks:
•Preparation work
•change the branching pattern
•review AWS domain names in nginx/deploy
•check ngnix commons redirects
•upgrade infra into new life
•"address jenkins warnings
•update Jenkins
•List+update departments"
•Consult other services
•check email smtp
•check ssh access vftpd
•consult static blogs/sites
•landing pages
•“FAKE" test with local DNS poisoning
•Administration site
•start maintenance
•edit cron in new live user manager
•run sync-files.sh: script to sync all files for test, live, and administration.
•run fetch-db-backup-from-old-dsk.sh
•run update-live-with-prod-db.sh
•start backup
•change DNS
3)
Azure Tenant and Access Control Management
Takeover of an Azure project from a client company, which involved assuming control of their Azure Active Directory (Azure AD) tenant.
Managed Role-Based Access Control (RBAC) to secure and govern Azure resources.
This included:
Removing and disabling existing user accounts to mitigate security risks.
Creating and managing Azure AD users and groups to align with our organizational structure.
Assigning appropriate RBAC roles (Global Administrator, Owner, Contributor, Reader) based on the principle of least privilege.
Implemented a group-based access strategy, notably creating a 'DevOpsTeam' group and granting it 'Contributor' rights at the subscription level to enable efficient resource management.
Oversaw the transition as the initial Global Administrator, ensuring a smooth handover and establishing secure access protocols."
4)
On-Premises DB Infrastructure with SQL Server and Db’s to Office 365 and Azure SQL Database
Working with Backend Dev migrating a On-Prem Infrastrcuture with 8 SQL Databases, to Office 365 to sync with Azure DB’s.
This project presented several challenges, requiring a multi-phased approach:
Modernization of the source database: The project necessitated upgrading the client's legacy Microsoft Access 95 database to a supported version of Microsoft 365. This involved a series of file format conversions (.mdb to .accdb) across multiple Access versions (97, 2000, 2003, 2007, and Microsoft 365), trying to implement the oficial docuemntation from Microsoft that was not reliable in many aspects ( https://learn.microsoft.com/en-us/azure/azure-sql/migration-guides/database/access-to-sql-database-guide?view=azuresql ).
95 to 97
97 to 98
98 to 2003
2003 to 2007
2007 to Microsoft 365
Formatting all the result.
Creation of databases.
Resolve issues with Azure Data Studio and the plugin - SQL Server Profiler
Usage of:
Microsoft ODBC 17 Driver for SQL Server.
Microsoft OLE DB 18 Driver for SQL Server
Comparing Access SQL with SQL Server TSQL.
Synchronization: Implemented synchronization between the on-premises SQL Server and Azure SQL Database.
Optimization and Compatibility:
Collaborated closely with the Database Administrator to analyze and resolve compatibility issues.
Utilized Azure Data Studio and SQL Profiler to identify and address problematic stored procedures, many of which required modification to function correctly within the Azure SQL Database environment.
Successfully navigated discrepancies between the on-premises and Azure SQL Server environments, overcoming limitations documented in official Microsoft documentation."
Experience: 7 years
Yearly salary: $82,000
Hourly rate: $40
Nationality: 🇦🇷 Argentina
Residency: 🇦🇷 Argentina