The Research Triangle Park

Navigating the Cloud

By Feb 05, 2018

This guest blog was written by Richard Moran, Head of Enterprise Cloud Computing Architecture & CaaS at Fidelity Investments, which is located here in RTP. We’re excited to have Fidelity Investments sponsoring the Triangle Tech Speaker Series. You can reserve tickets to the February 7th event at Fidelity Investments here.

In the 18th century, mariners used mechanical devices like the sextant to chart their course on the vast, unexplored oceans. In the 20th century, travelers used digital GPS devices to find their way on the open road.

Unfortunately for the 21st century, neither mobile apps nor the global positioning system or geolocation satellites can help us to navigate the cloud. The cloud is a paradigm shift for technologists, forcing us to re-think how we provide IT and to re-imagine how we build our applications and deliver value for our business partners. In order to successfully navigate the cloud we must change our culture and learn to question all our assumptions.

There are many options available and many models of cloud services to consider. As with most endeavors, it is usually helpful to begin with the end in mind. In other words, we should start with the outcomes we hope to achieve. The outcomes for cloud are generally straightforward. We want to create business agility, decrease time to market, enable innovation, and move to a consumption-based IT service model that allows us to scale resources to meet demand and pay only for what we use. That sounds great, and it is—but there are many factors to consider. Innovation and agility need to be balanced with risk management and security. Let’s start with a common definition of what cloud is.

We can define cloud in terms of its basic capabilities. The cloud is elastic with the ability to provide dynamically adjustable services. The cloud is scalable and can horizontally (more resources) or vertically (larger resources) adjust to meet demand. The cloud is pooled, with multi-tenant physical resources shared by many virtual platform consumers. Finally, the cloud is self-service provisioned with rich sets of API’s to create and manage resources along with role based access controls to ensure appropriate usage.

That is good a definition, but why would we want to use the cloud? I think the main reasons are speed, efficiency and innovation. In the past we needed to order new physical servers for every new project or application, this was a very slow process that can be greatly accelerated by the the dynamic provisioning of the cloud.

We also needed to provision enough static infrastructure to handle increased customer, volumes or market events. This meant that most of our infrastructure was vastly underutilized and sat idle most of the time. This is very inefficient. Elastic scaling in the cloud can alleviate that problem and allow us to scale up when demand warrants, and scale down when it does not.

The last factor is innovation. There are many application services in the cloud (new ones being created every day) that we can use to build our applications. These include standard services like storage, databases, virtual servers and messaging as well as cognitive services, machine learning and advanced analysts that give rise to whole new classes of applications.

Now that we know why we would want to go to the cloud, we need a strategy to get there. While the actual implementation of an enterprise cloud strategy is a complicated, the foundational components required are not. First you need a firm wide cloud program. This is necessary to ensure all lines of business in an enterprise do not duplicate effort and that everyone is following a consistent set of standards and guidelines. Second, you need well defined set of security, compliance and audit controls along with the data and tools to enforce them. This must also be backed up by an effective governance model. Third, you need to work with product engineering teams to design cloud ready, 12-factor applications with end to end automation that can function properly in a cloud environment. Lastly, you need robust cloud operations model with logging, monitoring, data streaming, alerts and analytics. This should also be fully automated with the ultimate goal of NoOps.

Once you arrive in the cloud, you need to stay secure. This means data encryption at rest and in motion, audit and compliance controls realized via code, federated identity integration with corporate identity systems, tightly managed role based access controls and network isolation at multiple levels. When this is done right, we can actually be more secure in the cloud than we are on-premises, but the cloud has a shared responsibility model.

This requires work from us as cloud consumers. All the services, data and API’s needed to implement the security described above are provided by the cloud platforms, but it is up to us to implement them properly our applications so that security is fully enabled. A business never wants to end up as a headline due to a security breach (especially an avoidable one), so protecting the corporate brand in the cloud is of the utmost importance.

In closing, consider some suggestions that may make your cloud migration more successful:

  • Make thoughtful choices about the native cloud services you use and how you integrate your applications with them, minimizing coupling and avoiding lock-in where you can.
  • Try to have a multi-cloud strategy and be careful about going all in on a single cloud service provider (CSP).
  • Automate everything, maintain all configuration as code and leverage containers as a first choice for your deployment model.
  • Most importantly, have a business strategy for the cloud, not just a technology strategy. Focusing cloud initiatives purely on technology will lead to inefficiency and wasted efforts.

Cloud technology is awesome, but remember: technology is a means to an end, not an end in and of itself. Those ends are the accelerated and cost effective delivery of business value, IT as a service and the creation of new and innovative customer experiences. These outcomes must be kept in mind at every step of the way along the cloud journey and serve as your compass as you navigate the cloud and transform your enterprise into a true digital business.