Strategic and Management issues Related to Multi-Cloud Environments

learn solutions architecture

As a number of enterprises have been living in the cloud environments for a few years, many have transitioned to use multiple cloud services concurrently. For example, your organization may have deployed certain application workloads on a Microsoft Azure environment while another workload may be running on OpenStack. Similarly, another business unit of your organization may be using IaaS services from Amazon AWS. The reasons that an enterprise ends up in multiple cloud environments vary. Some of them are listed below:

  1. An enterprise may use IaaS services from one cloud vendor while SaaS services from another vendor.
  2. Multiple LOBs may use different cloud service providers independently for their own business needs.
  3. One workload may be deployed across multiple cloud service providers – also called an active-active configuration.
  4. One workload may be deployed on on cloud service provider with a backup on the other cloud service provider (active-passive).

Enterprises may use multiple clouds for different reasons. Different Lines of Business (LOBs) or business units contract their own cloud services for their specific business needs. Alternately, an enterprise may strategically opt to use multiple cloud services for redundancy purposes to reduce its risk. For example, a cloud service provider either may go out of business or may experience technical malfunctions in the use of its cloud environment. For example, both Amazon’s AWS and Microsoft’s Azure platform have experienced downtime in the past due to hardware failure.

Managing the Security, Governance, and Systems Management Issues

Managing a multi-cloud environment can potentially cause security, governance, and overall systems management complexity that an enterprise must manage. As the whole idea of moving to a cloud is to reduce systems management complexity, it’s important that you as a CIO or senior manager do not introduce more complexity to your organization when ending up with a multiple cloud environment.

The following lists some of the tips for managing a multi-cloud environment for an enterprise.

  1. Ensure you have a complete view of the network and application architecture as it relates to the cloud services. This architectural view should provide you a complete view of the application workloads that are in use, how they are distributed across the various CSPs, users utilizing those workloads, internal employees using various infrastructure services of the cloud, and so on.
  2. Use the complete view of the network to assess any security and compliance issues that the overall cloud services can cause.
  3. As moving to a cloud is meant to reduce cost and complexity, work with your CSPs to automate any tasks that can be done easily to minimize errors and increase efficiency.
  4. Attempt to standardize the governance of the overall cloud architecture run by different vendors by having uniform policies and standards.
  5. Recently, a number of multi-cloud management systems have surfaced to unify management of clouds from different vendors. However, as these tools are still in their infancy, they only support the big cloud platforms and may not be able to work across all the clouds that your organizations manages. However, as new products and features are being updated constantly, it’s best to check the current tools in the market and their relevance to your cloud environments.
  6. Securing a cloud environment involves securing applications, databases, infrastructure, network access, and strong staff access policies. In a multi-cloud environment, these issues can get multiplied. Ensure that you do a multiple level detailed assessment and comprehensive security planning. It’s important to remember that while you may be outsourcing the operations to an external partner, as a CIO or senior IT executive you are still responsible for the operations, security, and privacy of your processes and data toward your stakeholders.
  7. Depending on the complexity of your cloud environments, you may consider establishing a governance office with defined management and governance functions. This will help you create uniform standards by which to govern methodically across the various cloud service providers. The internal governance function will also serve as the main point of contact for your internal management and users of your organization whose services and applications are running on those cloud environments.
  8. Ensure that you have the right staff with the right skillset to manage the multi-cloud environment. A common perception that enteprise managers develop early on is that they are outsourcing most functions to an external provider that they may not have a need for internal technical and other skilled resources. This is obviously untrue and it’s important to consider this facet as you transition to a multi-cloud environment that potentially could be based on multiple technologies and vendor platforms.
  9. Enterprises should be wary of integration issues in multi-cloud environments. This is because each cloud vendor operates on its technology stacks and methodologies and standards don’t yet exist to provide application and platform portability across varied cloud environments.
  10. When selecting multi-cloud management tools (e.g. RightScale Cloud Management), ensure that it provides the features that are designed to alleviate business’s issues and problems specific to your business and enterprise. When evaluated appropriately and selected, multi-cloud management tools can provide visibility across public and private clouds, bare metal servers, and other servers. The management software provides a governance layer that can help enterprises self manage clouds from an integrated console and can make use of analytics to give them deeper insights into the multi-cloud operations bringing efficiencies to the process.

 

— End

 

 

Cloud Migration Strategy, Checklist, and Assessment

learn solutions architecture

Although migration considerations vary for SaaS, PaaS, and IaaS environments, the following are general considerations when migrating on premise application workloads to the cloud. (See article on cloud strategy)

Assess the capabilities of each cloud service provider’s services

