• 0 Posts
  • 19 Comments
Joined 1 year ago
cake
Cake day: June 17th, 2023

help-circle
  • That “wet dream” was only possible after several years of hard work of dozens of people, and only because many other small pieces fitted in their proper place.

    Hi, manager! You said you want environments for your developers without needing my intervention in every step? Of course, here you have infra and config automation: this is how you can create (and backup! and restore!! and destroy!!!) DEV, TEST, QA, PRE and DEMO environments, all ready with your specific stack and versions and code and data. And this is how much will it cost to you, and this is how you define a budget limit in case something gets out of control. Everything is repeatable and 100% reproducible in seconds, so please do not hesitate to test and test and test. (And no, sorry, I won’t let you touch PRO on your own, because that can cost a lot of money and we need to keep proper security).

    So, you are asking me if we have heard about code versioning? Yes, of course! Here is a proper git structure, with predefined branches, segregated groups and permissions, and strict (and automated) revision requirements for every PR. I own the organization, you own the repo, QA owns the tests, and your developers own their branches and are self sufficient. Oh, and please remember we freeze the main branch 48h before the deployment, and time only begins counting after all the automated tests have passed and QA has given their final approval! No cheating!!

    Oh, you have a picky customer who wants a guaranteed instant recovery in case THE WORST happens? Here you are, a highly available blue/green deployment, so you can deploy the new version without touching the old and only switch when everyone gives the final OK. And please remember to warn them it does cost DOUBLE the money!

    Believe me, is not a wet dream, is just a lot of initial effort and A LOT of trust and confidence in the work of those around you.

    And you have no idea how satisfying was begin work a Tuesday at 9AM sending a message “Hi, we are starting deployment in PRO” and then less than 5 minutes later reply saying “Hi, all is finished and checked OK from all parts, thanks to everyone and see you next week”.


  • I worked for a loooong time in a medium size development company (about 200 developers, mostly doing large web portals). My team was some kind of central DevOps in charge of architectures, cloud, technology stacks… we were ALWAYS involved in EVERY deployment, and we were directly in full charge of the big ones.

    After many years of constant work alongside the DEV/QA teams my team had gotten REALLY good doing deployments (we mostly sailed on each of them, since all was well tested, prepared and automated), and the project leaders simply trusted us. In the scarce occasions we said “sorry, this is not ready for prod” they knew it was true and didn’t pressured us. And our customers were happy, since needing a rollback was EXTREMELY rare.

    One of the most important things we managed to agreed with all the team leaders:

    1. Fridays are read only.
    2. No, that doesn’t means we all can go home: Friday is now “Documentation Day”.
    3. Of course, if shit hits the fan, we are ALWAYS ready to deploy fixes.

    I think in about 10 years I only had one call on a weekend.













  • I am not sure what are the conditions/benefits provided by MetaARPA level, but my guess is that any NC access would be provided only to your specific SDF account, and with limited space/bandwidth.

    And if you plan to offer family/friends with access… Well, I wouldn’t want auntie Alice to see uncle’s Bob backup folders and say “oh, I don’t need any of this crap, I will delete it so @jdh knows how a nice user I am”.

    Save yourself some headaches and consider the basic plan from hetzner (https://www.hetzner.com/storage/storage-share), and just create a user (with quotas!) for each member that needs access. The service literally takes care of everything, and you only will need to remember to check that your apps are still properly enabled after they perform any updates or maintenance (and they will be perfectly fine 99% of the times, with the other 1% just requiring you to click on enable/update for some specific app).

    Learn from there and then you can grow to bigger plans or, if you really feel the need to it, go full ahead hosting your own instance (maybe initially a cheap droplet in digital ocean, or a compute instance in scaleway, so you can learn the basics and break things). Next level? Pick a bigger instance or one of the real servers from hetzner’s auction and go nuts. But always remember: auntie Alice won’t be happy if your tinkering risks her collection of funny cat pictures. Always keep a backup of the backup (and test that it works!)

    Always consider that just moving into nextcloud gives you much more control over your data than with any google/microsoft/somethingsomething service, since you can always just launch another nc instance anywhere else and move everything there. But at the end you ALWAYS must trust someone (your providers, your vendors… your users) and if you REALLY are paranoid about some unauthorized actor accessing your information, then self hosting in your own dedicated hardware is your only way, and that costs time and effort.

    Regards!



  • I personally use and recommend nextcloud. I choose it due to licensing (nextcloud is 100% open source, whereas owncloud has an open source edition with the enterprise edition being propietary).

    Besides that, the main difference between owncloud/nextcloud is that owncloud feels more “enterprise” oriented and offers its professional service as a 1st party SaaS, while nextcloud offers the service mostly through partners (like Hetzner, Ionos, Fujitsu…). However in both companies the 1st party services are quite “big” and expensive for most of us mere mortals (minimum of 25/100 users, with pay per user). You probably will have enough with self-hosting or 3rd party providers.

    Also although in the past it took a while for nextcloud to really differentiate itself from owncloud and gain traction, currently nextcloud development moves REALLY fast, which is a great thing for its capabilities (but a bit of extra work and headache to maintain a self hosted instance up to date), and the software has improved drastically in the past years.

    From what you are describing, hosting your own nextcloud seems to fit your needs perfectly. Since you also seem to need websites, maybe a VPS instance with tons of storage where you deploy and manage your own service? If you go this way, as other have commented, I would recommend learning and using the docker images, since they will make your life easier in the long run, and will help with the websites/nextcloud living together happily in harmony.

    However, for security, I personally recommend to separate the hosting and nextcloud services. I use a managed nextcloud instance (for ease of mind: someone else takes care of the updates, back-ups and security of my storage), and then the website hosting in a different service, so if I make a mistake in my web server I don’t risk my personal or family files. I have experience and currently recommend Hetzner for the NC instances (Storage Share), but also have worked successfully with Scaleway using a compute instance to self-host nextcloud, linking it to their Object Storage for the filesystem.

    With NC you can create subdomains, assign users and set quotas, define what they can do or not (like for example, sharing files or folders outside of the instance, for how long, allow public uploads…), lock down the instance with 2FA and IP filtering… Nextcloud is really customizable, and has a lot of possibilities if you want to extend it through the apps (like collaborative document editing, or audio/video conference). I have used it for several years with the clients in Linux, Android, Windows, and once you configure it as you want, it simply works.

    Good luck!



  • In my current case, because my local public transport service is not the most convenient.

    I live in a medium sized city were we only have bus service. We have many lines covering “almost” all the city, but each of the lines only has a relatively small number of buses available. This causes long delays between arrivals and makes combinations very difficult when needing to use more than one line. Waiting times of 40 minutes in the bus stops are not uncommon. By car, it takes me 15 minutes to go anywhere.

    Another issue is with pricing: in our case buying individual tickets VS a monthly pass only makes sense when you do more than 40 trips every month. It literally costs me more to use the bus than to pay for gas.

    In the past I lived in much bigger cities with underground service and plenty of buses available, and I barely used the car, and didn’t even considered the pricing.