With today’s low latency and increased bandwidth, moving your data from on-premise into the cloud makes sense. Many businesses are seeing the benefits of allowing someone else to handle the infrastructure, so they can focus more on their core business. Doing so saves money, and often increases reliability. But the cloud services industry is complex, with many flexible options designed to suit the needs of all kinds of businesses. Moving everything over to the cloud isn’t as simple as picking a provider and beginning the transfer. In this post, we’ll give you the basics of finding a cloud strategy that aligns with your business vision.
What is cloud computing?
Before we can talk about how to implement a cloud strategy, we need to first define some terms. Not only the definition of cloud computing, but the basic ways in which it is implemented and deployed. Cloud computing is the usage of remote servers, accessed through the internet, to replace local servers and data storage.
Cloud deployment models
There are two major ways that a company can deploy to the cloud: private and public. Private clouds are hosted on infrastructure owned by the company. They come with the responsibility of creating and maintaining the data center, but can allow firms to centralize the data across all of their locations. Public clouds are hosted by third-party cloud service providers. These take away the costs and responsibilities associated with maintaining infrastructure, but come with less flexibility.
Businesses can also take a hybrid approach. Utilizing their existing infrastructure for certain tasks and public infrastructure for others. This approach can allow for a separation of tasks with differing priorities or allow existing infrastructure to be used while still providing scalability.
Cloud service models
Cloud services are generally offered in three levels: IaaS, PaaS, and SaaS. Infrastructure as a service (IaaS) is concerned only with providing cloud access to the hardware. Platform as a service (PaaS) provides businesses with a cloud-based platform from which to build their software stack. Finally, software as a service (SaaS) provides the software as well. Most businesses will use some mixture of these services. In some cases, the specific functionality of a SaaS product fits the need nicely. Other times, the greater flexibility of PaaS is required. Businesses use IaaS for tasks that just need storage or raw compute power.
What is cloud strategy?
As we’ve seen, the cloud isn’t a singular thing. It’s a wide range of products wrapped inside several service models built on multiple deployment options. Taking your business into the cloud means deciding which combination of those nearly countless options is the one that will best suit your needs. Then, you must decide how to implement and maintain your cloud-based solutions. All of this makes up your business’s cloud strategy.
Aligning business vision with cloud services
The first step is to get a general idea of where your cloud journey needs to take you. If you’ve already got a great software stack, and it will transfer into the cloud nicely, then you can focus on IaaS or PaaS solutions. If you’d like to update and overhaul your software, you’ll need to look at the various SaaS offerings and see if any fit your needs or if you’ll need to go with a custom solution built on a PaaS. This first step will provide you with a roadmap that you can use to navigate the steps that follow it.
Cloud strategy council
Every stakeholder needs to be involved in the decisions as you make the transition into the cloud. It’s a complicated process, and can have some pretty serious ramifications. Often, companies will put together a group of key stakeholders that can oversee the process and ensure that the business continues to maximize their benefit from the switch into the cloud. The group is referred to as a cloud strategy council. Having one is a good idea because, among other things, it introduces structure and oversight into the process.
How cloud services are priced depends a lot on the types of services being used. SaaS for example, is typically priced at a predictable monthly fee. This fee may be based on the number of seats you are using, the number of feature available to you, and a host of other variables. The fee is predictable though. IaaS is on the opposite end of that spectrum, pricing is usually based on the number of hours or minutes you are utilizing the service, the amount of bandwidth you use in a given billing period, and a lot of other, often confusing, factors.
Although the difficulty of estimating how much you’ll be spending varies between providers and across different types of services, it’s still a crucial part of understanding whether or not the cost-benefit trade-off for your cloud strategy is worth it.
There are some principles that are universally applicable when moving into the cloud. If software or infrastructure is going to be in the cloud, then you should design it for the cloud. Because of the increased security threat, you should make security a higher priority. There are lots more of these. But there are also principles that will be unique to your business vision.
Should you prefer SaaS and work your way down to PaaS only when needed? Or would you prefer to do the opposite, and rely more on custom development? This depends on what your needs and resources are. But these are the types of principles that you’ll need to codify as you begin making the switch to a cloud environment.
The principles you set forth are guidelines that your team will be following. Governance is stronger. It’s the set of rules that you’ll be enforcing regarding your company’s cloud operations. Sometimes, the rules don’t come from you. Legal compliance and consistency with industry standards are rules that you have little control over. Nevertheless, the rules need to be in place, they need to be thoroughly explained to the relevant staff, and there needs to be someone in charge of ensuring that they are followed.
Depending on the size of your company and your existing infrastructure, the move to the cloud could have a profound impact on your staffing and training needs. If you have a large IT department in charge of managing hardware that is being phased out in favor of a cloud-based solution, where do they go? Do they have skills that can transfer over to the new paradigm? What type of training will they, and the rest of the staff, need to get up to speed with the new way of doing things? Will any new employees need to be hired to oversee your cloud operations? These are questions you need to start asking long before you begin the transition process.
Finally, you must come up with a plan in case you need to exit a given cloud arrangement. This could mean leaving the cloud altogether and returning to local infrastructure. More likely though, it will mean switching providers. You’ll likely switch SaaS providers more often than you do IaaS providers, but change is fairly common in the industry. When choosing a provider, look at what their policies are regarding your data. How do you export the data from their services into a format that can be easily imported into another service? Who will be responsible for heading up the efforts, or actually doing the work? Having an exit strategy in place now will save you a ton of headache later down the road when you outgrow, or just grow apart from, your current providers.
How does the cloud adoption process begin?
Now let’s talk about how you actually going about starting the cloud adoption process. We’ll break it down into two sections. In this one, we’ll discuss the first steps to take. In the next, we’ll talk more about the actual transition process and what happens after you’ve completed it.
Assess your readiness
We’ve already talked a lot about what you need to do to get ready — the types of considerations you’ll be making and the changes your business may need to undergo. All of that was discussed when we described the cloud strategy. Now that you’re ready to take the first step to moving into the cloud, you’ll need to take that knowledge and develop a cloud strategy of your own.
At the bare minimum, you need to evaluate your current infrastructure and decide which changes need to be made. Will it be fully replaced by the cloud or will you take a hybrid approach? You can’t move to the cloud until you know where you are moving from. You should also have a set of policies and principles in place, and know who is in charge of overseeing them.
Choose a cloud service
With your fully fleshed out cloud strategy, you can begin the process of choosing your first cloud service. If you’re doing a fully SaaS approach, then you’ll likely have many services that you need to pick from and sign up for. PaaS, and especially IaaS, tend to be centered more around one provider. Whichever you choose, be sure to do an accurate estimate of the costs that will be involved so you aren’t taken by surprise when the bills come, and you can ensure that the cost-benefit analysis of making the switch works out in your favor.
When selecting a cloud service, you want to pay attention to more than just their price. Cheaper services are often less reliable, so be sure to look for uptime guarantees. Some services will offer you deep discounts on cloud infrastructure if you are willing to use hardware that can be interrupted at any time. This is their way of monetizing hardware that is sitting idle without depriving higher-paying customers of the resources they were promised. For the right projects, these types of deals can be a win-win.
What are the next steps when moving to the cloud?
Now that you’ve picked your provider, it’s time to begin the process of transitioning into the cloud. Like nearly everything else we’ve covered, each of these topics could be a post unto itself. While we can’t cover everything there is to know, we’ll give you a brief overview of what you need to be mindful of as you begin transforming your infrastructure.
Development and deployment
Developing for the cloud is a little different from developing locally. Because the technologies are different, your front-end and your back-end are separate. Most cloud developers embrace this separation, turning their back-end into web services that are accessed by the front-end by REST or other interface methods.
Because cloud software doesn’t need to be installed on local machines, it is much easier to move to a continuous deployment setup. Doing so allows you to fix bugs, roll out new features, and patch security holes faster and with less friction.
Typical sysadmin strategies don’t work well in the cloud. In an effort to transform how operations work in a cloud-based environment, Google coined the term Site Reliability Engineering (SRE). They describe SRE as what happens when you treat operations like a software problem. In many ways, this is a metaphor. But it is also very literal in some ways. Cloud services are delivered on virtual machines. Your ‘hardware’ is set up, configured, deployed, and managed using software such as Terraform. If you are going to be operating in the cloud, it’s worth learning more about SRE and how it brings software engineering methodology to operations.
Moving to the cloud means greatly increasing the security threats that you’ll be facing. It’s imperative that you make security a priority as you transition to a cloud-based setup. This means penetration testing to make sure unauthorized people cannot access your data, planning for and drilling on procedures for security emergencies, and moving threat assessment and modeling into the forefront of your development practices. Many cloud-based companies have moved security in with DevOps — a philosophy known as shifting left.
This is a complex subject, with a lot to cover. If you’d like to learn more about building the perfect cloud strategy that aligns with your business vision, consider signing up for our Cloud Strategy Boot Camp. The boot camp goes much more in-depth than can be covered in a single blog post. After completing it, you’ll have the confidence to tackle any migration to the cloud. If you have any questions about the course, please do not hesitate to contact us.