Not all cloud service providers possess the same capabilities and services. Ensure that you conduct a due diligence based on your specific business needs. Among other things, this should include evaluating their security capabilities, cloud environment governance mechanisms, scalability capabilities (limits), etc.

Configuring and optimizing workloads for the cloud

When pursuing a “lift and shift” approach where you simply want to migrate internal workloads to an external cloud service provider, you need to ensure that the workloads will work effectively in the new environment without causing any issues. For example, you should be cognizant of resource sharing and pooling considerations.

Perform an internal skills assessment

Taking on any cloud project requires that you have an appropriate team in-house to work with the cloud service provider and the internal IT department to facilitate the migration. Ensure that you have the right people with the right skills before embarking on such endeavors. This team should be well versed with the source environment such as your data center along with a complete understanding of the target cloud environment and underlying architecture.

Formulate a strategic roadmap of migrations

When pursuing an aggressive cloud migration strategy, it’s advisable to chart out a clear roadmap of migrations that start out with migrations of low risk systems and progressing to more complex implementations.

Formulate a cloud architecture

Devising an appropriate cloud architecture designed to handle all your current and future workloads can go a long way in helping toward a smooth migration and for providing a solid digital platform for your systems and applications for the future. Therefore, before moving to a cloud implementation, ensure that you work with your cloud service provider on devising a proper cloud architecture that will be relevant to your organization’s needs and provides a foundation for the future. Areas of discussions when devising such an architecture include geographical needs of your systems, security, scalability, issues related to public, private, hybrid, and community architectures, etc.

User Administration

As your enterprise moves to the cloud, your IT staff and / or business users will need access to the environment. You should therefore understand the user administration and management process related to addition and removal of users along with role and permissions assignment, etc.

Regulatory and Compliance issues during migration

Data migration issues during the migration phase should be planned carefully when migrating applications to the cloud, especially when it comes to regulatory and compliance issues. The transition phase introduces a number of security issues that include temporary contractors and consultants having access to data, data migration to the cloud through insecure channels, etc.

Getting back to your enterprise’s architecture

An enterprise’s application architecture provides numerous details that can be quite useful when planning for the migration process. These details include application dependencies, user audience, usage patterns, and other such details. If your enterprise doesn’t have a documented application architecture, cloud migration can be an opportunity to start building one.

Application Usage Patterns

Depending on the complexity of the migrations, you should also consider collecting live usage patterns related to each application. Data includes CPU and memory usage, storage IOPS metrics, network performance data, etc. Such data should be collected over a few days and during critical times before final decisions and assessments are made regarding migration plans.

Categorize applications based on risk profiles

When migrating hundreds and thousands of applications, you should design a risk profiling mechanism and them rate the applications based on that risk profile. You priority should be start with low risk applications and then move to the next, unless there are other business reasons for doing it differently.

Assess and negotiate SLAs

Depending on the type of services that you sign-up with your CSP, ensure that you know the SLAs. These SLAs can be different across IaaS, PaaS, and SaaS environments.

Data portability

Before you are up and running on a new cloud environment, ensure that you understand how will you get access to your data and bring it to your premises when and if needed. Considerations include the mechanisms, security, and volume of data that is involved.

Assess the CSP’s monitoring, administration, and other dashboard tools

Once your environment is migrated to the cloud provider, you will need ways to monitor and control the environment depending on the types of services that you have requested. You should get a good trial run of those tools before the actual migration to ensure that post migration steps proceed smoothly.

Creating a test strategy and plan

Before going through a migration, appropriate tests should e run to ensure the actual migration will proceed smoothly. Plan for a back out strategy as well just in case you hit some hurdles during the migration.

Put together the right team

Cloud migrations can be a challenging task due to the inhernt complexities. To ensure a smooth migration, ensure that you assemble the right team members from inside the organization and the CSP. The team members should include a project manager, application architects, user managers, DevOps team members, and others.

 

Overcoming Concerns of Cloud Adoption within an Enterprise

learn solutions architecture

Although a number of enterprises have taken the steps to start migrating a number of their workloads to the cloud, concerns still abound across a number of organizations (both at higher and middle levels) related to migrating to the cloud. Sometimes this also causes a rift between senior and middle management due to disagreements on the pace of the cloud migration. Getting increasingly impatient to reap the fruits of business agility, senior management for example may get frustrated with middle management not acting fast enough to cloud enable the enterprise’s IT infrastructure, while middle management may not be satisfied with the lack of executive commitment by not allocating enough funding and resources that can help make that transition.

To help get over any concerns related to cloud migration or to increase the pace of migrations, the enterprise (and all of its LOBs) should translate the benefits of migrating to the cloud to specific business outcomes related to their own organizations. Such an exercise will motivate them to make that transition and / or accelerate the pace toward cloud migration. (PgMP Book Download)

