44 karma · joined June 6, 2011
I am sure that I will fail but there is no other choice except to assess what doesn't work, adjust, rinse and repeat until I figure it out. Some of us get lucky and struck success early but others will have to try again and many will never succeed and that's just life and nothing is free in life (unless you come from money but then again I've never been in that position either).
A monolith makes developing initially a lot easier. Over 15 years though, you are bound to have developers of various calibre leave their mark on it. Many don't even understand good modelling and inevitably drive an otherwise healthy monolith with well defined boundaries into a soup of couplings between domain concepts that should not know about each other. In theory though it is totally possible to have micro systems within the same monolith code if you model things that way.
Eventually, your team will flip the table and start thinking how to avoid the problems they are having with the monolith and decide to do down the micro-services way. In most situations developers are likely to face a lack of commitment from the business to spend time/money on a technical problem they do not understand but have to support the development of for a lengthy period of time. Most developers will compromise by building pseudo micro-services without their own databases which send requests to the monolith where the core business logic had to stay.
The benefit of micro-services IMO is driven from being able to separate business domains in a way that keeps each responsibility simple to understand for a new comer and compact enough to not hide a great deal of complexity. It's worth saying this is a very hard thing to achieve and the average developer shop won't have the experience to be able to pull it off.
This is all to say, regardless of Monolith or Micro-services architecture, the key is experience and discipline and without a good amount of both in your team the outcome is unlikely to be a success over a long enough period of time. This is the curse of a business that lives long enough.
Off the top, I can tell you that Laightsail is not receiving a lot of AWS attention. There are no roadmaps that I could find and updates are not regular. If you look for information about this service on the Internet currently there is no abundance of blogs and articles which probably suggests not many users are using it.
DO App Platform on the hand seems to under active development and changes/updates are regular: https://docs.digitalocean.com/release-notes/app-platform/. I feel this service is also not used that often but in its current form it's easier to understand than Lightsail and I can see how DO can push a lot of its customers towards this offering.
The Story around Lightsail Contaioner logs is a real mess. The only way I know to centralise logs is to install your app, something like Filebeat plus Supervisor to run the both in your Docker container. So that's 3 processes inside a single Docker container which is not ideal and makes for poor separation of concerns.
DO App Platform support log forwarding https://docs.digitalocean.com/products/app-platform/how-to/e...
Lightsail UI is old and clunky. There really are no deploy logs and inspecting what's happening has to happen via this weird and hard to use log viewer UI.
DO App Platform UI may no be the best or for everyone but just like the rest of their products it is coherant. Following deploy progress is easy and so is viewing the logs.
The one thing that I have to give to AWS is pricing. Lightsail Containers let you deploy up to 10 separate images on a single Lightsail Container starting from $5 a month. Yeah the basic container size may be limited but if you are looking at Lightsail for anything, you are probably doing so to avoid server provisioning to spend that time on solving a business problem on the cheap. I really think for what it give you the price isn't so bad. Heck, you could put Nginx or Caddy in front of up to 9 other Docker containers using a single Lightsail Container and reverse proxy 9 websites.
DO App Platform on the other hand charges per running process (let's say per running Docker image to simplify). So if you intend to run multiple Docker images, App Platform will quickly get expensive when, depending on what you're doing, Lightsail may not. DO also supports routing which is let's you direct traffic to specific Docker container. This is something that Lightsail does not support and you have to deal with manually with something like Nginx or Caddy.
I guess being on AWS is also a plus. If you think your business will grow in the future and you may need access to more of AWS services, Lightsail could be a great place to start on the cheap to try out an idea. If you are making money then do consider alternative ways to host containers on AWS for more Flexibility but if Lightsail is good enough then that's that.
Conclusion: AWS Lightsail Container UI sucks and there are some missing features like better log management which makes Lightsail look less appealing compared to other services like DO or Heroku but overall I feel there is a place in the market for a service like Lightsail for budget projects and really hope AWS will continue to improve this service.