News for hackers. Stuff that matters.
Re:Sample cloud-native application with microservices by jbarham on Thursday February 14, 2019 @09:30PM (#19168006)
I honestly thought it was myself until I saw that it was an official GCP repo. Unbelievable...

Sending emails is a one-liner in Django. Am I a sucker for not building my own email sending service?!

Of course being a Google demo they have to include the obligatory ad server service, in Java no less. Nonsense like this is why I'm steering my kids away from considering software development as a career.

Re:Sample cloud-native application with microservices by kumaraman on Thursday February 14, 2019 @09:57PM (#19168120)
When a company and platform grows it's very common to build out an email sending service since you can only send so many emails per second.

An example of an email sending service is Sendgrid, who have built an entire company around this service.

Re:Sample cloud-native application with microservices by jbarham on Thursday February 14, 2019 @10:17PM (#19168198)
I'm aware, I've used Postmark for years. My point is that building your own microservice to send emails is ridiculous overkill.
Re:Sample cloud-native application with microservices by pmlnr on Friday February 15, 2019 @05:16AM (#19169770)
Sendgrid is not alive for mails/second, that part is not _that_ hard.

They are alive because they take the spam blame for you.

Re:Sample cloud-native application with microservices by empath75 on Thursday February 14, 2019 @10:32PM (#19168252)
It’s intended as an example for deploying a complex app using all the available tooling in kubernetes. It’s not intended to be actually used.
Re:Sample cloud-native application with microservices by holografix on Thursday February 14, 2019 @10:02PM (#19168137)
Sorry to say mate but maybe... I’d usually pop that on a queue and get a separate service to pick it up... maybe that’s what you’re doing?
Re:Sample cloud-native application with microservices by jbarham on Thursday February 14, 2019 @10:20PM (#19168209)
Yes, I send emails async using Django-RQ (previously Celery).

It's still a one-liner once you've configured your async task handler. Which makes the example custom email sending microservice even more ridiculous when it can be done trivially by configuring proven off-the-shelf components and third party email delivery services.

Re:Sample cloud-native application with microservices by jsmeaton on Friday February 15, 2019 @02:42AM (#19169190)
A bit off topic (sorry) but how are you finding django-rq compared to celery? Anything you miss? Anything you gained?

I wasn’t sure how ready rq was for prime time, but I’ve hit far too many celery bugs and the maintenance hasn’t been great for awhile.

Re:Sample cloud-native application with microservices by jbarham on Friday February 15, 2019 @04:20AM (#19169561)
I found Django-RQ far simpler to configure than Celery. Given that I'm using Redis for caching anyway, it also removed RabbitMQ as a dependency which Celery basically requires.

Django-RQ's job decorator is basically a drop-in replacement for Celery's task decorator. Django-RQ's built-in Django admin app is very nice.

My Celery usage was pretty simple (mostly background email sending and PDF generation) but for those use-cases Django-RQ has been a very good replacement. Your mileage may vary of course.

Re:Sample cloud-native application with microservices by kumaraman on Thursday February 14, 2019 @10:34PM (#19168260)
That works well in your current situation, but when you have multiple products and services that also need to send emails it makes sense to combine them into a single service.