Cloud Computing
A Cloud Engineer is a Software Engineer that focuses on migrating data from local servers to cloud-based services. Once those systems are up and running, Cloud Engineers keep them maintained and updated. Cloud Engineers often write front-end or back-end code, but they also need to be familiar with cloud computing tools and concepts like:
How to structure a cloud-based application for performance and security
The best practices for engineering in the cloud
A strong understanding of AWS, GCP, and/or Azure
Infrastructure as Code
Key paradigms: declarative versus imperative provisioning There are two common ways to express desired infrastructure. One uses a desired-state model where you declare the target configuration and the platform figures out actions to reach that state. The other spells out step-by-step commands to create or change resources. Declarative models map well to repeatable environments because they describe what the environment should look like. Imperative models give precise control over order and procedure, which can matter for complex operational steps. A practical example is creating a database cluster: a declarative approach names the cluster size and replicas, and the engine figures out the create/replace steps; an imperative approach sequences provisioning, migration, and validation commands explicitly.
Starting Points
- [Overview cloud languages] https://medium.com/@rohit.sarcs/the-role-of-programming-languages-in-cloud-native-development-604900daffd9
- [Developing for Kubernetes] https://kubernetes.io/blog/2018/05/01/developing-on-kubernetes/
- [using Validated models on Azure , AVM] https://azure.github.io/Azure-Verified-Modules/
- [IAC] https://en.wikipedia.org/wiki/Infrastructure_as_code
- [Terraform] https://developer.hashicorp.com/terraform