Finding the Best Configuration in Distributed Architectures through Genetic Algorithms
Architectures based in microservices have emerged as a successful style to develop software. They are particularly suitable to the cloud infrastructures, which provides several benefits, such as flexibility, modularity, resiliency, scalability, independency development and ease of deployment. However, reach the best values in each one of them, imposes several challenges. The most common include: balancing speed and safety, data synchronization, versioning, discovery, debugging, logging, monitoring, testing and fault tolerance. The problems associated with these challenges have been subject to discussions in both formal and informal literature. This talk is focused on the circuit breaker pattern, which describes a good solution to reoccurring problems fault tolerance. Although the idea behind the pattern is easy, its configuration is different for each application case and it could become complex according to the organization requirements. This talk proposes that this configuration can be addressed as an optimization problem and in this sense, a genetic algorithm is developed to define the properties required in its application.
I am Systems Engineer and I have a degree in MSc in Systems Engineering and Computer Science from the Universidad Nacional de Colombia. I am interested in developing web applications using open source technologies and agile methodologies. I enjoy learning new programming languages and software development methodologies. I am interested in investigating new techniques that help to resolve performance and security problems in software engineering using monitoring and experimentation.
Yury Niño Roa
Cloud Infrastructure Engineer at Google