Skip to content

Commit

Permalink
Add new images and files, update tags and descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinlupera committed Jan 15, 2024
1 parent 4c2b980 commit ffbf73d
Show file tree
Hide file tree
Showing 15 changed files with 148 additions and 87 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/public
36 changes: 36 additions & 0 deletions archetypes/achievements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: "Achievements"
date: 2020-09-15T11:30:03+00:00
weight: 1
# aliases: ["/first"]
tags: ["achievements"]
author: "Kevin L"
# showToc: true
# TocOpen: false
# draft: false
# hidemeta: false
# comments: false
# description: "Desc Text."
# canonicalURL: "https://canonical.url/to/page"
# disableHLJS: true # to disable highlightjs
# disableShare: false
# disableHLJS: false
# hideSummary: false
# searchHidden: false
# ShowReadingTime: true
# ShowBreadCrumbs: true
# ShowPostNavLinks: true
# ShowWordCount: true
# ShowRssButtonInSectionTermList: true
# UseHugoToc: true
# cover:
# image: "<image path/url>" # image path/url
# alt: "<alt text>" # alt text
# caption: "<text>" # display caption under cover
# relative: false # when using page bundles set this to true
# hidden: true # only hide on current single page
# editPost:
# URL: "https://github.com/<path_to_repo>/content"
# Text: "Suggest Changes" # edit text
# appendFilePath: true # to append file path to Edit link
---
2 changes: 1 addition & 1 deletion archetypes/archive.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Archive"
date: 2020-09-15T11:30:03+00:00
# weight: 1
# aliases: ["/first"]
tags: ["exprience"]
tags: ["archives"]
author: "Kevin L"
# showToc: true
# TocOpen: false
Expand Down
2 changes: 1 addition & 1 deletion archetypes/blog.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ TocOpen: false
draft: false
hidemeta: false
comments: false
description: "Desc Text."
# description: "Desc Text."
canonicalURL: "https://canonical.url/to/page"
disableHLJS: true # to disable highlightjs
disableShare: false
Expand Down
2 changes: 1 addition & 1 deletion archetypes/post.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ TocOpen: false
draft: false
hidemeta: false
comments: false
description: "Desc Text."
# description: "Desc Text."
canonicalURL: "https://canonical.url/to/page"
disableHLJS: true # to disable highlightjs
disableShare: false
Expand Down
31 changes: 17 additions & 14 deletions config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ params:
disableScrollToTop: false
comments: true
hidemeta: false
hideSummary: false
hideSummary: true
showtoc: true
tocopen: true

