The Most Frustrating Thing About Being a Cloud Native Developer

Being a cloud native application developer requires access to cloud resources. I have been a cloud native developer, building applications in AWS. To be an effective cloud native developer, we need access to the cloud environment. In every company I’ve worked so far as a cloud native developer, I first only get a read only access. Read only access is not enough. We do not need root access or full admin access. We just need more comprehensive access to the resources we use, like lambda, SQS, DynamoDb, ECS and so on. The fact is that many companies do not have a well-defined cloud native developer security role. Infra people think application developers shouldn’t have access to AWS. I need to escalate my access issue to senior manager who has no idea about development. I get refused first but I keep complaining and eventually get an admin access because they can’t be bothered to fine tune an IAM role for me. What bothers me is that every time someone from an infra team finds out that I have an admin access, they complain and tell me that I should never have admin access. WTF?

This is the scenario happened to me 3 times in different companies. I am not just a web developer who works on a single application code base. I work with AWS environment. I don’t think many infra people realise what cloud native developers do. It is a new way of developing an application. Infrastructure and application are not clearly separated. We understand the cloud infrastructure and want to update as part of our development. I am not sure if this mindset ever changes.

In my opinion, access to the cloud environment is the most frustrating thing about being a cloud native developer.

Git
How to specify which Node version to use in Github Actions

When you want to specify which Node version to use in your Github Actions, you can use actions/setup-node@v2. The alternative way is to use a node container. When you try to use a publicly available node container like runs-on: node:alpine-xx, the pipeline gets stuck in a queue. runs-on is not …

AWS
Using semantic-release with AWS CodePipeline and CodeBuild

Here is the usual pattern of getting the source from a git repository in AWS CodePipeline. In the pipeline, we use AWS CodeStart to connect to a repo and get the source. Then, we pass it to the other stages, like deploy or publish. For some unknown reasons, CodePipeline downloads …

DBA
mysqldump Error: Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)

mysqldump 8 enabled a new flag called columm-statistics by default. When you have MySQL client above 8 and try to run mysqldump on older MySQL versions, you will get the error below. mysqldump: Couldn’t execute ‘SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM ‘$”number-of-buckets-specified”‘) FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = ‘myschema’ AND TABLE_NAME = ‘craue_config_setting’;’: Unknown …