A To-Do List for Every New IBM Cloud Project

3 min read

When planning to deploy a solution in IBM Cloud, there are several areas to carefully consider.

These include how you will set up the account, which permissions to assign to users, how to log and monitor your systems, how to design the networking configuration, which compute options to use and how to automate deployments:


Establish an enterprise account structure and standards

An important step in preparing your project is to define how you are going to structure your account. IBM Cloud introduces the concepts of Enterprise, Account, Account Group, Users, Access Groups, Resource Groups and Tags. You will want to understand these concepts to make the right decisions for your enterprise.

A common approach is to define a blueprint for all projects, as shown in "Blueprinting the Onboarding of Cloud Projects Using Terraform." With the concepts defined above, a blueprint could be as follows:


In this example, a project maps to an Account, and a set of standard Access Groups exist in every project to bring consistency across the Enterprise. Each Access Group would have specific IAM policies assigned based on their purpose. Resource groups could be dedicated to specify environments (e.g., Development, Test, Staging, Production):

Identify and configure a set of shared services

Related links

Identify and configure a set of shared services

No matter which compute options you are deploying to, there is likely a set of common shared services you are going to use. Typically, this would include services like log and metrics collection, auditing, certificate management and key management. When possible, use a dedicated resource group or account to host these services and configure compute resources to send their logs and metrics to the shared instances. Apply IAM policies to control which access groups can read/write from/to these instances:


Related links

Define your networking strategy

From IP addressing scheme to rules in network access lists and security groups, the scope of the networking configuration is not to be taken lightly. Do you need to interconnect your remote network environments with IBM Cloud? Will you go over a dedicated link? Through a virtual private network? How do you plan to isolate applications within the same account and across accounts? Which IP address ranges to use? Are there any conflicts? How to protect ingress traffic while ensuring high availability requirements are met?


Related links

Evaluate and improve security posture

Embed security checks into everyday workflows to help monitor for security and compliance. Configure Security and Compliance Center to monitor and govern the use of resources in your accounts. Set up base compliance policies, scans and schedules. Set up common approaches to the management of secrets, certificates and keys:


Related links

Automate all steps

Once you have passed the initial discovery phase of a service, using either the user interface or the command line, and you've made the decision to use this service as part of your solution, make sure to rely on automation to integrate, configure and operate the service. From infrastructure provisioning to production deployment, whenever possible, capture these steps as code — as repeatable and auditable processes. Tools like the IBM Cloud CLI, Terraform and Ansible will play their part in this endeavor, together with Continuous Delivery and IBM Cloud Schematics:


Related links

Feedback, questions, and suggestions

If you have feedback, suggestions or questions about this post, please reach out to me on Twitter (@L2FProd).

Be the first to hear about news, product updates, and innovation from IBM Cloud