Expand All @@ -63,19 +63,22 @@ params:
profileMode:
enabled: true # needs to be explicitly set
title: Kevin Lupera
subtitle: "I'm **Full Stack developer** finish program at the **University Hemisferios**, Ecuador 🇪🇨.
Backend engineer 🧑🏻💻 at **[Alegra](http://www.alegra.com/)**, a SaaS based in Colombia 🇨🇴.
subtitle: "I'm **Engineer software** at the **University Guayaquil**, Ecuador 🇪🇨.
Backend engineer 👨🏻‍💻 at **[Alegra](http://www.alegra.com/)**, a SaaS based in Colombia 🇨🇴.
Computer Systems Engineer in Ecuador 🇪🇨 at the **University of Guayaquil**.
I'm passionate about experimenting with **DIY projects** and interested in cloud computing."
I'm passionate about experimenting with **DIY projects** and interested in cloud computing.
In my other life I think I was a farmer because I really like it and I'm good at it.👨‍🌾"
imageUrl: 'profile.jpeg'
imageWidth: 120
imageHeight: 120
imageTitle: Profile
buttons:
- name: Projects
url: projects
- name: Experiences
url: experiences
- name: Posts
url: posts
- name: Tags
url: tags

# home-info mode
homeInfoParams:
Expand Down Expand Up @@ -144,20 +147,20 @@ menu:
name: Experience
url: /experiences/
weight: 30
- identifier: archives
name: Archives
url: /archives/
# - identifier: achievements
# name: Achievements
# url: /achievements/
weight: 10
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
pygmentsUseClasses: true
markup:
highlight:
noClasses: false
# anchorLineNos: true
# codeFences: true
# guessSyntax: true
# lineNos: true
# style: monokai
anchorLineNos: true
codeFences: true
guessSyntax: true
lineNos: true
style: monokai

outputs:
home:
Expand Down
9 changes: 9 additions & 0 deletions content/achievements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: "Achievements"
layout: "post"
url: "/achievements/"
summary: achievements
---

1. AWS Solutions Architecture Associate in 2023
2.
3 changes: 3 additions & 0 deletions content/archive.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ layout: "archives"
url: "/archives/"
summary: archives
---

1. AWS Solutions Architecture Associate in 2023
2.
34 changes: 22 additions & 12 deletions content/experiences/alegra.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
title: "Alegra"
date: 2020-09-15T11:30:03+00:00
# weight: 1
weight: 1
aliases: ["/exprience"]
tags: ["jobs"]
author: "Kevin L"
showToc: true
TocOpen: false
draft: false
hidemeta: false
comments: false
comments: true
description: "Back-end Developer Senior"
canonicalURL: "https://canonical.url/to/page"
disableHLJS: true # to disable highlightjs
disableShare: false
summary: true
disableHLJS: false
hideSummary: false
searchHidden: false
ShowReadingTime: true
ShowBreadCrumbs: true
Expand All @@ -24,20 +24,30 @@ ShowWordCount: true
ShowRssButtonInSectionTermList: true
UseHugoToc: true
cover:
image: "<image path/url>" # image path/url
alt: "<alt text>" # alt text
caption: "<text>" # display caption under cover
image: "./alegra.jpeg" # image path/url
alt: "alegra" # alt text
# caption: "" # display caption under cover
relative: false # when using page bundles set this to true
hidden: true # only hide on current single page
hidden: false # only hide on current single page
---

## Role: Back-end Developer Senior
## Alegra

## Dec 2021 - Present
Alegra is the cloud platform with solutions to ☝ manage your business, e-invoice and sell online.

## Country: Colombia
### Role:

## Activities
Back-end Developer Senior

### Date

Dec 2021 - Present

### Country:

Colombia

### Activities

Migrate PHP APIs to a microservices architecture. Working with SCRUM management methodology and TDD development methodology.

Expand All @@ -53,7 +63,7 @@ Migrate PHP APIs to a microservices architecture. Working with SCRUM management
- AWS lambda, CloudWatch, SNS, SQS, RDS, RDS Proxy, CodeCommit, CodePipeline
- Frontend functionalities development using VueJs

## Skills
### Skills

- Amazon Relational Database Service (RDS)
- AWS CodeBuild
Expand Down
3 changes: 2 additions & 1 deletion content/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ author: "Kevin L"
showToc: true
TocOpen: false
draft: false
summary: true
hidemeta: false
comments: false
description: "Desc Text."
# description: "Desc Text."
canonicalURL: "https://canonical.url/to/page"
disableHLJS: true # to disable highlightjs
disableShare: false
Expand Down
64 changes: 30 additions & 34 deletions content/posts/optimize-serverless.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: "Optimización serverless"
title: "Serverless optimization"
date: 2023-11-21T11:30:03+00:00
tags: ["serverless", "aws", "performance"]
tags: ["serverless", "aws", "performance", "lambda"]
author: "Kevin L"
showToc: true
TocOpen: false
draft: false
hidemeta: false
comments: false
comments: true
description: "Optimizing your AWS Lambda function memory settings can improve performance and reduce costs. Use the appropriate amount of memory for your function based on its requirements, and consider using a smaller amount for functions that don't need it. Additionally, use AWS Lambda power tuning to optimize your function's performance, and eliminate unnecessary resources and costs by removing unused functions and optimizing your stack."
canonicalURL: "https://canonical.url/to/page"
disableHLJS: true # to disable highlightjs
Expand All @@ -28,71 +28,67 @@ cover:
relative: false # when using page bundles set this to true
hidden: true # only hide on current single page
---
# Optimización serverless

## Optimizar código
## Optimize code

Utilizar empaquetadores como esbuild o webpack, en varias pruebas realizadas se evidencio mejora usando esbuild por tiempos y tamaño de compilación aquí una referencia. Ambos tienen soporte offline.
Use packers such as esbuild or webpack, in several tests performed there was evidence of improvement using esbuild for compilation time and size here is a reference. Both have offline support.


* [serverless-esbuild](https://www.npmjs.com/package/serverless-esbuild)

* [serverless-webpack](https://www.serverless.com/plugins/serverless-webpack)

## Uso de Graviton2
## Use of Graviton2

### Cargas de trabajo
### Workloads

* Multithreading o realizar muchas operaciones de E/S
* Multithreading or performing many I/O operations

* Inferencia de aprendizaje automático basada en la CPUs
* Machine learning inference based on the CPUs

* Codificación de vídeo
* Video encoding

* Gaming

### Costo
* 20% más económico, incluida la concurrencia aprovisionada

* Apoyado en Compute Savings Plans

### Configuración en Serverless Framework
Se debe agregar el la siguiente linea `architecture: 'arm64'`
### Cost
* 20% cheaper, including provisioned concurrency

* Supported on Compute Savings Plans

### Configuration in Serverless Framework
You must add the following line `architecture: 'arm64'`.
```
# serverless.yml
provider:
architecture: 'arm64'
```
### Using AWS Lambda Power Tunning
Measuring cost efficient memory size is one of the very easy and useful optimization practices.
### Uso de AWS Lambda Power Tunning
Medir el tamaño de memoria costo eficiente es una de las practicas de optimización muy fáciles y útiles.
Por defecto usando frameworks como serverless framework o SAM se puede definir de forma granular la cantidad de memoria a cada lambda pero es bueno cuanta memoria y vCPU (Virtual CPUs) brindan mejores tiempos de respuesta y con ello mejor.
Tenemos una lambda que realiza una operación de lectura en una BD y trae 50 registros para la cual se tiene un cuadro comparativo con las diferentes configuraciones de memoria, tiempos de respuesta y el costo.
By default using frameworks like serverless framework or SAM you can granularly define the amount of memory to each lambda but it is good how much memory and vCPU (Virtual CPUs) provide better response times and with it better.
We have a lambda that performs a read operation on a DB and brings 50 records for which we have a comparative table with the different memory configurations, response times and cost.
![1_step](/1_step_power_tuning.png "Step 1")
Un dato muy importante es que la configuración de 128 MB tiene un costo similar a la opción de 1536 MB pero la diferencia en tiempos es significativa 10 a 1.
A very important fact is that the 128 MB configuration has a similar cost to the 1536 MB option but the time difference is significant 10 to 1.
No siempre mas memoria significan incrementar costos
More memory does not always mean higher costs
![2_step](/2_step_power_tuning.png "Step 2")
### Guía de uso
Opte por la opción que implique menor esfuerzo opción #1. Abrir el siguiente [link](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:451282441545:applications~aws-lambda-power-tuning) teniendo iniciada sesión en la cuenta AWS.
### Usage guide
En la siguiente plantilla se pueden configurar el rango de memoria RAM permitida para la evaluación
Choose the option that involves the least effort option #1. Open the following [link](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:451282441545:applications~aws-lambda-power-tuning) while logged into the AWS account.
In the following template you can configure the range of RAM memory allowed for the evaluation
![3_step](/3_step_power_tuning.png "Step 3")
Una vez termine el proceso de creación se debe dar clic en el link powerTuningStateMachine
![4_step](/4_step_power_tuning.png "Step 4")
![5_step](/5_step_power_tuning.png "Step 5")
Se ingresa el json con la información de la lambda a probar
Enter the json with the information of the lambda to be tested
```
{
Expand All @@ -105,7 +101,8 @@ Se ingresa el json con la información de la lambda a probar
}
```
Se inicia la ejecución:
Execution begins:
![5_step](/5_step_power_tuning.png "Step 5")
![6_step](/6_step_power_tuning.png "Step 6")
Expand All @@ -114,12 +111,11 @@ Tenemos el siguiente resultado el cual nos brinda información muy útil para re
![result_power_tuning](/result_power_tuning.png "result_power_tuning")
## Serverless optimizations
## Optimizaciones serverless
Una vez finalizado se debe eliminar el stack para ello nos vamos a CloudFormation > Stacks seleccionar el stack de power Tunings y se lo elimina con eso se borraran todos los recursos creados, para evitar incurrir en gastos adicionales.
Once finished, the stack must be deleted. To do so, go to CloudFormation > Stacks, select the power Tunings stack and delete it, thus deleting all the resources created, to avoid incurring additional costs.
## Referencias:
## References:
* https://docs.aws.amazon.com/lambda/latest/operatorguide/perf-optimize.html
Expand Down
2 changes: 1 addition & 1 deletion content/posts/serverless-for-dummy.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ TocOpen: false
draft: false
hidemeta: false
comments: false
description: "Desc Text."
# description: "Desc Text."
canonicalURL: "https://canonical.url/to/page"
disableHLJS: true # to disable highlightjs
disableShare: false
Expand Down
Loading

0 comments on commit ffbf73d

Please sign in to comment.