The more I work with AWS (Public) Cloud services, the more I realise that there needs to be a paradigm shift within the IT service delivery of many organisations. The change required is that IT departments need to move away from operating in a reactive manner and become more pro-active and automated. I know that there will always be those items that need to be deployed, updated, or repaired and this is usually reactive to the request, problem, or unforeseen issue. The concept of automation and scripting is actively promoted in the AWS Systems Operations course.
The (new) deployment of a Virtual Server (EC2 Instance) could be as simple as running a script, rather than going through the arduous process of using the Graphic User Interface (GUI). I agree that writing the script initially will take some investment in time, but having done so, the script can be reused over and over. For example, you could build an EC2 Instance using the GUI console and select a minimum of 10 discreet steps to deploy your Instance, or you could just copy your script and press the enter key… The difficulty in running scripts until now is that users have had to download and install the AWS CLI (Command Line interface and Python) onto their corporate computers, keep it updated and configure the CLI for user authentication (These user credentials are then stored locally in a clear text file, which creates a potential security issue).
AWS CloudShell was very quietly announced and has probably been missed by many AWS users. If you have not heard about it yet – let me explain: AWS CloudShell is a browser-based command line shell that you can launch directly from the AWS Management Console (GUI). It is pre-authenticated with your user credentials (as you had to login to the AWS Management Console to access it) and it supports all the AWS commands. You also have a choice of which shell you would like to use (Bash, PowerShell or Z-shell) so both Linux and Microsoft users are fully accommodated. Simply type the command: bash, or zsh, or pwsh to switch interface. The shell environment is also pre-configured with support for leading software languages, enabling you to run Node.js and Python projects, for example, without first having to perform runtime installations. PowerShell users can use the .NET Core runtime. Also pre-installed are tools and utilities such as git, make, pip, sudo, tar, tmux, vim, wget, and zip and other tools can be loaded as required (ie: nano).
Not only is AWS CloudShell free to use, but you also have persistent storage of 1 GB for each AWS Region at no additional cost. The persistent storage is located in your home directory ($HOME) and is private to you.
To use this great feature, simply login to your AWS Management Console and click the icon in the red box:
SureSkills is an authorised AWS Education Partner, we deliver a diverse range of AWS courses, ask us about the next AWS Systems Operations course date (or any other AWS course). Perhaps you need to implement a move from your datacentre into the cloud (project management), or do some Business Process Redesign, implement change control or process control in your IT departments – reach out to us to discuss this further as we also offer training in Prince, ITIL and many others.
If you would like further information on the AWS CloudShell, the user guide can be accessed from:
https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html