Resource Management
Cloud providers typically supply a web-based portal for self-service management of cloud resources. IBM SmartCloud Enterprise provides a command-line tool along with remote Java and REST APIs. The web portal allows end users to manage their own resources, and the APIs are useful for building applications to automate resource management. However, traditional IT management has many roles that we don't yet see in cloud computing.
Early cloud implementations had a business model in which one large cloud provider supported many end users directly as consumers. That design could be inconvenient for employees working in teams for an employer, as it led to team members inventing their own ways to share virtual machine images, storage, and other resources. IBM SmartCloud Enterprise has a business-to-business model in which the enterprise is a fundamental entity as a customer of the cloud, and the users belong to the enterprise. This design solves a number of problems, including presenting a security model that permits delegated administration and collaboration within the enterprise.
Your toolkit for connecting to cloud resources differs in some ways from what you would use for working with physical systems. You'll become very familiar with Secure Shell (SSH), a safe and versatile protocol. You can use SSH to connect to a virtual machine via command line, execute remote commands, transfer files with secure copy (SCP), and tunnel other protocols. SSH should be installed and running by default with any cloud-based Linux virtual machine. OpenSSH is the most popular server implementation and is freely available as an open-source project. Desktop user interfaces can be used remotely by several tools, including Virtual Network Computing (VNC), the X Window System directly, NoMachine NX, or SPICE. VNC is a common choice but should be tunneled over SSH for security reasons. SPICE is secure and efficient but requires a special connection to the hypervisor, which is not supported by many cloud providers. For Windows virtual machines, Remote Desktop Protocol (RDP) has many of the same characteristics as SSH: It's secure, efficient, and versatile.
If you're planning to host applications on the cloud, using the cloud for development and testing first can save you a lot of time and money. For example, you won't need to wait for physical equipment to be purchased and delivered. Developers usually have the skills to manage IT resources themselves, although they probably will need guidelines to do that responsibly. This approach will allow your team to get familiar with the cloud and related tools, which might require a change in behavior, depending on the size and maturity of your team.
A number of development and test tools are conveniently hosted on the cloud, such as source-code management systems and defect tracking systems. Basic cloud services such as virtual image creation (to save your virtual machine instances) will become indispensable. As your team becomes more comfortable working on the cloud, you can start using cloud APIs and command-line tools for automation; for example, you can use cloud APIs to set up and tear down test environments dynamically.