Developers October 22, 2020

What I have learnt about setting up cloud services so far

fjk

In the past 15 years of my professional work life as System Architect, I have seen and worked on it all: Pet servers, carefully managed by senior sysadmins, cheap shared hosting, enterprise scale, redundant server rooms with racks full of bare metal and cloud services from DigitalOcean to Azure and AWS. All those hosted precious, boring and often obsolete or completely forgotten stacks and appliances. The model of provisioning software and configuration on these boxes differed highly. Some were cared about by dedicated sysadmins, others were provisioned using tools like Ansible or Puppet.

Now, that I started my own (secret) project, I revisited and thought through a lot of these concepts. Therefore I have settled with AWS as hosting environment and Terraform as configuration and setup tool. The reasoning for not jumping on the band wagon with host-as-you-go solutions like Amplify, Zeit Now and friends is that I wanted to the foundation right and learn something along the way. I have just too often seen cowboy code that goes in production. And cowboy code that stays in production and later on justifies whole departments taking care about it.

Workaround as a workflow.

…is what I call these kinds of setups, when I consult IT. If you find yourself struggling with well executed and maybe over engineered setups, you can follow @gtmifylabs on Twitter. This is the account for my project, where I share my findings, my struggles and my fails in public. Got advice? Comment! Are you interested? Follow!

https://twitter.com/gtmifylab

  1. 3

    It's easy to spend weeks and months building infrastructure while you're not building something people want.

    If it's fun for you and you think you'll use your learning elsewhere, enjoy it.

    But a warning, that might not apply to you -it's easy getting looped into things that don't progress the business for - reasons.

    1. 1

      You are right with your warning.
      In my experience so far, learning Terraform was time well invested. I failed due some distraction today and deleted my GitLab setup. All of it. Then I simply scripted it and managed to pull it up and even improve it in a matter of hours. Now it's config is saved and repeatable. But wrapping your head around provisioning might take lots of time, depending on your background. Anyway, if you are interested in the fails, fixes and learnings, just follow the account. I'll share what I have and everyone can take what they need and use or avoid it in their own projects.

      1. 1

        I've worked as a devops, I've deployed stuff with Terraform, Ansible, Chef, docker, k8s and other custom setups before. Still I know most of these would takes days at least to setup in terms of time invested..
        For my first MVP, since it was a backend I didn't even deploy it anywhere, I ran it on my local node, not even making a dev/staging/production env yet (my professional persona would flip over..) (also had a static LP in gitlab pages)
        Current status, it's been scrapped, and I'm working on a CLI version as my current pivot.
        Had I spent the time to do things right, taken honestly probably several weeks including DB master-master setups, backups, a proper k8's stack and more... It's just time down the drain, didn't help with the user/product/solution learning cycles.

        That's my personal context currently. IDK what your project is, so it's not tailored advice, just my story, I'm happy due I thought of, I didn't.

        (choosing to make it as back end as possible was supported by not setting up too many things, minimal thing that can deliver some value)

        "The Sunk Cost Fallacy" also basically says here the more you invest in the infrastructure the less flexible you are..

  2. 1

    I am a bit confused by the post, as it's titled "What I have learnt about setting up cloud services so far" but I didn't get what exactly you learnt. That there are multiple ways to set-up cloud services?

    1. 1

      Was the title too catchy for an intro to the Twitter project account?

Recommended Posts