
Principal Software Engineer
York IEPrincipal Software Engineer I
Zemoso TechnologiesSenior Software Engineer
RationariumSoftware Engineer
TatvaSoftFull Stack Developer
Techuz - Software, AI and Automation
Redis

Bitbucket

Trello
Jira

AWS Lambda

AWS S3

AWS EC2

AWS SES

AWS SQS

AWS SNS

AWS RDS

AWS EFS

Github

Apache

Nginx
.png)
Docker

Mailchimp

SVN

Git

Beanstalk

Stripe

Paypal
Working as principal software engineer
I am a software engineer. I have eight years of experience. Out of that, I have six years of experience in Node.js. I started my career as a PHP developer, and then I moved to Node.js. Since the last six years, I've been working in Node.js, mostly with the Express framework using JavaScript and TypeScript. I've worked on different domains like education portals, job portals, and currently, I'm working on the blockchain platform. However, my major role is not in victory operations, but I'm working with Node.js.
So in the note, when you are working with Node.js and AWS services, we have different options to manage and store our secret keys. So there is 1 AWS service, which is AWS Secret Manager. So there, we can just define our secrets, and there's already a rotation policy provided by AWS. So we can use the default rotation policy, or we can customize it as per our needs. So we can use it in both ways, and we can just manage our credentials as well.
For error logging and monitoring in a docker container environment, what we can do is use different logging modules like log is available. So, we can use and when we are using Docker, generally for logging, I prefer centralized logging. So, whenever you're using a single or multiple architecture, whatever the architecture we have, we can have a centralized log. And apart from that, what we can do is export our logs to a particular place to review them all from one place instead of checking from different places. So, we can do the same thing in a multi-container environment in the offline moment as well.
So when we think about the high available Node.js application, there's a failover database solution. Regarding database failover, we can first of all take an approach of master slave concept. So whenever your master goes down, the slave can solve the things or the slave can become the master. In some databases, if I tell you, MySQL, Aurora is the best option, it will just create your slave as a master whenever your master fails. There's a biggest benefit in the failover. Also, we can use multiple read replicas by fetching, like if any instance or any particular one fails, another will be in use. We can have a database in multiple regions. By chance, if every region is down, we can get some database from different regions. There are different options available for that.
So when we come to horizontal scaling, basically, horizontal scaling means we're just increasing our instances or similar. I prefer using AWS. We can also use Docker. What we can do is utilize the application load balancer, and view the available minimum size of instances. So, and we will put it into auto-scalable mode. When the demand is higher, it will add more instances. When the demand is lower, it will decrease the number of instances. In this way, we can be more cost-efficient. The same thing can be used with Docker as well. Docker is a container.
So when dealing with Node.js and wanting caching, the best and easiest way to implement caching is using Redis. We can also use the AWS service, Memcached, as well. If you don't want to use Redis, we can simply use that. By using it, we can store very frequent data and release it. Instead of fetching from the database, we will just pass those data from the cache as well. We have some dashboards where we need to show some ranking or information. We can fetch all this information from the cache. We don't need to go directly to the database to fire the queries. Apart from that, there are various options as well. Like, we are using database services, and we have steady content, then we can use CloudFront to cache our content. It will also be helpful.
Product, find by ID. Product ID. Check product I'll check the course method. Users reported they are often getting product note form message even for existing product. What might be the issue in this? Snippet, and the code looks good, but just need to check once, find by ID is returning an array or it's an object. Because if it's an array, the spirit should match, I'm listing products. I just need to check once the response of the product, what response we are getting. And, that is the only concern it can get the error from this part. Otherwise, all looks good. So I need to check, I need to add the debug point on the product. If the condition, you will just add the debug pointer and can check what we are getting from the product. And based on that, we're going to
I have both technical Docker files for the node. Can you find the potential Expose at 0.0.0.0 command mode address. Yeah. We can just improve the copy part. Like, copy dot part, if we are in the same directory or not, we can just check for that part once. Otherwise, exposing code is fine. We can increase the node version to the latest version. That is one form. And we need a copy of this one because I don't think copying this one is required. So we can do
So, basically, to automate the deployment, we can simply use CICD. So, we can use green blue development as well, to reduce downtime. By using Docker, we can just do the deployments. Like, we are using Docker, but also using GitHub actions to just redeploy to our deployment server whenever the code is pushed. The same thing can be used by Docker as well. And, if you want to deploy it on a different environment, I think it's deployed on different environments. The script is the same. You just need to rerun the script. And about the configurations, it's environment-based.