Benefits / Advantages of Cloud Migrations

In summary, the benefits of cloud migration are the following that can be used to perform a feasibility study specific to an enterprise’s cases.

  • Scalability – Cloud environments address IT’s scalability concerns by providing an elastic computing model where additional compute and storage resources can be allocated temporarily during high demand business scenarios. Application workloads, therefore, can be spread across multiple servers and computing environments.
  • Infrastructure Cost savings – By moving from a capital (CapEx) expenditure model to an operating expenditure (OpEx) model (pay as you go), enterprises can reap major financial benefits by trimming a large portion of their IT budgets related to CapEx. Depending on the application workloads that one migrates, one can save in storage costs, servers, system administration and in other infrastructure costs.
  • Technical delivery agility – One of the advantages that cloud offers to the IT staff is in the areas of systems delivery. A cloud environment, for example, allows IT staff as well as business users to rapidly provision environments, test new technologies, deploy underlying platforms and development environments, and so on. This dramatically reduces time associated with the development and delivery of systems and in experimenting with new innovations.
  • Reduced Operational Complexity – By having an external service provider responsible for the IT infrastructure, platform and applications, enterprises enjoy reduced operational complexity related to running their IT systems thus enabling them to focus on running their businesses instead.
  • Enable mobility solutions for internal employees and customersCloud environments provide a stable environment for most end consumer related mobility solutions in which demand can spike during certain periods requiring temporary allocation of compute and other resources.
  • Enables the building of business ecosystems – One of the characteristics of the digital economy is that of business ecosystems, where businesses in an industry or across industries connect through digital platforms and business processes to share information and transactions. Clouds enable the building of those environments with ease by providing standardized integrations.
  • Better opportunities to use data analytics – Traditional data analytics solutions were expensive and complex to implement inhibiting enterprises to pursue data analytics initiatives. However, as many CSPs provide such complex environments on an as needed basis, more enterprises are making use of those solutions to advance their business interests.
  • A technical ecosystem – Cloud service providers usually provide a complete ecosystem of technical services. This can free up businesses to instead focus on delivery of solutions rather than worrying about the underlying details related to installations, configurations, maintenance, etc.
  • Access to a modern infrastructure – To strengthen and maintain their competitive positioning, CSPs try to stay in line with new technologies and offer them to their customers. This allows enterprise IT to have access to modern infrastructure and technologies without having to invest large capital.
  • Automation – The CSPs business model is based on deploying and running an efficient IT infrastructure, they are constantly tweaking and configuring to optimize and automate the environment that results in fewer errors and lower costs associated with the underlying infrastructure. Enterprise customers therefore gain various operational efficiencies from running in such environments without having to invest on such initiatives in their own data centers.

The reduced costs, ease of access to new IT environments and technologies, and reduced operational complexity allows businesses to become more innovative and offer solutions faster bringing the dreams of business agility closer than ever before. However, many organizations also have concerns that stall them to make that move to the cloud. Similar to the exercise above, sometimes addressing these problems head on and seeing their specific relevance to your organization can help alleviate those concerns.

Cloud Migration Concerns

Some of the common concerns include:

  • Lack of Skills – One of the challenges that organizations face has to do with lack of skills in-house that can help them to assess the feasibility of transitioning to the cloud and to lead the transformation.
  • Legacy systems integration – Integration of newer technologies and systems with legacy systems can pose a challenge. However, most vendors are now offering cloud enabled environments for their solutions and migration toolkits and adapters to ease in transition. Looking into the specifics can ease those concerns.
  • General complexity with migrations – A large number of enterprises have undergone complex cloud migrations and the market in general has the resources and service providers that can help in those migrations.
  • Security and privacy concerns – Although moving to a cloud environment does pose some risk, most CSPs offer iron clad security environments for their customers. The large number of customers on the CSP’s infrastructure drives them to comply with latest security standards and government regulations.
  • Concerns over the resulting unused IT hardware – Many enterprises worry about the resulting unused IT hardware. However, with careful planning such hardware can be put to other uses or in some cases can be sold in the large market of unused hardware.

In most cases, the general concerns can be addressed by looking at the specifics of each environment. As most of the industry is moving towards the cloud, chances are that those concerns are usually addressed elsewhere.

— End

What is Business Agility? Examples and Business Scenarios

learn solutions architecture

This article introduces the concept of business agility, its importance, and how organizations are building capabilities to become more agile to stay competitive.

The Need for Business Agility

