Also, you may decide that now's a good time to ditch some of your current applications and use an SaaS model where the cloud provider manages the back-end IT infrastructure. With this information, you can evaluate the many different cloud company's service offerings in the marketplace.
A common practice is to determine what less critical or low-risk applications could be good candidates to move to the cloud. These applications can be used as a validation or proof-of-concept project for your company.
As part of the preparation, keep the finance group involved from the start of the project. IT expenses and budgeting often are a significant expense for any company, from the smallest local mom-and-pop shop to multibillion conglomerates. The cloud computing pay-as-you-go utility cost models shift the expenses away from the large up-front capital expenditures of equipment, services, and software. Cloud computing requires little, if any, up-front capital costs, and costs are operational based on usage.
Choosing Elements and Objects in the Cloud
Before making plans to migrate anything to the cloud, it's important to decide whether you want to use the IaaS, PaaS, or SaaS model, or any combination thereof. The model you use will determine the specific cloud building blocks you'll have to put together. As you already know, IaaS leaves much of the work in your hands, making migrations more flexible but more complicated. On the other end of the spectrum, the SaaS model makes migrations quicker and easier, but at the cost of giving up control over the infrastructure.
Once you decide on the model, identify what services and capabilities are available in the cloud that fit your needs and requirements. As service providers have expanded their offerings and capabilities, understanding all your options has become almost overwhelming. Some of the largest public cloud companies have more than a thousand objects and services to choose from, with more being added regularly.
To give you an idea of the plethora of options, let's start with the IaaS model. When it comes to virtual servers, there are a variety of prebuilt OSs to choose from. On the virtual hardware side, you can choose CPU and GPU power, memory, storage volumes, and network I/O. On the network side, you have load balancing, DNS and DHCP services, routing, firewalls, network address translation (NAT), and more. For storage, most cloud companies offer block, object, and file storage.
When it comes to PaaS and SaaS models, your options are naturally more limited because the provider takes on more responsibility for the back-end infrastructure. However, it's not unusual for a provider to offer different services that seem to be very similar to one another. For example, cloud providers offer a variety of managed database services for different types of databases. Likewise, they may offer messaging or email services that are compatible with different on-prem solutions. And of course, PaaS services and tools for developing and deploying applications are limited only by the vast number of programming languages out there.
The ubiquitous access and elasticity enabled by the cloud has birthed a phenomenon called the Internet of Things (IoT) . IoT describes the explosion of small, purpose-built devices that typically collect data and send it to a central location for processing. Some examples of IoT devices include temperature sensors, remote-controlled thermostats, and electronic buttons you push to order a new bag of kitty litter effortlessly. Some cloud providers sell such devices that you can program and integrate with the provider's IoT services.
Machine Learning/Artificial Intelligence (AI)
Machine learning/artificial intelligence (ML/AI) is fundamentally concerned with finding patterns in data. The popularity of ML/AI is growing rapidly because of its ability to make predictions and classify or label data in datasets that are too large to work with manually.
With all of the hype surrounding ML/AI, it's important to understand what it can't do. It can't autonomously write a coherent novel. It can't predict tomorrow's winning lottery numbers. In fact, the applications of ML/AI are much more limited than many assume. The capabilities of ML/AI are limited to three things:
Making predictions—for example, forecasting the weather or calculating the arrival time to a destination
Identifying patterns—Recognizing objects in images and classifying them according to their contents
Identifying anomalies—Detecting fraud or hacking attempts
ML/AI requires significant human input, and some applications require more human input than others. In fact, ML/AI is broken down into learning models based on the degree of human input required for them to operate—supervised and unsupervised.
Supervised learning applications include predictions and image or voice recognition. It requires creating or “training” an ML/AI model by feeding sample data into it. For example, if you want to create an application that identifies your voice in an audio file, you'd train the model using some quality samples of your voice. Subsequently, the model should be able to identify your voice accurately most of the time.
The accuracy of models depends on the size and quality of the training dataset. In terms of percentage, accuracy can be as high as the upper 90s, but rarely higher.
Unsupervised learning applications include anomaly detection and automatic classification. Unlike the supervised learning model, the unsupervised learning model requires no manual training. Instead, unsupervised learning automatically finds patterns in a dataset and creates groupings or clusters based on those patterns. For example, given a collection of potato pictures, an unsupervised ML/AI algorithm might classify them based on size, color, and the presence or absence of eyes.
It's important to understand the limitations of this approach. The algorithm doesn't know that it's looking at potatoes, so it might classify a bean as a potato if they look similar enough. All that the algorithm does is to label the pictures based on similarities. If you want your application to be able to take a collection of random images and identify all the potatoes, you'll have to use a supervised learning model.
Another interesting unsupervised learning application is fraud detection. If you have a credit or debit card, there's a good chance that your financial institution is using ML/AI for this purpose. It works by analyzing how you normally use your card—purchase amounts, the types of merchandise or services you purchase, and so on—to establish a baseline pattern. If your purchase activity deviates too much from this pattern, the algorithm registers it as an anomaly, probably generating a call from your financial institution.
If this sounds similar to the supervised learning model, it's because it is, but with one big difference—the model is always retraining itself with new data. To better understand this, imagine that you frequent a particular coffee shop and use your card to buy coffee. One day, the coffee shop closes its doors for good, and you end up going to another shop. This may initially register as a slight anomaly, but as you continue visiting the new coffee shop, that becomes your new baseline. The model is continually retraining itself on what your normal card usage looks like.
To put a finer point on it, in supervised learning the algorithm is looking for things it does recognize. In unsupervised learning, the algorithm is looking for things it doesn't recognize.
Creating and Validating a Cloud Deployment
Читать дальше