Cloud Computing Articles
10 Cloud Do’s and Don’ts
Many companies that have begun to move into the cloud don’t do a lot of planning. Executives in different business units began to use public cloud services out of frustration because of inefficiencies in the IT organization. Over time, the cloud has taken a front seat in the way the overall business is approaching their future of computing platforms.
It is increasingly clear that it is no longer good practice to simply move ahead with cloud services without a plan. Without careful planning things will invariably go wrong. Here are some ideas about what you should do and what you should avoid as you begin your journey to the cloud.
Do Plan for Cloud Native
As your cloud strategy matures, you should begin to think about building services based on a cloud native architecture. One of the benefits of cloud native is that you are building services that are designed specifically to operate in the cloud. A key benefit of cloud native services are modular and are therefore built with microservices and packaged in containers.
You will want to focus on a continuous development and deployment approach so that your applications and services are constantly evolving based on changing customer needs.
Do Plan for Data Consistency and Manageability
Ironically, one of the reasons companies look to cloud computing is to move away from the silos of data. In the highly distributed model of the cloud, data is stored across a wide variety of applications and services. There are many issues confronting businesses as they look for ways to manage data so that it can be effectively used to help the business understand results and plan for the future.
Although many tools allow data to be integrated across silos, it is more difficult than it may appear. To be successful, it is important that there be a common catalog where data elements are defined and managed. It is important that the organization understands the nature of stored data — for example, can data be readily shared or are there restrictions based on privacy requirements?
You also need to understand how the data can be used and who is allowed to access and change that data. You also have to consider where data needs to be located. For example, certain countries have rules that restrict where personal data can reside. When you need a fast response, you may want to place data near the source where queries are taking place. Security, governance, and manageability are top issues for managing data in the cloud.
Do Decide and Plan for Cloud Services
Public cloud services offer incredible ease of use and flexibility to add and subtract services as needs change. Increasingly, businesses are finding that they’re using more than one public cloud across the organization. For example, one set of developers may have standardized on a specific public cloud while another business unit may rely on a different platform. It is not uncommon for one company to use as many as five public clouds. In addition, these same businesses may be using hundreds of different SaaS applications. It can be difficult to keep track of all of the cloud services that are being used. It is therefore important to use tools that can discover what services are being used and by which departments.
In some cases, you’ll be in a good position to negotiate advantageous financial terms with cloud providers. When selecting public clouds, it will be important to focus on those that are using standards such as Kubernetes, Istio, and Dockers so that you have a better chance of having some level of portability across cloud services. When you determine that you need private cloud services review the offerings that use the same standards as those available on the public cloud. Consistency will make planning and execution much easier in the long term.
Do Have a Service Management Plan
As the hybrid cloud that consists of many different services in many different deployment models, you need to prepare for multicloud and hybrid cloud management. You do need to start thinking about all your public cloud services, platform services, SaaS applications, private clouds, and data center services and applications as a unified computing environment. There are many different levels of management that you need to consider and plan for. Do decide what is practical to do right away and what you’ll do over time as technology matures.
Initially, for example, you need to be able to monitor each service that you use for performance and security. Test new service management products and services as they become available so you’re ready when these services are mature enough to support your long-term plan. Begin evaluating management platforms that provide you with visibility across your entire computing environment. In the long run, you’ll want to understand performance across all services as though they were one computer.
The bottom line is that you want to demonstrate to your internal customers, external customers and partners that you can provide them with a well-managed computing experience.
Do Plan for Portability
Many companies that are using SaaS don’t make plans for the future, including what happens if their SaaS vendor goes out of business or becomes too expensive. Another issue to consider for the future is what you’ll do if you discover a different SaaS vendor who is better able to meet your needs.
You do need a plan for how you can move your data from one cloud environment to another. Make sure that your selected vendors provide a simple and inexpensive way to move your data. You don’t want to be surprised. With the advent of microservices and containers, it’s becoming more likely that you’ll be able to focus on portability. It may not be as easy as you would like, but it’s an important practice to get ready for the future.
Do Plan for Security
Security can’t be ignored in a cloud environment. In fact, fear of security breaches is one of the primary reasons that management is hesitant to move key services to the cloud.
Security is more than simply putting workloads behind the firewall. Organizations have to make sure that they have security across all their assets across all the cloud services they’re using. One of the biggest risks is to make sure that sensitive data is protected through encryption techniques. Do make sure that you have a well-constructed plan to protect your data no matter where it lives.
Do Execute on an Overall Hybrid Cloud Plan
When you’re creating a cloud strategy, it’s important to think about an overall plan for the services that will live across the public and private clouds and the data center. Many cloud services will be shared by developers in your company and with contractors. These same services may become product offerings that you provide to partners and customers. It’s therefore important that services are well tested, monitored, and catalogued.
At the same time, you have to know what your company’s IT assets are so that you can create a hybrid environment that’s accurate and efficient. Unless you control the quality of your overall environment, your company will be at risk. If you’re using a public cloud or a SaaS application, does your management care whether your application and data reside in a multi-tenant environment?
In most cases, multitenant is a secure and well-managed environment. However, you may have circumstances where your management team wants to isolate your company’s intellectual property from those belonging to other businesses. While it may not be technically necessary, it may be a governance requirement demanded by the business.
Don’t Rely on Only a Single Vendor
It’s tempting to find a cloud vendor you like and stop. However, that can be a mistake. Do plan to work with more than one cloud vendor so that you’re not stuck if something happens. Anything can happen. A vendor can have a catastrophic failure and be out of commission for a few hours or a few days. For example, if you’re developing and deploying an important application, you may want to have it replicated in several regions or on several different clouds.
You won’t understand these distinctions until you have some experience with cloud computing. This is especially important when you’re working in a hybrid cloud environment. You may find that certain cloud services require the capabilities of a high-performance network. Other services may not require this type of sophisticated performance. You need to plan for all the different requirements.
Don’t Over Invest in Licenses
Many cloud vendors create packages to make it attractive for their customers to buy in bulk. So, it’s tempting to buy more licenses for more years because of price. However, this can be a trap if you over-buy.
For example, a vendor might offer you half the list price per user per month if you sign up for 100 users over three years. The price is so attractive that you take the plunge, only to discover that you really are supporting only 25 users. No vendor is going to let you scale down those licenses once you have signed your contract.
At the same time, keep track of the tools you use to enhance your SaaS applications. Are these tools provided by independent vendors with well-defined APIs? Are the tools proprietary to that application? You need to determine which approach is going to service you best in the long term.
Don’t Overlook the Need to Manage Infrastructure
One of the reasons companies are attracted to the cloud is that they don’t have to worry about the details of managing software and infrastructure. However, don’t be fooled. Even if you’re using only a couple of public cloud services, you need to keep track of the performance of these vendors. If you’re using a customer relationship management SaaS platform and it’s unavailable for a couple of days, who is to blame? It’s quite likely that the sales and marketing team will blame the IT department, not the vendor. Increasingly, IT will have to provide performance, governance, and security oversight of cloud services.
Don’t Leave Your Data Center Alone
It might be a relief to use cloud services to get around some of the inconsistencies and complexities of the existing data center. However, it’s dangerous to assume that the data center should wither and die. The data center will remain viable for many years to come. However, you need to continue to transform it so that it can work in collaboration with cloud services. So, don’t leave your data center in the dark. Begin to plan a strategy to optimize the data center so that it handles the applications and tasks it’s best suited for.
Don’t Ignore the Service Level Agreement
All public cloud vendors, including IaaS, PaaS, and SaaS providers, will offer some sort of service level agreement that explains what obligation the vendor assumes and what risks you have to assume.
No vendor will take on obligations it doesn’t have to. So, it’s up to you to read the fine print and understand exactly what reality looks like. For example, no cloud vendor will reimburse you if you lose business because the service is not operational. They may indeed give you the money back that you spent on a service, but that will be small comfort if you’ve lost an important customer.
So, you must decide how much risk is acceptable. This information will help you determine which services can reside with a commodity cloud service provider, which ones need to be with a provider that offers a higher level of service, and which services should remain in your private cloud.
Do Move Forward and Don’t Look Back
We think that the movement to the cloud is inevitable. However, it’s not a strategy that you should adopt without careful planning. You must deal with issues in the cloud that are very different than those you encounter in a traditional data center. Software license models are different. Vendors take some responsibility for protecting your data and the performance of your services. However, the responsibility will land with your own company. Therefore, you need to move forward armed with the right information and with the right level of caution. However, if you take the right steps, we think that the future can be quite exciting.
Cloud Computing Articles
How SaaS Fits into the Multicloud World
SaaS applications rarely operate completely independently. Companies often have an IT landscape that looks something like this: SaaS for CRM, a second SaaS for human resources, in-house analytics hardware behind a firewall, and AI for testing. Much of this information is fed into their enterprise resource planning (ERP) system that may be housed in their data center. Providing processes that allow information to securely flow among these systems is critical. The figure illustrates this hybrid SaaS environment.
The environment described here truly is a hybrid cloud, and it is probably a multicloud environment as well. It’s a hybrid cloud because the SaaS applications are in a public cloud while the analytics are on-premises. It may also be a multicloud because the SaaS applications may be in different public clouds. These applications ultimately need to work together to provide full business value. Of course, a hybrid or multicloud environment can be simpler or more complex than the one illustrated in the figure.
Where do SaaS applications run? A SaaS vendor might run its software in the physical data centers it operates. Salesforce.com did this originally out of necessity because it was an early innovator without other options. Other vendors — for example, SugarCRM — run their SaaS offerings in public clouds, such as Amazon AWS or Google Cloud Platform. A SaaS running in a vendor’s data center isn’t necessarily more stable, but great software on an unreliable third-party platform is useless. So, it’s important to understand service level agreements (SLAs).
The ability of a SaaS application to run in different environments is important for many reasons, just as it is for almost any other application. Consider these examples:
- Physical location may make a difference. Some SaaS applications need to be close to their users. For example, a high-speed video streaming server will provide a better user experience if the data does not have to travel long distances. In addition, some businesses have governance rules that require that their data be located in the country where the company is based.
- Software location may make a difference. When SaaS applications interact with other applications, performance will benefit if they’re both in the same cloud. This may not be necessary for simple interactions, but as data quantity and communication rates increase, it becomes more important. This is one of the reasons you may find the same SaaS application in different public clouds.
- Flexibility may make a difference. Not all clouds are equal, and all clouds are constantly making changes to their offerings and prices. SaaS vendors should stay aware of each cloud environment and be ready to move their applications to the cloud (or clouds) that provide the best platform for their applications.
SaaS applications live in diverse environments, integrated with many services and other applications. Although this setup increases complexity, it also provides new opportunities.
So, when a division of your company wants access to all of an application’s data so that it can run analytics, it is no longer reasonable to say, “Sorry, that’s in the SaaS application.” Instead, you can now replicate the data onto your private cloud where the analytics team can make a copy of the golden master (a single version of the truth for the data — the reference model) to run its sophisticated number crunching, and other groups, such as development, can make a copy of the data and use it for testing in a public cloud.
Using SaaS as a cloud computing platform
In order to create a more feature-rich application, some SaaS vendors have turned their application into a cloud computing platform upon which partners and Independent Software Vendors (ISVs) can build applications that extend the SaaS platform. This model represents an ecosystem that extends the functionality and value of the SaaS application. Typically, these ecosystems are domain-specific, for example addressing healthcare, CRM, or other business focuses.
This is how it works: A SaaS vendor with thousands of paying customers opens its APIs to ISVs. These ISVs can then build applications on top of the SaaS vendor’s infrastructure. Therefore, they don’t need to write and deploy an entire application, but can focus on their specific extension of the SaaS platform. By building general domain functionality into the platform, the SaaS vendor attracts other vendors within that domain. Further, the SaaS vendor that created the platform typically takes care of messaging middleware, business process services, and other complex programming.
Note: A SaaS platform is fundamentally a PaaS provider to the partners and ISVs who build applications in the SaaS ecosystem. When an application is built on the PaaS platform, there is no need to specify an operating system as would be required if the platform offered an IaaS service. By offering only the services that are consistent with the domain addressed by the SaaS. the SaaS vendor exercises control over the applications built on the platform, ensuring that they address the SaaS’s domain.
Perhaps the most significant advantage to working in the ecosystem is that the SaaS vendor already has thousands of happy and paying customers. After a partner creates an application, it can market its software through the SaaS vendor’s portal in addition to using its own traditional sales force. This has become a standard model used by SaaS vendors to build their brand and power in the market.
Who builds applications on SaaS platforms
In this section, we take a closer look at the types of application developers that are suited to building their domain-specific applications on a SaaS platform. Partners and ISVs can be broken into two general categories: smaller startups and larger, established companies. It might be clear why a small company with limited resources might be motivated to build on top of, for example, the Salesforce.com platform, but if you’re a large player with your own customer base, why would you be part of another company’s ecosystem?
Established companies may want to join another company’s online ecosystem for many reasons. Software vendors with successful on-premises applications are receiving pressure to offer a cloud version of their software. One challenge that these larger ISVs face is that in order to have a successful, enterprise-class application, they must create and establish their cloud presence. Joining an existing ecosystem that has already established their business and attracted customers shortcuts the path to customer awareness.
Both large and small companies benefit by using the PaaS environment of the SaaS platform, which can dramatically decrease the amount of software that must be created to form a mature application, thereby increasing time-to-market.
Consider Veeva Systems, a software vendor that has developed a cloud-based CRM solution for the pharmaceutical, animal health, and biotechnology industries. Veeva built its software in the Salesforce.com ecosystem. Without Salesforce.com, Veeva would have had to create a completely new platform from scratch — a monumental and expensive endeavor for a small company. Salesforce.com can’t meet the unique needs of every industry, so where Salesforce.com falls short, partners like Veeva step in.
For example, pharmaceutical companies must comply with specific regulations. Veeva has built-in functionality to track and report the required information. Because Veeva controls software and process updates, when reporting requirements change, it updates the application so that all its users have access to the most up-to-date offering and are in compliance with government regulations and industry practices.
One might think that building a SaaS application in another business’s ecosystem would devalue the application. However, the opposite is often more likely. You have no doubt noticed how food vendors at a mall are all located in the same area. Sometimes called the
food court model, related businesses can do very well when co-located, not least because the customers attracted to the ecosystem are all highly qualified to do business with the vendors there.
Developing on a SaaS vendor’s platform
Clearly, there are great benefits for ISVs that build applications in an established ecosystem, but these independent development companies may be at the mercy of the SaaS vendor. The SaaS vendor develops and maintains the platform, and the ISVs who have built applications on the platform are then dependent on it operating predictably. If the SaaS vendor does an update, the platform may possibly change its behavior in a way that destabilizes the ISVs’ applications.
Of course, stability and consistency over time is important for any platform, from cloud infrastructures to operating systems. But SaaS platforms are relatively new, and SaaS businesses may not have as much experience in maintaining them. To protect themselves, independent vendors should have the opportunity to thoroughly test their application on a newly modified platform before upgrades are released to end users. ISVs should research a SaaS vendor before developing on its platform to verify it provides the stability required to safeguard applications.
However, in practice, the relationship between SaaS platform vendors and their ISV partners is symbiotic — each needs the other for success and growth. A SaaS platform should document its APIs and state how long they will be supported. The success of applications on a SaaS platform will benefit the SaaS vendor, just as failures will be attributed to the platform. Applications built on the SaaS platform will be branded with the creating company’s name, and they will, therefore, also be credited with the application’s success or criticized for failure.
Examples of SaaS platforms
Like so many things cloud, SaaS applications have reached a certain degree of maturity — marked by users taking new SaaS applications for granted rather than marveling over every new SaaS application. In the following sections, we explore a selection of the major types of SaaS applications.
SaaS business applications
From accounting software to customer relationship management, supply chain management, financial management, and human resources, there are SaaS applications for all the standard business practices. Not long ago, many of these functions were custom-created and run in on-premises data centers. Now, they’re in the cloud and generalized to make them suitable for the vast majority of businesses.
These products tend to have several characteristics in common: They’re designed with business processes built in that customers can modify; they have published APIs so that third-party vendors and businesses can add functionality. These applications have moved in great numbers to the cloud because customers found the on-premises systems too hard to manage, and users need access to the application while on the go.
SaaS collaborative applications
SaaS is very popular for collaborative applications. This area is dominated by software that focuses on bringing people together — and most people are already in the cloud — to work together on shared activities. For example, web conferencing, document collaboration, project planning, instant messaging, and email and all collaborative applications. In a sense, it was inevitable that these platforms would move to the cloud. These tasks exist throughout the organization and need to be easily accessed from many locations.
SaaS development services
With more and more companies building software for the cloud, it’s not surprising that many companies are building services that make it easier to build applications.
Services means online software that is intended to be a part of an application, not an application itself.
Examples of development services include
- Monitoring as a service: SaaS applications usually work well, but even the best can run into problems. Issues can come from bugs in the SaaS, reactions to unanticipated situations, or problems outside the SaaS. In each of these cases, the SaaS vendor needs to quickly understand what is going on and remedy it. They’ll be lucky if they can fix the problem before customers start calling the support line. And if customers do call the support line, support personnel need to understand what the problem is so that they can help the customer work around the problem. Monitoring software examines many sources of information about the SaaS application and its operational context and delivers it to support, development, and other business units.
- Compliance as a service: Compliance responsibilities are time-consuming and complicated tasks that large companies must perform. Because compliance is a well-defined activity, yet very involved with many special cases, many companies have implemented compliance solutions as a service so the SaaS company doesn’t have to.
- Security as a service: Almost without exception, vendors providing antivirus software are offering their products as a service. However, security extends much further than looking for viruses in communications. Increasingly, security is an activity that is part and parcel of software development and must be designed into software as it is being designed and built.
- Database (and other components) as a service: Every application works with data and needs to store it, and databases (in this context, DBaaS, or Database as a Service) are the standard tool for storage and management of data. Every cloud environment offers many types and vendors of databases. Typically, it takes only a short time, perhaps minutes, to provision and launch a database and start using it. Other components used to build SaaS applications are also available for use in the cloud, including identity management, credit card processing, analytics, big data storage and analysis, and so on.