For the past few years, the industry has been witnessing an ongoing disruption of businesses triggered by the digital revolution and related phenomena. This disruption where enterprises either have to adapt or risk being driven out of the market has become the new constant and the norm. Business agility refers to an enterprise’s ability to respond to this ongoing disruption by meeting market and customer demands. It’s about adapting to the constant changes and pressures that an organization faces to bring incremental but rapid changes both internally and externally. The greater the agility, the faster an organization can meet its customers’ needs thus increasing customer satisfaction. Business agility also provides organizations the opportunity to experiment with new innovations as this enables them to roll out new products and services to the market quickly, gauge market’s reaction accordingly and then can incorporate that feedback rapidly before releasing the next version or iteration of their offering. In the face of fierce competition and constant market pressures, every organization therefore should incorporate agile practices in all its business operations.

Characteristics of an Agile Organization

The aforementioned qualities of an organization refer to an organization’s agility. So, we can state that an agile organization has the following characteristics:

  • The organization’s delivery processes are appropriately aligned to its users, customers, and the market in general to ensure that the right products and services are delivered on time.
  • Its delivery processes are nimble and flexible, yet stable to enable rapid and defect free delivery.
  • The organization appropriately listens to market and customer feedback and responds to internal and external change effectively.

In building such agile capabilities, an organization may need to tailor its overall delivery mechanisms to become nimble and flexible to respond to change. This delivery capability that in turn is made up of internal systems, methods, and processes must be lean, stable, yet flexible, and fast to deliver at market speed.

Principles of Agile

With regard to methods, various agile methods have surfaced in the market during the past few years. Most of these methods have their roots in software engineering. The success of agile techniques in the technical communities have since put pressure on other parts of the enterprise to adopt agile techniques as well. That’s because from an enterprise standpoint, there is no use of delivering software in an agile manner if the overall delivery life cycle comprising of all legs (from ideation to delivery and deployment to production) of the overall delivery life cycle is not effective and efficient.

The agile methods that have surfaced in the past few years are based on a set of 12 principles that were  developed as part of an initiative called the Agile Manifesto. Due to the simplicity and commonsensical approach of these principles, they have become the foundation for agile practices that are now applied enterprise wide in areas even outside the discipline of software engineering. The twelve principles behind agile can be found at http://agilemanifesto.org. Those principles are as follows:

  1. Satisfy the customer constantly by continuous delivery of the product
  2. Change is welcome in all phases of the delivery lifecycle
  3. Focus on continuous delivery of the product by breaking it down in smaller releases.
  4. Business users and product development teams must collaborate constantly on delivering the products
  5. Empower teams to self-organize and to make decisions
  6. Encourage face to face (and one on one) conversations and collaborations and bypass bureaucracy
  7. Establish working products delivered to production as the primary means of success
  8. All organization stakeholders should strive to maintain the pace of delivery and performance
  9. Always strive for excellence in the delivery of products and services
  10. Encourage simplicity in all matters
  11. The best results usually come from self-organizing teams
  12. Constant reflection

 

Business Scenarios in the Adoption of Agile

Within the context of delivering new solutions to the marketplace, the following are some examples in how organizations are adopting agile practices within the areas of Information Technology and other areas:

  • In all areas of the enterprise, where processes progress in a waterfall approach from one phase to another and are getting tied up in a bureaucracy where there are hand-offs from one department to another, organizations are instead looking to break down those barriers between departments by setting up cross functional teams to collaborate on projects and to deliver them rapidly.
  • As we have covered earlier, the most common application of agile has been in the area of software development and engineering. Rather than following waterfall types of methods, organizations are building software in multiple iterations where each iteration releases a working product with cross functional teams involved in the planning, development, and testing of each work product. The agile methods that are used to perform this type of work are called Scrum, XP (Xtreme Programming), FDD (Feature Driven Development) and many others.
  • Many organizations are now adopting software that has minimal deployment and upgrade times. For example, traditional ERP software packages (e.g. earlier versions of SAP and Oracle that used to be installed in house) take longer to install and upgrade relative to the newer cloud based offerings (e.g. Workday and other ERP versions on the cloud)
  • To streamline the process from idea inception to project execution, organizations are now adopting portfolio management systems and software. This is because in many organizations, the process starting from idea inception to project formulation, definition, approval, and then execution is not very structured and thus it takes a long time to deliver on projects. As we have covered earlier, in the hypercompetitive environments of today, organizations can’t afford to take long to deliver on ideas. One way some organizations are becoming agile in this regard is that they are instituting portfolio management techniques and systems across the enterprise to streamline the entire process from idea capture to execution and product delivery. This is allowing organizations to evaluate and test ideas and execute projects and bring products to market rapidly.

These are some of the scenarios in which organizations are adopting agile practices. As we talked about this earlier, agility is no longer an option and organizations therefore will constantly be looking to bring agile methods in all parts of their business from strategy to operations.

— End

Program Management Certification