cloud Archives - Stackify Tue, 23 Apr 2024 06:19:50 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.4 https://stackify.com/wp-content/uploads/2023/02/favicon.png cloud Archives - Stackify 32 32 Mobile Cloud Computing: Overview, Challenges and Scope https://stackify.com/mobile-cloud-computing-overview-challenges-and-scope/ Wed, 09 Nov 2022 10:24:02 +0000 https://stackify.com/?p=35977 The process of delivering mobile apps utilizing cloud technology is known as mobile cloud computing (MCC). Complex mobile apps today carry out activities including authentication, location-aware features and providing users with customized communication and content. As long as your device is online, mobile cloud computing enables you to store and access data anywhere. This makes it possible for data to be sent without difficulty anytime required.

Currently, mobile functions have advanced to include capabilities that once seemed almost impossible. With a straightforward handheld gadget, people can perform tasks like voice commands, face recognition and more. The opportunity to include functions with extraordinary user-friendliness is now available to app developers.

Organizations moving to the cloud have steadily reduced the money they spend on on-premises data center resources. Expertise in cloud computing is in tremendous demand, and the availability of experts with the necessary skills to fill the open positions is growing. Service providers and businesses also must know how to maximize cloud capabilities to get most out of your cloud investment. 

Cloud Computing

Cloud computing is delivering computer resources and software, such as servers, storage, databases, software and analytics, through the Internet. Switching to the cloud offers scalable economies, flexible resources and rapid innovation. Large clouds usually distribute their functions across data centers in several locations. While cloud computing eliminates certain aspects of IT management – security, availability and processing power, to name a few – businesses need full-featured cloud applications to maximize benefits.

Challenges in Mobile Cloud Computing

Mobile computing and cloud computing are two different animals that feature both overlapping and different functionalities. Complex mobile apps today require extensive computational resources to provide expected features and a great user experience. MCC is the method of using cloud technology to take the pressure off mobile devices by harnessing the power of cloud infrastructure to deliver mobile apps. Let’s take a look at a few challenges that arise while using MCC to create apps:

Less Network Bandwidth

Utilizing MCCs for deployment necessitates constant communication. A developer can run into issues if a wireless network is being used, generally due to the low bandwidth or reliability issues of wireless networks. Therefore, the speed of the apps is substantially slower compared to wired networks. Although 5G wireless networks are on the horizon, it is simply hard to deliver the same experience over mobile devices.

Subpar Services are Offered

Mobile users might receive a very low-frequency signal, slowing the application’s speed and decreasing its storage capacity. Additionally, consumers encounter problems, including breakdowns, crowded transit and coverage gaps.

Hardware Problems

Even with the most advanced technology, batteries are a limited energy supply for mobile devices. Cloud-based functions use the battery more frequently, depleting battery charges more quickly. Some may avoid MCC app development due to battery life issues negatively impacting their user base. However, the tradeoff on not having MCC apps could be even more damaging for many companies in most industries.

Operating System Support

Functions developed with MCC must run on a variety of operating systems, including Android, iOS and Windows. As a result, development teams must know which programming languages support multiple mobile operating systems. Developers need to be knowledgeable about Intelligent Radio Network Access (IRNA), as well.

Security Concerns

With MCC apps operating on wireless networks, threat management and threat identification have proven to be complex tasks. As a result, there are more opportunities for network information to be missed or completely absent. Vulnerabilities are also high due to the architecture’s numerous handoffs and lack of multi-layer security. In addition, the multi-user nature of the MCC architecture also causes security-related problems. When numerous users utilize cloud services, the number of entry points is a security issue for all users.

Future Scope of Cloud Computing for Mobile Devices

The field of MCC is expanding significantly. According to Mordor Intelligence, the global market for mobile cloud computing will reach USD $118.70 billion by 2026 at a CAGR of 25.28 percent. These numbers bode well for new companies entering the market, which will surely continue to feed demand for MCC apps. Other factors contributing to the increase in demand for MCC include:

Easy, Real-Time Data Access

Due to the availability of data synchronization tools between two devices or a device and a desktop, data storage in the cloud enables users to conveniently access their data. As a result, data may be accessed instantly and easily on any device, anywhere, at any time.

Saves a Large Amount of Storage Space

Mobile users don’t have to worry about paying for external memory cards or maxing out their internal memory. Computing resources in the cloud have large, built-in storage capacity.

Increased Battery Life

As more and more data processing takes place in the cloud, mobile devices won’t have to do as much heavy lifting. As a result, batteries won’t be as taxed as when a cloud-based application is running in the background.

Conclusion 

MCC provides customers with superior storage and simple access to data. Unsurprisingly, successful mobile apps leverage these cloud-based app development advantages and many others. As more industries utilize MCC for enhancing consumer-focused functions, this demand is only expected to escalate. The key advantage of MCC is its ability to offload resource-intensive programs to the cloud, which reduces strain on device CPU, storage and battery life. As the fundamental shortcomings of MCC apps are overcome – limited wireless bandwidth for cloud access, efficient in-network processing, security, etc. – the demand for MCC apps and application developers will only grow.

]]>
What is Cloud-Native? Is It Hype or The Future of Software Development? https://stackify.com/cloud-native/ Thu, 23 Sep 2021 21:11:00 +0000 https://stackify.com/?p=15339 For quite a while now, cloud-native has been one of the hottest topics in software development. Some developers just call it hype that will lose traction and disappear after some time. For others, it’s the future of software development.

Whatever tomorrow brings, cloud-native is currently one of the biggest trends in the software industry. Additionally, it has already changed the way we think about developing, deploying and operating software products.

But what exactly is cloud native?

Different definitions of cloud native

Cloud native is a lot more than just signing up with a cloud provider and using it to run your existing applications. Cloud native affects the design, implementation, deployment and operation of your application.

Pivotal, the software company that offers the popular Spring framework and a cloud platform, describes cloud native as:

“Cloud native is an approach to building and running applications that fully exploit the advantages of the cloud computing model.”

Source: What are Cloud-Native Applications? – Pivotal

The Cloud Native Computing Foundation, an organization that aims to create and drive the adoption of the cloud-native programming paradigm, defines cloud native as:

“Cloud native computing uses an open source software stack to be:

Containerized. Each part (applications, processes, etc.) is packaged in its own container. This facilitates reproducibility, transparency, and resource isolation.

Dynamically orchestrated. Containers are actively scheduled and managed to optimize resource utilization.

Microservices-oriented. Applications are segmented into microservices. This significantly increases the overall agility and maintainability of applications.”

Both definitions are similar, but looking at the topic from a slightly different perspective, you could summarize the definitions as:

“An approach that builds software applications as microservices and runs them on a containerized and dynamically orchestrated platform to utilize the advantages of the cloud computing model.”

Let’s be honest: “Utilize the advantages of the cloud computing model” sounds great. But, if you’re new to cloud-native computing, you’re probably still wondering what this is all about. You may also wonder how it affects the way you implement your software. At least that’s how I felt when I read about cloud-native computing for the first time.

Let’s take a look at the different parts.

Containers

The basic idea of containers is to package your software with everything you need to execute it into one executable package, e.g., a Java VM, an application server, and the application itself. You then run this container in a virtualized environment and isolate the contained application from its environment.

The main benefit of this approach is that the application becomes independent of the environment. An added benefit is that the container is highly portable. You can easily run the same container on your development, test or production system. And if your application design supports horizontal scaling, you can start or stop multiple instances of a container to add or remove instances of your application based on the current user demand.

The Docker project is currently the most popular container implementation. It’s so popular that people use the terms Docker and container interchangeably. Keep in mind that the Docker project is just one implementation of the container concept and could be replaced in the future.

If you want to give Docker a try, you should start with the free community edition. You can install Docker on your local desktop. This allows you to start building your own container definitions and deploy your first application into a container. And when you’re done, you can handover the container to a coworker who does quality assurance and deploys it to production afterward.

You no longer need to worry if your application will work in the test or production environment, or if you need to update some dependencies. The container contains everything your application needs, and you just need to start it.

The official documentation shows you how to run Docker on your system and provides a good guide for getting started.

Orchestration

Deploying your application with all dependencies into a container is just the first step. It solves the deployment problems you had previously, but if you want to benefit from a cloud platform fully, you’ll experience new challenges.

Starting additional nodes or shutting down running application nodes based on the current load of your system won’t be easy. You’ll need to:

  • Monitor your system
  • Trigger the startup or shutdown of a container
  • Make sure that all required configuration parameters are in place
  • Balance the load between the active application instances
  • Share authentication secrets between your containers

Doing all of that manually requires a lot of effort. Additionally, it is too slow to react to unexpected changes in system load. You need to have the right tools in place that automatically do all of this for you. Different orchestration solutions are built to automate reactions to unexpected changes with popular options including Docker Swarm, Kubernetes, Apache Mesos and Amazon’s ECS.

Microservices

Now that we have all the infrastructure and management in place, it’s time to talk about the changes that cloud native introduces to the architecture of your system. Cloud-native applications are built as a system of microservices. I’m sure you’ve heard about that architectural approach already, and I’ve also written a series of posts about it here on this blog.

The general idea of this architectural style is to implement a system of multiple, relatively small applications. These are called microservices and work together to provide the overall functionality of your system. Each microservice realizes exactly one functionality, has a well-defined boundary and API and gets developed and operated by a relatively small team.

This approach provides several benefits.

Benefits of Microservices

First of all, it’s a lot easier to implement and understand a smaller application that provides one functionality, instead of building a large application that does everything. The approach speeds up development and makes it a lot easier to adapt the service to changed or new requirements. You needn’t worry too much about unexpected side effects of a seemingly small change. Additionally, it allows you to focus on the development task at hand.

Scaling

Microservices also allow you to scale more efficiently. When I talked about containers, I said that you could simply start another container to handle an increase in user requests. We call this horizontal scaling. You can basically do the same with every stateless application, independent of its size. As long as the application doesn’t keep any state, you can send the next request of a user to any available application instance.

Even though you can scale similarly with a monolithic application or a system of microservices, it’s often a lot cheaper to scale a system of microservices. You just need to scale the microservice that gets a lot of load. As long as the rest of the system can handle the current load, you don’t need to add any additional instances of the other services.

Scaling is entirely different with a monolithic application. If you need to increase the capacity of one feature, you need to start a new instance of the complete monolith. That might not seem like a big deal, but in a cloud environment, you pay for the usage of hardware resources. Even if you only use a small part of the monolith, you still need to acquire additional resources for the other, unused parts.

Microservices, as you can see, let you use the cloud resources more efficiently and reduce the monthly bill of your cloud provider.

Challenges Introduced by Microservices

As always, you don’t get the benefits of an architectural style for free. Microservices remove some complexity from the services themselves and provide better scalability, but you’re now building a distributed system. That adds a lot more complexity on the system level.

Cloud native applications built as a system of microservices

To minimize this additional complexity, try to avoid any dependencies between your microservices. If that’s impossible, you need to make sure that dependent services find each other and implement their communication efficiently. You also need to handle slow or unavailable services so that they don’t affect the complete system. I go into more detail about the communication between microservices in Communication Between Microservices: How to Avoid Common Problems.

The distributed nature of your system also makes it a lot harder to monitor and manage your system in production. Instead of a few monoliths, you now need to monitor a system of microservices, and for each service, there might be several instances that run in parallel. When you need to monitor additional application instances, use a tool like Retrace to collect the information from all systems.

Building microservices

You don’t need to use a specific framework or technology stack to build a microservice, but it makes it a lot easier. Specific frameworks and technology stacks provide lots of ready-to-use features that are well tested and can be used in production environments.

In the Java world, there are lots of different options available, including the popular Spring Boot and Eclipse Microprofile.

As you might guess from its name, Spring Boot integrates the well-known Spring framework with several other frameworks and libraries to handle the additional challenges of the microservice architecture.

Eclipse Microprofile follows the same idea, but uses Java EE. Multiple Java EE application server vendors work together to provide a set of specifications and multiple, interchangeable implementations.

Summary

The ideas and concepts of cloud-native computing introduced a new way to implement complex, scalable systems. Even if you’re not hosting your application on a cloud platform, these new ideas will influence how you develop applications in the future.

Containers make it a lot easier to distribute an application. Use containers during your development process to share applications between team members or to run applications in different environments. After all tests are executed, you can easily deploy the same container to production.

Microservices provide a new way to structure your system, yet introduce new challenges and shift your attention to the design of each component. Microservices improve encapsulation and allow you to implement maintainable components that you can quickly adapt to new requirements.

If you decide to use containers to run a system of microservices in production, you’ll need an orchestration solution that helps you to manage the system.

Build the best cloud-native services with Retrace

Whether a fad or not, cloud native offers flexible solutions for software products depending on the project requirements. In fact, microservices are used by many companies to implement their software products.

When you employ cloud services, having a tool like Retrace will help you monitor performance. Retrace is a code-level APM tool capable of managing and monitoring your app’s performance throughout the software development lifecycle and offers other valuable features, such as log management, error tracking and application performance metrics. Get your FREE 14-DAY TRIAL today.

]]>
Azure Container Service (AKS) – A Detailed Intro https://stackify.com/azure-container-service-kubernetes/ Wed, 18 Dec 2019 21:45:00 +0000 https://stackify.com/?p=18994
Over the last few years, people have increasingly been adopting containers. But to use containers at a large scale, you need to use an orchestrator to ease the administration of your applications. Kubernetes is the most popular orchestrator and, while there are many concepts you need to learn to make the most of it, the benefits of using Kubernetes are truly amazing.

These days, we no longer have to go through the hassle of installing, configuring, and maintaining all of the tools and services for our applications. With technologies like serverless architecture, we’re trending towards caring less and less about infrastructure so that we can focus on what’s really going to provide value. Microsoft understands this, which is why Azure provides many platform as a service (PaaS) solutions.

Azure has an offering for Kubernetes: Azure Kubernetes Service (AKS), previously known as Azure Container Service. In this post, I’ll talk more about AKS and show you two methods you can use with it to create a cluster.

What is Azure Container Service?

Installing, configuring, and maintaining a Kubernetes cluster could distract your company from the things that provide value. Wouldn’t it be nice not to waste time and resources managing Kubernetes? That’s where Azure Container Service (AKS) comes in. Now, your first thought might be that the abbreviation should have a C and not a K…but the idea behind using the K is to emphasize that it’s a Kubernetes-managed service.

Azure’s offerings for containers began with Azure Container Service (ACS), which gives you the option to choose between the most popular container orchestrators: Mesos, Swarm, and Kubernetes. With ACS, you have to pay for the master servers of the orchestrator, and some orchestrators need more resources than you might think.

AKS, on the other hand, does not charge you for Kubernetes masters—you only pay for the nodes (minions) where your containers will be deployed. But if you think starting right away with Kubernetes could be overwhelming, there’s also a cooler service called Azure Container Instances (ACI), which is the “serverless” offering for Docker containers in Azure. What’s nice about this service is that you can scale Kubernetes using ACI. ACI is still in preview, but AKS could become even more powerful with ACI.

The cool thing about AKS is that you can try out the service without using huge virtual machines. It’s important to mention that AKS—as of today—is still in preview, so the instructions below might change in time.

Prerequisites

Before you start, you need to have the following:

  1. Coffee. Lots and lots of coffee. (You know, we have to have priorities.)
  2. An Azure account with a subscription. You need a credit card, but don’t worry—you’ll get initial free credits when you start a subscription. You can also get some free credits if you have an MSDN subscription or if you sign up for the Dev Essentials program. If you know more ways to get free credits, let me know in the comments section.
  3. Azure CLI installed and configured.
  4. Kubernetes command-line tool kubectl installed.
  5. Lastly, make sure the Azure subscription you use has these required resources: Storage, Compute, Networking, and ContainerService. If you’re not sure how to register resources in the subscription, read on!

Register required resources in the subscription

Go to the subscription page by clicking on the “All services” link (1) in the top-left panel, then click on the “Subscriptions” link (2). You can see the steps indicated in the screenshot below.

Microsoft Azure AKS

Select the subscription that you’ll use to create the AKS cluster. I’ll be using my “Azure Pass” (1) subscription.

Microsoft Azure AKS Subscriptions

Scroll down a little bit and click on the “Resource providers” link to register or review the resources needed.

Azure Pass AKS

Search (1) for the resources I listed before: Storage, Compute, Networking, and ContainerService. If it’s not registered, click on the “Register” (2) link and wait a little bit.

Azure Pass AKS

Let’s cross our fingers—hopefully now you have everything you need to create an AKS cluster using the portal command line. Ready to move on? Did you double-check your coffee supply? Good. Here we go!

Method 1: Creating an AKS/Azure Container Service cluster using the Azure Portal

At the time of writing, AKS is in preview, meaning that the following screenshots and instructions might change by the time you’re reading this post. I recommend you look at the official AKS docs in case things look different in the Azure portal.

1. Create a new Azure resource

Go to your Azure portal and in the top-left panel, click the “Create a resource” (1) link. Then select “Containers” (2) and click on the “Kubernetes Service” (3) link.

AKS Cluster Resource

2. Fill In the Basics configuration

You should now see the image below:

Azure AKS Basics Configuration
Choose your subscription. In my case, when I registered my Azure Pass (1), an “Azure Pass” subscription was created. You can use an existing resource group, but for our purposes let’s just create a new one. A resource group is a way for Azure to keep all related resources together so that you can make templates, share permissions and policies, or clean out everything by simply deleting the resource group. So choose “Create new” and name it—I put “coolapp” (2).

Choose a name for the cluster. I went with “coolk8s” (3). Choose a region where the cluster should be created (4). Ideally, it should be one that’s physically near your users (so if your users are based in the US, you want to create your virtual machine in a US region).

Select the latest version of Kubernetes (5) cluster. Then, write a DNS name (6) to identify your cluster—this should be unique across all Azure users, so if you’re getting an error, it could be because someone else has already chosen the name you used. Go to the “Authentication” tab to see this:

Kubernetes Cluster Azure AKS

Azure has made the service principal integration simpler—in case you’re just starting out, you can leave this option on default. A service principal is needed so that AKS can interact securely with Azure to create resources like load balancers. Kubernetes’ services will sometimes need to be configured as load balancers, so AKS will create a real load balancer from Azure. In case you want to have more control and reuse a service principal, you can create your own, too.

Now it’s time to select which type of instance the cluster will use. You might see an error screen like this:

AKS Instance Error

If you are having an “error,” I can tell you it happened to me, too. Don’t worry, it doesn’t necessarily mean that you’re doing something wrong—it might just be because your subscription has some limitations. It could also mean that you’ve reached the instances limit or that creating the cluster will put you over the limit. All you need to do to get rid of the error message is click on the “Change size” link and choose a different instance type.

A note on node size

When I was creating my cluster, I was having problems and I didn’t know why. Azure support guys are amazing, seriously—DM them and they will help you. Otherwise, you can post your question on StackOverflow and the community there will help you. I was having problems creating the cluster because I was using a small instance for AKS. According to the support guys, you need to select an instance with at least 3.5 GB of memory. If not, the cluster won’t come up and you’ll see weird errors.

Even if you don’t have this error, let’s change the size so that you don’t spend too much on this test. The following screen should appear:

AKS Azure Node Size

Type “a2” (1) so that the “Standard A2_v2″ instance type appears and click it. Next, click on the blue “Select” (2) button. It will take you back to the previous screen.

AKS Node Size

I set my “Node count” option to 2. Once you’ve set that, click on the “Next: Networking” button. I spent a lot of time here because it’s the most critical section to successfully creating the AKS cluster. Let’s continue.

3. Fill in the networking configuration

Networking is one of the most important things to configure when you start integrating services, or if you want to create a VPN tunnel where you need to avoid any networking conflict to access the Kubernetes nodes that AKS configures. Click on the “Networking” tab. You should now be seeing this screen:
AKS Networking Configuration

You can leave this section as default and continue with those settings, but let me explain a few things in case you want to do something specific with networking.

Let’s start with the HTTP application routing (1). When you create a Kubernetes “LoadBalancer” service type, a public IP address is assigned to you. At some point, you might have problems when creating a new service because you’ve reached an Azure limit. Kubernetes has “a collection of rules that allow inbound connections to reach the cluster services” called Ingress, as indicated in the official docs. Ingress will allow you to have SSL termination and DNS endpoints for your services. If you want to dive deeper into the subject, you can check out this post.

For networking configuration (2), choose “Basic” for now and let Azure configure the networking for you. This is where you’ll define network ranges to allocate IPs—usually known as CIDR. This section is crucial for avoiding network conflicts with your on-prem network or other network resources in Azure. Click on the “Next: Monitoring” button to continue.

4. Fill in the monitoring configuration

There’s not a lot for me to say in this section other than, “This is freaking awesome!”

By default, AKS will give you metrics about the performance of the cluster, and if you choose (which I highly recommend you do!), you can get performance metrics for containers. You can also get logs to troubleshoot. These monitoring features are extremely useful when you integrate APM into your application.

AKS Monitoring Configuration

If you’d like to get an idea of what your monitoring results might look like, take a look at this document. Let’s not worry about the tags section for now, so click on the blue “Review + create” button to continue.

5. Review and create

We’re almost there!

Azure will start creating the service principal and will validate the information you entered, so the following screen should appear:

AKS Create Kubernetes Cluster Review and Create

Click on the blue “Create” button to create the cluster. Now’s the time to pause and refill your cup with fresh coffee. It will take a little time for Azure to finish creating the cluster—mine took twenty minutes.

Congratulations! You’ve created a Kubernetes-managed cluster in Azure.

Method 2: Creating an Azure Container Service cluster using the command line

UI is changing all the time, but the command line has stayed pretty constant. I find it valuable to use the GUI because it gives me a chance to understand visually how to create the cluster. On the other hand, using the CLI will help you to automate this process or use tools like Terraform.

Before we start creating the cluster using the command line, make sure you have all of the prerequisites that I described above. Also, if you created a cluster using the portal from the previous steps, make sure you delete it or change the names of the resources in the commands you run.

1. Create a new resource group

As I said before, a resource group is a way for Azure to keep all related resources together so that you can make templates, share permissions and policies, or clean out everything by simply deleting the resource group. So run the following command to create it:

az group create --name coolapp --location eastus

2. Create the AKS cluster

Run the following command to create the cluster:

az aks create --resource-group coolapp --name coolk8s --node-count 2 --node-vm-size Standard_A2_v2 --generate-ssh-keys

So what exactly did we just do? Let’s explore the parameters and values we entered here:

  • –resource-group is the name of the resource group we just created.
  • –name is the name of the cluster to identify it.
  • –node-count is the number of nodes we want for our cluster.
  • –node-vm-size is the name of the instance type we choose. It’s better to be specific here to avoid potential problems with the limitations of our subscription.
  • –generate-ssh-keys will generate SSH keys on your local machine so it’s easier for you to connect to any node if need be.

Specifying only those arguments means that Azure will use the default values for things like networking or monitoring that we saw when creating the cluster in the portal. Let’s keep it simple for now, but in case you want to explore the other arguments, you can take a look at the docs.

In the meantime, Azure will create the cluster. Mine took twenty minutes or so to finish. And that’s it! You created the cluster with just two commands. Now let’s make sure the cluster is actually working.

Accessing the Kubernetes UI locally

Whether you created the cluster using the portal, the command line, or both, the following instructions will work to access the Kubernetes dashboard. This is where you need to have the latest version of Azure CLI and kubetcl installed and configured.

1. Download cluster credentials

Start by downloading the cluster credentials to your computer by running this command:

az aks get-credentials --resource-group=coolapp --name=coolk8s

Specify the resource group with the –resource-group parameter and the name of the cluster with the –name parameter. Doing this makes it easy to toggle between different Kubernetes clusters that you’ve connected previously (for example, a local version of Kubernetes).

2. Browse the cluster

Run the following command. A new browser tab or window will open with the Kubernetes dashboard automatically.

az aks browse --resource-group coolapp --name coolk8s

Wait a few more seconds, and the Kubernetes dashboard will appear:

Kubernetes Dashboard AKS

If your screen looks like this one, congratulations! That means your cluster works and you can connect to it.

Clean up your resources

When you’re done, you can delete the AKS cluster by running the following command and then confirming that you want to delete it:

az aks delete --resource-group coolapp --name coolk8s

It will take some time to finish, but please keep an eye on the results of the command. The cluster might not be deleted, and you’ll end up paying until you delete it. If you want to delete the resource group, run this command:

az group delete -n coolapp

Let the cloud manage the Kubernetes cluster for you

Even though this was a long post, you can see that it’s really easy to create a Kubernetes cluster in Azure. The best part is that you only pay for the nodes you use and you don’t have to worry about administering the master nodes. If for some reason the master nodes are down, don’t worry! Remember that Kubernetes is just an orchestrator. The worst thing that can happen is that you won’t be able to do deployments, scale out, or down the application.

You can also connect to the Kubernetes cluster to do deployments, but I would recommend you use Visual Studio Team Services (VSTS) to create CI/CD pipelines. Or you can just simply access the dashboard to take a look. What’s important here is that you don’t have to worry about installing, configuring, and managing Kubernetes. You simply use it; it will be transparent for your deployments because in the end, it will continue to be a Kubernetes cluster.

]]>
Top 10 Azure Cognitive Services https://stackify.com/azure-cognitive-services-2/ Sun, 14 Oct 2018 14:39:39 +0000 https://stackify.com/?p=22608 Microsoft’s cloud-based platform Azure has helped many businesses expand and cut back on their costs associated with hosting and storing data on a traditional server. Furthermore, the platform has given developers a chance to create, manage, and deploy powerful applications capable of assisting cloud customers to perform any number of tasks. From handwriting recognition to text sentiment analysis and Bing ad-free image search, Azure’s ML-based services spans many areas.

In this article, we are going to talk about the most popular Azure cognitive services and how they can help your business grow. Note that there are five categories of services (vision, speech, language, knowledge, and search), each of them containing tailored applications.

1. Vision

The first category we’re going to discuss is called vision. More specifically, it refers to an application capable of identifying and analyzing content within videos and/or images. Since Microsoft’s Azure is considered among the leaders of cloud innovation through technologies such as artificial intelligence and machine learning, its vision-based services have been diversified as to accommodate various needs. Here are the most important.

Image analysis

feature name This feature allows the user to analyze and classify various visual elements found within a picture. The API, which can be tested for free on Microsoft Azure’s website, uses various domain-based models to describe any given picture in the world. For instance, it can tell you if the pic contains faces, its dimensions, format, if it’s adult content or not, and even identify the background/foreground dominant colors. The ‘descriptive’ part employs tags to actually tell what the AI ‘sees’ in that picture. If you have a pic depicting people waiting for the subway to arrive, the AI will use tags such as “large,” “woman,” “subway,” “indoor,” “luggage,” “standing” or even chunks of text like “people waiting for the subway to arrive.”

Handwriting recognition

Remember the last time you had to read someone else’s handwritten notes, but had no clue whether they were written in Medieval Klingon or English? Well, Azure’s Handwritten OCR (optical character reading) can help you with that. Reaping the benefits of AI and ML, this nifty tool can detect, extract, and digitally reproduce any type of handwriting. At the moment, the service is limited to English. However, the app’s powerful enough to work with all kind of surfaces like sticky notes, plain paper or blackboards.

Celebrity and landmark recognition in pictures

Image source: Microsoft Azure

It’s frustrating when you have to search your memory to find out the name of a celebrity or a landmark you remember visiting a long time ago. Azure’s Recognize Celebrities and Landmarks service has a vast database of celebrities (over 200,000) that spans various fields such as entertainment, sports, business, and politics. Furthermore, this database also included over 9,000 man-made and natural landmarks.

Read the text in images

Taking full advantage of Microsoft’s OCR, this application is capable of detecting any type of English text within an image and transform it into a stream of character that can be read by the machine. This app will surely come in handy to quickly ID embedded text.

Analyze videos in real-time

This tool is capable of stripping a video of your choice, frame-by-frame, and to return a text-based description of each one. For instance, if a frame captures a father taking a walk with his son on the beach, the text description could read something like “beach,” “water,” “shore,” “man,” “boy,” “sandy” or “outdoor.”

2. Speech

The second category we’re going to talk about is related to natural speech recognition engines. Those of you who are familiar with products such as Dragon Naturally Speaking, Windows’ Speech Recognition, Braina or Sonix, know all about the struggle of integrating speech recognition software into your workflow. Microsoft’s Azure offers AI-based speech services such as STT and TTS, which are far more accurate compared to their non-AI counterparts. Here are the most important speech services.

Speech recognition and speech-to-text transcriptions

Azure’s speech engine allows you to create user-tailored language models. So, regardless of speech style, geography or technical term, the app will be able to recognize everything you say and transcribe the text accordingly.

Text-to-speech transcriptions

Using advanced acoustic models, Azure’s service will definitely help you in the read-out-loud area. As soon as you start writing your text, the service can be configured to read it back. Although the service’s mostly addressed to users with impaired hearing, it can also be used to proofread texts on the go.

Real-time translations

Forget about Google translate or other freeware real-time translation software. Azure’s translation service is capable of interpreting text with unparalleled accuracy, regardless of the language. For the moment, the service has full English support (UK and US), but other languages are soon to follow.

Speaker verification

The need for security sometimes calls for ingenious measures. Although voice ID is not something entirely new, the concept being around for at least two decades, it has been abandoned and revisited countless times due to its low-security rating. Coupled with Azure ’s speech recognition, AI, and ML capabilities, the speaker verification system can recognize the logged speaker on the spot. Furthermore, the service’s so accurate that it can identify the intended speaker even if someone with the same voice range attempts to log in to the same account.

3. Language

Language and context-based meaning are two of the most important features that define communication. Microsoft’s Azure has a wide range of tools capable of analyzing and interpreting chunks of text.

Text analytics

Image source: Microsoft Azure

One of the most interesting tools offered by Azure’s language detection services is called Text Analytics API. This little helper will allow you to analyze and interpret a text based on parameters such as key phrases, languages, sentiment, and interlinking. So, how does this work? Let’s consider the following piece of text: “I had an awesome trip to Paris and really enjoyed taking pics of the Notre Dame cathedral. Azure’s API will ‘tell’ you that the texts are written in English (even display a language recognition accuracy gauge for this), showcase the key phrases (Paris, Notre Dame cathedral, awesome trip), sentiment (if it’s awesome, then it must be close to 100 percent) and provide links to various entities (Paris and Notre Dame, for instance).

Bing spell check

A quick spell check can now make a difference between landing a dream job and being mocked by the recruiter. Regardless of the circumstance, a powerful proofreading tool is a must. Here enters Bing Spell Search API v7, Azure’s take on accurate spell checking. This nifty tool covers punctuation, capitalization, style, and various grammar inconsistencies. You can check it out yourself on Microsoft’s Azure official website.

Translator text

Microsoft’s Translator combines neural machine translation and instant language recognition to offer a fully integrable translation platform. Some of the features that recommend Azure’s Translator API include transliteration (from Pin Yin alphabet into the Latin alphabet, for instance), alternative translations seeker using up-to-date bilingual dictionaries, offline support, a fully customizable UI.

Content moderator

For webmasters curating a forum or any kind of social platform, a powerful moderation tool is a necessity. Azure’s moderation tool can cover anything from images, text, and view. Even though the AI does all the heavy lifting, it still needs a human handler to keep everything in check. In other words, the user can adjust moderation filters, add exceptions or tweak the service’s ‘aggressivity’, aka how restrictive it should be when curating content, since not everything is harmful (think medical training videos).

4. Knowledge

And because knowledge is power, Azure’s cognitive services offer some of the most comprehensive and accurate database creation and search tools out there. No matter the question, you’re bound to find the answers you were searching for.

Q&A maker

Based on the users’ FAQ, Azur’s Q&A maker can whip up a database in no time. For instance, if the user types in a question such as “how do I log in?”, he/she will automatically receive the answer “by using your X account.” At the same time, the service can identify matching questions such as “how do I log in?”, or “how do I sing into the X website.”

Using this service, the website owner can construct a comprehensive FAQ section, without the need of thinking ahead. What’s even more awesome is the fact that Azure’s Q&A generator can build this knowledge base by analyzing the user’s line of inquiry, and then cross-referencing with the best section of your website that can answer those questions.

5. Search

The last type of cognitive services offered by Microsoft’s Azure is related to the way we search for things online. Even though Bing’s not as popular as Google, it employs powerful AI-powered algorithms capable of searching, comparing results, and summoning only those which are relevant to your inquiry.

Bing web search

Image source: Microsoft Azure

Reaping the benefits of Bing’s indexed web search, this Azure service can call up only the most relevant results based on the user’s search string. On your display, you will see an assortment of text, image, video, all relating to your search. You can apply additional filters such as market, safe search, and freshness.

Bing custom search

When a simple search is just not enough to get that answer you were looking for, you could try upping the game a little by using Bing Search API’s custom search. This adds several new configurations that you can use to narrow down your search. For instance, after writing down a keyword or phrase, a drop-down box will appear on top of your search bar. Use this to access various Microsoft domains such as Xbox, Microsoft official, Microsoft Dynamics, or Azure’s homepage. The results can be filtered according to the market. Safe search can also be adjusted, depending on the user’s search string.

Bing video search

It’s probably not the first time you’re searching for the name of that song/video clip that got stuck in your head. With Azure’s cognitive service, you’ll be able to find it in no time at all. Azure’s Bing video search is capable of providing information on view count, format, and of course, anything pertaining to the creator. So how does it work? For example, if you’re looking for Johnny Cash songs, simply type it into the search bar. You can further refine your search according to market, safe search on/off, freshness, video’s resolution, and video length.

Bing image search

Azure’s image search service works the same way, very much like its video search counterpart. Now let’s say you want to search for a new desktop background and that you’re interested in abstract art. If you search for this exact key phrase, you will be given various text examples to help you narrow down the search. For instance, Image search could provide you with examples such as sunsets, nature-inspired wallpapers, animals, or celebrations.

Of course, the search can be further refined according to image type (line, photo, clip art, animated GIF), market, safe search on/off, freshness, color (monochrome, blue, black, gray, green, orange etc.), license (public, share, share commercially, modify, modify commercially), and size.

Bing news search

And the last item on our Azure cognitive search services is the so-called Bing News Search API V7, a powerful news-orientated search platform that allows you to call up information on topics of interests. It employs roughly the same data processing and interpretation algorithms as image and video search. Now, as far as the operational part goes, upon entering a keyword, it will supply you with various contextual-based examples. Of course, you can narrow down your search even further by using filters such as market, safe search, and freshness.

Conclusion

Microsoft’s Azure has a wide range of cognitive AI-powered services, each designed to accommodate various needs – image, video search, face recognition, knowledge, spell check, speech recognition engine, image analysis. Furthermore, Azure’s greatest asset has to be integration – all these cognitive services will fit nicely onto your platform, without the need to do the additional tweaking.

]]>
Addressing Roadblocks in Cloud Computing https://stackify.com/addressing-roadblocks-in-cloud-computing/ Tue, 24 Apr 2018 13:20:21 +0000 https://stackify.com/?p=17716 Business owners are constantly searching for the next great technology that will help streamline solutions, improve workflow efficiency, and boost their ROI. Cloud computing has quickly become one of the most effective technologies in helping companies increase work output and cut costs. However, issues arise when businesses expand the scale of their operations when adopting cloud technology. This can become time consuming and expensive without the right guidance.

While there are no shortage of benefits to adopting the cloud, a small typo on a script can turn a well-oiled work environment into a financial black hole and logistical nightmare for companies. Failing to implement the adequate management techniques and quality control measures can lead to a number of issues. These include higher overhead, regulatory issues, and even data breaches.

Increasing operational efficiency, cutting costs, and enhancing security all begin with the integration of a centralized governance. Without proper governance, you’re bound to run into cloud migration roadblocks that could eat at a company’s potential of moving forward.

Centralized governance

A major challenge for companies using cloud computing is managing all the cloud tasks and tools. The best solution is a centralized governance structure for migrating workloads and handling all the moving parts. A recent cloud study found that the top cloud organizations are likely to use centralized governance to manage workflow, as doing so leads to faster decision-making and smoother day-to-day operations.

With a centralized governance, companies can fix solutions in real time without sacrificing the speed of their work output. This model helps companies make effective, efficient, and secure use of their IT resources. To develop a centralized governance, businesses should create guidelines that define the infrastructure for each application. This creates a consistent model that applies to the entire company.

This model should look at how to manage a business’s workload in every metric, including cost, performance, availability, security, and usage. The key is to create a set of parameters that prevents applications and their infrastructures from misfiring, going over-budget, or lacking the necessary security measures. Doing so will help fix these deviations in real time, keeping your operations balanced.

The use of resources in a centralized governance system can improve a cloud computing system’s cost, security, and usage across a variety of applications, services, and products.

Cost management

Cloud adoption can be a costly endeavor if it isn’t managed properly. Companies need to consider the utilization, performance, security, and availability of their products and services. Businesses can avoid unnecessary expenses by adding processes in their applications that maintain an efficient workflow without additional overhead costs. Operations often slow down when companies increase the scale of their operation, making it harder to manage a secure and speedy infrastructure without spending more.

A centralized governance system can also help keep costs at bay by establishing optimal parameters and processes for a cloud infrastructure. Doing so will simplify operations, automate faster decision-making, and ensure that workers use their resources to focus on more creative endeavors that add business value. Transparent communication between leaders and departments is also necessary for keeping track of costs month-to-month.

Meeting service level agreements (SLA) in the cloud is also essential to avoid regulatory problems. Companies can do so by appropriately allocating resources on the applications and solutions by measuring real eser performance. Utilizing the right amount of resources on the right application based on performance goes a long way in ensuring that a company’s finances line up with their volume and quality of work. Transparency is also important here as offering a comprehensive history of all transaction instances– including resource utilizations metrics and SLAs– helps companies make informed decisions on how to plan for future capacity requirements.

Optimizing security

It’s no secret that one of the cornerstones of an effective cloud computing system is a well-ironed security system that considers every variable and threat before they even arrive. Understanding the prevalent cloud security challenges and risks will keep a company’s servers secure. The best way to combat threats such as shadow IT, compliance issues, and improper encryption techniques is by understanding the risk they pose and how to shut them down before they hit a company’s servers.

While hackers pose a real threat to cloud systems, most of the risks happen internally rather than from an external source. Research from Gartner estimates that by 2020, 80% of cloud breaches will come from customer misconfiguration, mismanaged credentials, or insider theft. The best way to avoid these pitfalls is with an automated platform that runs policies to ensure security compliance.

There are more cloud security solutions than ever, making it even more important to do your research and plan your IT strategy accordingly. These cloud security tools are becoming increasingly specialized, addressing different segments such as data, encryption and user authorization; and identity and access management (IAM). Cloud access security brokers (CASBs) are also effective third -partysolutions that enforce security policy between consumers and cloud service providers.

Quality control is also critical for keeping your system working at a high level. Every company deals with a different set of issues when integrating cloud computing, meaning there’s no one-size-fits-all solution to this quality control issue. All workloads should be tested, however, including those not connected to the internet. Internal threats also need to be assessed to determine whether or not extra security measures should be added.

Overcoming roadblocks and doing more in the cloud

Cloud computing requires different security infrastructure than traditional IT resources. It’s difficult to develop a cloud system that meets regulations, works smoothly, and protects a company’s servers. Having the right tools and policies in place makes the process much easier. A centralized governance system goes a long way in maintaining the quality of a cloud system addressing threats in real time.

A complete assessment of SLAs, security measures, and resource allocation will help you address any roadblocks that pop up in an effective and efficient manner, while also reducing unnecessary overhead costs and optimizing work output.

With APM, server health metrics, and error log integration, improve your application performance with Stackify Retrace.  Try your free two week trial today

]]>
Know Your Cloud: 7 Lessons for Maximizing Cloud Capabilities https://stackify.com/cloud-capabilities-lessons/ Mon, 02 Apr 2018 13:28:15 +0000 https://stackify.com/?p=16630 The latest cloud capabilities give developers the flexibility to design their apps and services efficiently, without the expensive cost and manual setup of traditional data centers. The most popular cloud providers have a wide array of services that extend across the spectrum, from IaaS to PaaS, as well as hybrid, containers, and microservices solutions.

According to a Gartner survey, CIOs expect private, public, and hybrid cloud consumption to rise from 31% in 2014 to 58% in 2018, which means more tools, more options, and more ways for teams to integrate efficient continuous delivery methods. But with so many different types of cloud deployment models, it’s easy to feel like you’re not getting the most out of your cloud investment.

We spoke with 6 cloud development leaders to ask them how DevOps teams can maximize their cloud capabilities. From those conversations, we derived these 7 lessons:

Getting started on the cloud

Mark Davis, CEO of Real Quantum

“First, if you move the same old architecture to the cloud, you’re doing it wrong,” says Davis. “It’ll end up costing as much or more than on-premises operation. Change the architecture to leverage the strengths of the cloud, such as PaaS and elasticity, then make the move.”

“Secondly, data movement in and out of the cloud platform can end up costing you more than you thought,” Davis continues. “Cloud providers typically allow data ingress for free, but data egress incurs a charge. If your data has to move back and forth between on-premises or other cloud providers, be prepared for those costs.”

“And finally, the cost of cloud services isn’t the most important criterion when selecting a provider. Look instead at the availability and strength of key capabilities that your company will need down the road.”

Connect with Mark on LinkedIn

Scaling Your cloud services

Ben Finkel, Trainer at CBTNuggets

Cloud computing has obvious advantages when it comes to scaling a variety of web services. Developers have the opportunity to pay as they go, building their servers up, down, and even horizontally whenever they need to meet demand.

“Scaling down is often missed when people talk about scaling,” says Ben Finkel, trainer at CBTNuggets. “Traffic patterns change. Sometimes they burst and then they shrink.”

Data storage is also highly reliable and highly available on the cloud, allowing teams to provision, use, then de-provision data at will. This saves time and cost when temporary repositories are needed. Unlike like traditional data centers, developers have the ability to quickly reduce scale and automate when demand decreases, keeping costs low.

“For example, Black Friday shopping weekend in the USA is a huge retail weekend,” explains Finkel. “If you’re in retail, you need to increase capacity for that weekend, but when it passes, you need to decrease capacity.”

Connect with Ben on Twitter

Black Friday weekend sales growth. Source: https://www.statista.com/chart/7045/thanksgiving-weekend-e-commerce-sales

Weighing the cost of cloud computing

David Rael, host of Developer on Fire podcast

When estimating the cost, developers should consider what data resources they’ll need as their services and products mature.

“While snazzy web portals are nice and appealing, you want to be thinking more about APIs and command line interactions that allow you flexibility in crafting your own experience,” says David Rael, host of Developer on Fire.

Free cloud storage options have an advantage here to allow developers to transition their architecture slowly over multiple weeks, and lets teams get used to new processes and features. However, in the long run buying cloud storage is the better investment, ensuring more stability, storage space, and support from the provider.

Developers should also be aware of their Service Level Agreements (SLA)—again keeping in mind their product roadmap and long term goals. AI, big data, mobile, IoT, and blockchain all may require different cloud infrastructure solutions. These can dramatically impact the cost of any paid cloud deployment model and have more relevance when choosing a provider than teams may initially realize.

Connect with Dave on Twitter

Right-sizing your cloud capabilities

Scott Hanselman, Principal Program Manager for Open Source at Microsoft

Leveraging the automation and optimization tools of cloud providers can make a large impact on how you organize your dev teams. But quantity of tools does not always equate to quality, particularly if your team is on a budget.

“When I started, being colocated was crucial,” says Scott Hanselman, former Chief Architect at Corillian Corporation. “Now teams can be distributed throughout time zones and locations.”

Smart cloud monitoring can reduce operation cost by handling storage, replication, and hard-disk failures across the globe, while also keeping teams lean. This allows teams to focus on other tasks rather than monitoring hard disk space or server errors.

“A single thoughtful individual can now run a complete global startup, where the cloud is now taking the place of an entire teams of ops people,” says Hanselman.

Follow Scott on Twitter

Prioritize the right solutions

Amy Boyd, CTO and Startup Advisor

Teams should have a clear idea of the general solutions they need when deciding on what cloud capabilities to utilize. Teams should avoid solutions that involve extra servers and microservices that may be beyond their current resources and abilities.

“Cloud deployments have forced developers to think more about failure cases. When many parts of your overall software are separate networked services, it’s impossible to ignore failure,” Amy Boyd, former CTO of CityMunch says.

“Nowadays there could be failures in networks being unavailable, permissions not sufficient, networks being unstable, etc—so requiring a retry. Now your APIs need to be idempotent when the retry comes in. Who knows if the first request actually succeeded?!” Boyd states. “This is a good thing, though! Creating resilient software has never been easier.”

Follow Amy on Twitter

Take the right security measures

Scott Hanselman

Thanks to its remote operating nature, security is generally stronger for dev teams who utilize cloud computing. Most security threats and data breaches utilize physical access to systems, especially in small and mid-size businesses.

But with smaller teams relying more on automation, dev leaders must also implement quality processes for onboarding and offboarding personnel. Teams need to think about how to limit administrative privileges to users to avoid expensive cloud surprises.

“All the clouds have this and that certification, and this and that cloud computing security, and IiOS this and that. That doesn’t mean that you – the app developer and architect – are off the security hook,” Hanselman states.

The big public cloud providers all have robust security measures, each offering easy and low cost mitigations to potential security threats. Still, it’s important to know your industry and business needs when it comes to security.

“It’s still your responsibility, common sense, and best practices that rule the day,” Hanselman states.

No one-size-fits-all option for cloud services

Chris Hartjes, host of /dev/hell podcast

The cloud computing bandwagon has gained so much momentum that businesses are likely to jump on without seeing where the train is going. The tech is transformative, but business and DevOps leaders still need to think critically about their needs. There is no one-size-fits-all options for cloud services.

Chris Hartjes sums up this point well: “You have to decide how much you want to trust those who provide those services. Remember– you have to use their tools and follow their rules for interacting with whatever you are entrusting them with.”

When considering the balance of cloud computing options, developers must decide how much automation they wish to rely on, versus the cost and lack of control they give up in return. Some cloud options, like private and hybrid clouds, provide more flexibility and better prices for certain needs.

Maximizing your cloud platform

All of these cloud leaders will tell you that there’s more to maximizing your cloud capabilities that what’s in this article. This is simply a taste of the most important lessons learned from collective decades of cloud experience.

To learn more about maximizing your cloud platform, head over to the Stackify blog, where we cover cloud computing, DevOps, .NET, and so much more.

With APM, server health metrics, and error log integration, improve your application performance with Stackify Retrace.  Try your free two week trial today

]]>
A Developer’s Guide to Cloud Adoption and Paths https://stackify.com/developers-guide-cloud-adoption-paths/ Tue, 27 Mar 2018 13:24:16 +0000 https://stackify.com/?p=16645 Limited disruption. That is the dream of every organization when adopting new technologies. It reduces the anxiety of developers and operational staff alike. It makes management ecstatic as they won’t be subjected to news that another technology implementation went wrong. Minor glitches may still present themselves, but overall, they are not enough to derail the implementation of the new technology.

Cloud technology has the potential to limit disruptions. It can give your company the solutions it needs with limited downtime. It will be ready for you as your business expands or contracts, and it offers several choices that fit within your organization’s computational goals. Are you looking to replace your technology infrastructure? The cloud can do that. Are you seeking a platform for software development that can grow with the business? The cloud is capable of that, as well. Cloud technologies help answer the question of how to deploy solutions quickly, while not adding to the administrative costs and constraints often found with in-house solutions.

Unfortunately, there is much hype surrounding the cloud. This hype is one of the chief components that hold organizations back from adopting it. Cloud vendors add to the hype because they are trying to sell solutions. When you learn what the cloud can offer, you have the tools to cut through the hype and make the right decisions.

How to adopt cloud technologies

If you approached your manager and told her you could solve all your technology challenges by adopting the cloud, how receptive do you think she would be? Unless she was an expert in cloud technologies, she would be rather skeptical. Unfortunately, if you don’t have the answers to those questions, you won’t get very far.

When you learn what services vendors are offering, you can use that to determine what processes from your organization should be moved to the cloud.

Getting up to speed with your cloud discovery process

It’s helpful to grasp a few concepts relating to the cloud. The first step in adopting the cloud is to figure out which components your company should deploy to the cloud. This seems like a daunting task, and it can be. To make this easier, it’s important to understand the layers available in most cloud computing services.

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)

Some vendors will introduce other layers to try and differentiate themselves. However, most vendors will structure their services based on these three major layers. Here are some definitions to help you when approaching vendors.

cloud computing

Layers of Cloud Computing Services

File:Cloud computing.svg. (2016, December 5). Wikimedia Commons, the free media repository. Retrieved 16:26, March 12, 2018, from Wikimedia

Infrastructure as a Service (IaaS)

You can think of IaaS as the baseline layer. The other layers would still need IaaS to function. The question becomes do you want your provider to handle your infrastructure, i.e., networking, storage, virtual machines, etc., or would you like to keep control of it yourself? This is the layer that could replace your technology infrastructure (or at least part of it).

You would have control at this level, but only to the extent of the services the cloud provider makes available to you. This is defined via Service Level Agreements (SLA). In most cases, the implementation is done via virtualization, which is an important concept with cloud technologies.

Virtualization is the component of the cloud that gives users access to the services or software as part of the SLA. It is a layer of software that allows components of the cloud to function as if they were installed physically. It does this through a software layer called Hypervisor. You can think of Hypervisor as a dispatcher that is responsible for allocating the virtual processes to the hardware of the servers. Virtualization is not the cloud, but instead is the mechanism that helps make the cloud work.

Platform as a Service (PaaS)

If your organization wanted to keep control of its infrastructure, but wanted to deploy certain applications (software development, web services, etc.), you could use a cloud provider’s Platform as a Service (PaaS). What is offered in this layer is dependent on the vendor. That is why it’s critical to match your organization’s requirements to vendor offerings. This layer sits on top of the IaaS layer.

Software as a Service (SaaS)

As the name suggests, this layer allows users to run software provided by the cloud vendor. The software is usually web-based, which in most cases, means clients do not have to install software to run these applications. If you have ever used a service such as Dropbox, you have been a user of the SaaS layer. Salesforce is another example of software that runs on this layer.

These layers are not mutually exclusive when vendors make services available. It’s possible to ask for all the layers based on the needs of your company. These layers can be swapped in and out based on those needs.

Hey, You, Get Off of My Cloud

At a higher level from the layers of cloud technology, resides the cloud access level. This doesn’t refer to the physical location of the servers the cloud runs on, although that could be part of it. It refers to the type of access you require. There are three major access levels, with more are appearing on the scene as cloud technology progresses. These are private, public, and hybrid.

Private cloud

This portion of the cloud is exclusive to you. It will not be shared with anyone. Companies will choose this option when they have sensitive customer data and don’t want the risk of having that data exposed. In some cases, where low-latency computing is required (trading systems, etc.), a company can choose to have the private cloud installation on your location. However, this is not a requirement for a cloud to have private access.

Public cloud

At the opposite end of the spectrum is the public cloud. This is the cloud that is shared with other companies or entities. The technology resides at the location of the vendor, and the vendor is responsible for the mechanism for sharing. Companies will choose this access level when the data and applications are not sensitive and do not require low-latency processing or your company needs a high degree of collaboration.

Hybrid cloud

This access level is, as the name suggests, a mixture of public and private clouds. Many business processes are not sensitive and don’t require a full private cloud. A hybrid solution can satisfy the need to protect some processes and data, while allowing others to be shared.

Public clouds are secure. However, many managers don’t feel comfortable allowing their sensitive processes and data to be mixed in with other companies’ processes and data. In fact, there are several scenarios where companies can get into legal trouble by using a public cloud. Financial and healthcare are examples of industries that need to maintain a private cloud.

Feel free to explore this article for a more in-depth look at the different cloud deployment models.

Choosing a cloud vendor (or switching from an existing one)

It’s difficult to recommend a specific cloud vendor. It requires matching your computing needs with what is being offered by the vendors. Most cloud vendors offer affordable solutions. That’s part of the promise of the cloud. Therefore, price is likely to be the smallest constraint in the process.

choosing vendor

Instead of recommending vendors, use the following as a guide to help you ask the right questions. This will help you determine which vendors may be right for your company.

How can cloud computing help your organization?

When approaching a prospective vendor, present your computing requirements and ask how cloud computing will help your organization. With this question, the tone of the vendor is just as important as the answer. Is the vendor trying too hard to sell you without providing much insight? You want to look for vendors who can tell you how each requirement you specified will solve your computing needs or not. You should be skeptical of any vendor who tells you they can solve all your requirements. Ask them for proof.

Are there any hidden costs or services that will need to be added?

Ask potential vendors for the Service Level Agreements (SLA) based on your requirements. Review the agreement carefully and make sure the costs quoted by the vendors will cover all your requirements. Be sure to ask what level of control your organization has as part of the SLA. Don’t assume anything.

Can you try before you buy?

Ask for demonstrations and trial periods. For instance, Microsoft Azure offers a trial period. It gives users a 30-day run with a $200 allowance. Cloud computing is often charged on a pay-as-you-go basis. In the case of Azure, the trial will expire after 30 days has passed, or you have used the $200 allowance, whichever comes first.

What security is available as part of the solution? What is the customer responsible for?

Ask the vendor about security. Most vendor solutions are secure. However, customers are still responsible for some aspects of security. For instance, you have control of who you allow access to with many of the cloud services. You cannot simply wash your hands and claim the vendor is responsible solely for security.

Switching vendors? How will the new vendor help you transition?

If you are a current cloud customer and are considering switching vendors, what kind of migration support does the new vendor offer? How much downtime can you expect when making the switch?

Will you be charged for terminating your existing service?

What is the policy on terminating your service? Since most vendors adopt a pay-as-you-go model, terminating your service should not be an issue. However, ask before signing up to avoid any extra costs.

What are the major cloud vendors offering?

Examine a side-by-side comparison of the features offered by major cloud vendors. Try to see which ones make sense for your organization. These features can be the basis for further questions as they relate to your requirements.

Luckily, the environment for cloud computing is competitive. This is a boon for companies looking for cloud solutions. Cloud vendors will do whatever it takes to make vendors happy. You will be able to find the right solutions assuming you take the right steps when searching for vendors. Hence, there is no reason to put off exploring the cloud as a possible solution for your business. In fact, it’s not a matter of if you will adopt cloud technologies, but when.

With APM, server health metrics, and error log integration, improve your application performance with Stackify Retrace.  Try your free two week trial today

]]>
Compare Azure SQL Database vs. Azure SQL Data Warehouse: Definitions, Differences and When to Use https://stackify.com/azure-sql-database-vs-warehouse/ Wed, 14 Feb 2018 14:13:45 +0000 https://stackify.com/?p=15515  Azure SQL Database is one of the most used services in Microsoft Azure, and I use it a lot in my projects. It is basically SQL Server in the cloud, but fully managed and more intelligent. There is another service in Azure that is kind of similar, but not quite: Azure SQL Data Warehouse. Azure SQL Data Warehouse uses a lot of Azure SQL technology, but is different in some profound ways.

In this article, we’ll dive into these differences. You will learn:

  • What are Azure SQL Database and Azure SQL Data Warehouse
  • What are the differences between Azure SQL Database and Azure SQL Data Warehouse
  • When you should use Azure SQL Database instead of Azure SQL Data Warehouse

Let’s dive in!

What is Azure SQL Database?

Azure SQL Database is SQL Server in the cloud. And because it runs in the cloud, you don’t have to worry about maintaining any infrastructure, tweaking database files, or patching operating systems. You also don’t have to worry about SQL Server licenses, that is all included in the Azure SQL pricing. You just spin it up and use it. These benefits are some of the reasons why running your app in the cloud is incredibly beneficial.

Azure SQL can almost do anything that on-premises SQL Server can do, with a few exceptions. For instance, Azure SQL doesn’t have a SQL agent running, as there are other services in Azure that you can use for that, like Azure Data Factory. There are also some differences in supported T-SQL statements. As an example, you can’t use EXECUTE AS LOGIN in Azure SQL. You can use EXECUTE AS USER instead. Even with these differences, I always go for Azure SQL instead of on-premises SQL Server where I can, because Azure SQL is fully managed and easily scalable.

Additionally, Azure SQL Database offers a lot of intelligent features. Here are some of them:

Dynamic data masking. This enables you to mask sensitive data, like credit card numbers, for certain users, on the fly. The data itself doesn’t change, but is obfuscated when it is retrieved by users that aren’t allowed to see it. This is a great feature for using production data in your test or even development environment.

Geo-replication. This enables you to replicate your complete database to a database in another geographic region. This replication happens live and has a maximum lag of 5 minutes, but is much faster in practice. You can create as many geo-replicas as you want, but you will always have just one databases that you can write to. The other databases are read-only. You can use this to make sure that your application keeps running if one region fails, and to make your application more performant across geographic regions.

Automatic tuning. This analyzes the queries that are executed by Azure SQL Database and determines if something needs to happen to increase performance. It can scale for you, tune the indexes on your database, and tune history logs. It even checks if the action that it performed helped, and if it didn’t, it reverses it. This is much more effective than manual performance tuning in SQL Server.

Azure SQL offers many other features like SQL threat detection, Data encryption at rest, and Azure AD integration. It is a really mature and advanced service.

What is Azure SQL Data Warehouse?

You now know what Azure SQL Database is, so what is Azure SQL Data Warehouse? Well, it is the SQL Server Data Warehouse feature in the cloud. SQL Server Data Warehouse exists on-premises as a feature of SQL Server. In Azure, it is a dedicated service that allows you to build a data warehouse that can store massive amounts of data, scale up and down, and is fully managed. As with Azure SQL Database, Azure SQL Data Warehouse is something that you just spin up. You don’t have to worry about infrastructure or licenses.

Azure SQL Data Warehouse is often used as a traditional data warehouse solution. This means that you would put massive amounts of data in it, using a data schema of tables and columns that you have designed. Data visualization tools, like PowerBI can than connect to the data warehouse to query the data and answer business questions in reports and graphs.

Azure SQL Data Warehouse has features that are designed for working with big data and serving it for further analysis and visualization. Some of these features are also available for Azure SQL Database. Here are some of them:

Polybase T-SQL queries. These allow you to get data from outside sources, like Hadoop or Azure Blob Storage using regular T-SQL queries. You don’t have to know the details of the system you are querying, since Polybase takes care of it.

Massive parallel processing (MPP). Azure SQL Data Warehouse is designed for data analytics performance when working with massive amounts of data. It can do this because of its MPP architecture. This means that a query is processed by a dedicated node that has its own CPU and Memory.

The ability to pause and resume the service. Unlike running a data warehouse on-premises, you can actually pause Azure SQL Data Warehouse when you don’t need it. When you do this, you don’t pay the costs for the Data Warehouse, but you do still pay the costs for the data in it (at the rate of Azure Premium Storage). When you want to use it again, you can simply resume the service.

In addition, Azure SQL Data Warehouse has similar features to Azure SQL Database, like Data encryption at rest and Azure AD integration.

Azure SQL Database and Azure SQL Data Warehouse compared

So you can use both Azure SQL Database and Azure SQL Data Warehouse to store data. Why not use Azure SQL Database as a data warehouse? Well, you could do that, but it is not optimized for it.

Azure SQL Database is optimized for doing CRUD operations (Create, Read, Update and Delete) that you typically perform from an application. This is also called OLTP (Online Transaction Processing). This is reflected by the functionality that it offers, which is typically used when you are building applications. Azure SQL Database also scales for OLTP, as different pricing tiers typically scale to give you more query throughput and not so much data (the current maximum is 1TB, and in some regions 4TB).

Azure SQL Data Warehouse is optimized for performing data analytics tasks, and working with large amounts of data. This is also called OLAP (Online Analytical Processing). Data Warehouse is optimized for OLAP because it is built on top of the MPP (Massive Parallel Processing) architecture, and because it can hold massive amounts of data (currently the maximum is around 1PB) – much more than Azure SQL Database can store in one instance.

That being said, sometimes, you can use Azure SQL Database as a Data Warehouse, as it can provide a lot of performance for when you have many users with a relatively small dataset. Table 1 shows some of the characteristics that might make picking one over the other easier:

Azure SQL Database Azure SQL Data Warehouse
Data type Relational Relational
Active geo-replication Yes No
Dynamic Data Masking Yes No
Data Encryption at rest Yes Yes
Polybase T-SQL queries Yes Yes
Automatic Tuning Yes No
Massive Parallel Processing (MPP) No Yes
Ability to pause and resume No Yes
Max amount of data per database 4TB 1PB
Max concurrent open sessions 30000 1024
Max concurrent queries 6400 32

Table 1: Azure SQL Database vs. Azure SQL Data Warehouse features and limits

What to use when?

It seems clear what to use when, but is it really? You can also use Azure SQL Database as a Data Warehouse in a certain scenario. Table 2 shows what I think you should use when:

Azure SQL Database Azure SQL Data Warehouse
Use for application database X
Use for data warehouse with large amounts of data and small amounts of users X
Use for data warehouse with data max 4TB and large amount of users X

Table 2: when to use Azure SQL Database and when to use Azure SQL Data Warehouse

I hope this article helped you to understand the differences between Azure SQL Database and Azure SQL Data Warehouse and what to use when. If you want to compare more data stores in Azure to each other, you should read “Where to Store Your Data in Azure? Understand Azure Data Storage Options” on the Stackify blog.

With APM, server health metrics, and error log integration, improve your application performance with Stackify Retrace.  Try your free two week trial today

]]>
The Top 21 Cloud Monitoring Tools for 2018 https://stackify.com/cloud-monitoring-tools/ Mon, 20 Nov 2017 14:15:29 +0000 https://stackify.com/?p=14462 Let’s do a visualization exercise. Imagine it’s December 31, 2018, and you’re ringing in the New Year with your friends and family. You think back on everything that you accomplished in the last year: your company’s revenue is through the roof thanks to the success of your product, and you were promoted to Lead Developer. 2019 is poised to be an even bigger year for your company because you have the tools and insight to scale as quickly as demand requires. You’re a happy human, and it’s not just because of the bubbly in your glass.

Now how does one turn this visualization into reality? You start by setting yourself up with the right technology to succeed. Behind every great cloud app is a fleet of powerful cloud monitoring tools that provide insight and direction for improving your product. This is the ticket for turning 2018 into the year of your dreams.

Cloud monitoring is a broad category that includes web and cloud applications, infrastructure, networks, platform, application, and microservices. Some cloud monitoring tools do it all, from managing your cloud capacity to tracking your website speed. Other tools are more specialized, helping you track one vital component of your stack at a time.

You should determine the right set of tools by first looking at your needs and budget. If you’re happy with the out-of-box monitoring tools from your cloud provider, then maybe you just want a product that helps you monitor application performance. Or maybe you’re ready to upgrade to an enterprise-level monitoring solution. Whatever your needs, we have you covered with the following list.

We’ve compiled the top cloud monitoring tools for 2018. Some are full-stack enterprise solutions, and others are specialized tools for companies of all sizes. We tagged each tool to help you quickly find the product you need.

  1. Enterprise
  2. SMB (Small/Medium Size Business)
  3. APM (Application Performance Monitoring)
  4. SaaS (Monitoring tools like Office365 and Salesforce)
  5. Infrastructure (Cloud, Virtual, and Physical)
  6. Network
  7. Platform
  8. Microservices
  9. Security
  10. Microsoft (Specialized)
  11. Google (Specialized)
  12. Amazon (Specialized)

Be sure to shop around before deciding on a cloud monitoring tool. Many of these services offer free trials and easy installation, so you can quickly test to see if it is right for you. When you do commit, do so wholeheartedly and get the most out of product. After all, tools are only as good as those who use them.

I’m ready for some champagne and a promotion. How about you? Begin your investigation below for the top cloud monitoring tools for 2018.

Cloud Monitoring Tools for 2018

Microsoft Cloud Monitoring

Running your web apps on Azure? Look no further than the suite of cloud monitoring tools from Microsoft. Microsoft gives you a full picture of your web app’s performance by providing log analysis, application monitoring, and security alerts. The best part is that these tools are built into Azure, so you don’t have to install any new software. Microsoft Cloud Monitoring is perfect for companies who want a simple solution for monitoring their Microsoft stack.

Tags

Enterprise, SMB, APM, SaaS, Infrastructure, Network, Platform, Microservices, Security, Microsoft

ExoPrise

Exoprise helps businesses stay on top of their cloud apps, specifically Office 365, Skype, Slack, Yammer, Salesforce, and Box. They will monitor your entire Microsoft suite, troubleshoot, detect outages, and make sure your apps are up to SLA compliance. If you need a tool for tracking your cloud tools, ExoPrise might be right for you.

Tags

Enterprise, APM, SaaS, Network, Microsoft

CA Technologies

CA Technologies is an enterprise-level, full-stack monitoring and management solution for businesses with public, private, or hybrid clouds. They have tools to help you do everything from monitor user experiences on your web app, to securing and scaling your operations. If you’re a big business looking for a trusted partner in cloud monitoring, check out CA.

Tags

Enterprise, APM, SaaS, Infrastructure, Network, Platform, Microservices, Security

Retrace by Stackify

Retrace is an Application Performance Monitoring (APM) tool for apps built in .Net and Java. It combines app performance metrics, errors, logs, and monitoring all into one tool. Retrace is perfect for developers who want code-level insight into how their apps are performing. The affordable price point also makes it accessible to small and medium-sized businesses.

Tags

SMB, APM, SaaS, Microsoft

VMware Hyperic

Hyperic provides monitoring for infrastructure, both physical and virtual, as well as monitoring for your OS, middleware, and web apps. Its dashboards and reporting features help ensure that you stay SLA-compliant and that you keep the right people in the loop. It’s backed by one of the leading server virtualization companies in VMware, which in turn is owned by Dell.

Tags

Enterprise, APM, Infrastructure, Platform, Microservices, Security

AppNeta

AppNeta is a SaaS app and network monitoring tool that works across cloud platforms. AppNeta’s Performance Manager gives you insight into resource usage, app delivery, and user experience. In 2017 it was given the highest rating for Network Performance Monitoring tools by Gartner.

Tags

Enterprise, SMB, APM, SaaS, Infrastructure, Network

Rackspace Cloud Monitoring

Rackspace Monitoring is an enterprise-grade monitoring tool for Rackspace OpenStack Cloud users. It offers comprehensive visibility, powerful event processing, and flexible notifications, all in an easy-to-setup package. Rackspace Cloud Monitoring comes free with an Openstack cloud account.

Tags

Enterprise, APM, Infrastructure, Network, Platform, Microservices, Security

BMC TrueSight Pulse

TrueSsight Pulse from BMC utilizes AIOps technology to monitor your web apps, ensuring a high-quality experience for your end-user. TrueSight integrates with Amazon CloudWatch and Azure Monitoring so you can better visualize data and set additional notifications. Its simple, single-line command line install makes it perfect for Azure and AWS developers who want better data visualization, fast.

Tags

Enterprise, APM, Platform, Microsoft, Amazon

SolarWinds

SolarWinds has a tool called Virtualization Manager that makes predictive recommendations to improve the performance of your virtual environment. If you manage virtual infrastructure, you want to check this out. Virtualization Manager also helps with capacity planning and alerts you when things go wrong.

Tags

Enterprise, SMB, APM, SaaS, Infrastructure, Network, Platform, Microservices, Security

Amazon CloudWatch

Amazon CloudWatch is a must-use tool if you’re on AWS. CloudWatch lets you monitor application metrics, log files, and quickly react to changes in your AWS resources. The best part is you don’t need to install any additional software.

Tags

Enterprise, SMB, Platform, Security, Amazon

Redgate

Do you use SQL Server, .NET, or Azure? If so, Redgate is the perfect monitoring tool for you. Redgate specializes in these three areas, providing tons of services to help you make better apps. From SQL Monitor, to .NET Profilers, to their Azure migration services, they are a one-stop shop for Microsoft stacks.

Tags

Enterprise, SMB, Platform, Microsoft

AppRiver

AppRiver helps you monitor and maintain your web apps, specifically Office 365 and email services. AppRiver provides security, web protection, spam guards, and email encryption so your information is safe. AppRiver is perfect for companies who want to keep their communication web apps up-and-running without hassle.

Tags

Enterprise, SaaS, Security

PagerDuty

PagerDuty is an incident reporting and management tool that helps enterprise teams stay on top of cloud maintenance. It integrates with all of your favorite tools, so you’re constantly updated on your stack performance. PagerDuty is perfect for enterprise DevOps and IT teams who want to automate incident resolution and get their software running faster.

Tags

Enterprise, Infrastructure, Network, Platform

LogicMonitor

LogicMonitor is an enterprise IT solution that helps businesses monitor their entire stack of infrastructure, apps, and tools. They were named the Best Network Monitoring Tool in 2016 and 2017 by PC magazine.

Tags

Enterprise, APM, SaaS, Infrastructure, Network, Platform, Microservices, Security

Unigma

Unigma is a management and monitoring tool for public clouds like AWS, Azure, Google Cloud, and Office 365. It provides simple, beautiful dashboards and automated reporting so you can stay on top of your cloud performance. Unigma also helps you optimize your cloud costs and manage your billing if you’re a reseller.

Tags

Enterprise, SMB, SaaS, Platform

Prometheus

Prometheus is an open source tool used primarily for Docker monitoring. It allows you to slice and dice data into a number of different dimensions using its powerful query language. Then visualize that data with its built-in expression browser. If you’re a Docker-using, open source junkie, you will absolutely love Prometheus.

Tags

Enterprise, SMB, Microservices

Riverbed

Riverbed created a series of tools designed to help businesses monitor and manage their networks and SaaS applications. They are an enterprise-level solution that can handle your entire cloud stack.

Tags

Enterprise, APM, Infrastructure, Network, Platform, Microservices, Security

Stackdriver

Google Stackdriver provides monitoring, logging, and logistics for apps on both Google Cloud and AWS. It provides full-stack insights and lets you aggregate all data across cloud platforms. Not surprisingly, it also comes with native integration into Google cloud products.

Tags

Enterprise, SMB, APM, SaaS, Platform, Security, Google, Amazon

Learning More about Cloud Monitoring

Want to learn more about cloud monitoring before choosing a tool? Here are a few resources to get you started:

]]>
What is Cloud Monitoring? How to Make Sure Cloud Services are Working Properly https://stackify.com/cloud-monitoring/ Sat, 23 Sep 2017 15:25:15 +0000 https://stackify.com/?p=13564 Cloud monitoring is the process of evaluating, monitoring, and managing cloud-based services, applications, and infrastructure. Companies utilize various application monitoring tools to monitor cloud-based applications. Here’s a look at how it works and best practices for success.

Types of Cloud Services to Monitor

There are multiple types of cloud services to monitor. Cloud monitoring is not just about monitoring servers hosted on AWS or Azure. For enterprises, they also put a lot of importance into monitoring cloud-based services that they consume. Including things like Office 365 and others.

  • SaaS – Services like Office 365, Salesforce and others
  • PaaS – Developer friendly services like SQL databases, caching, storage and more
  • IaaS – Servers hosted by cloud providers like Azure, AWS, Digital Ocean, and others
  • FaaS – New serverless applications like AWS Lambda and Azure Functions
  • Application Hosting – Services like Azure App Services, Heroku, etc

Many of these can be monitored usually traditional application performance monitoring tools. However, cloud monitoring has some unique requirements over basic server monitoring tools. There are also companies like Exoprise who focus on monitoring Office 365, Salesforce and other services.

How It Works

The term cloud refers to a set of web-hosted applications that store and allow access to data over the Internet instead of on a computer’s hard drive.

  • For consumers, simply using the internet to view web pages, access email accounts on services such as Gmail, and store files in Dropbox are examples of cloud computing for consumers.
  • Businesses use it in many of the same ways. They also may use Software as a Service (SaaS) options to subscribe to business applications or rent server space to host proprietary applications to provide services to consumers.

Cloud monitoring works through a set of tools that supervise the servers, resources, and applications running the applications. These tools generally come from two sources:

  1. In-house tools from the cloud provider — This is a simple option because the tools are part of the service. There is no installation, and integration is seamless.
  2. Tools from independent SaaS provider — Although the SaaS provider may be different from the cloud service provider, that doesn’t mean the two services don’t work seamlessly. These providers also have expertise in managing performance and costs.

Cloud monitoring tools look for problems that can prevent or restrict businesses from delivering service to their customers. Generally, these tools offer data on performance, security, and customer behavior:

  • Cybersecurity is a necessary part of keeping networks safe from cyber attacks. IT teams can use it to detect breaches and vulnerabilities early and secure the network before the damage gets out of hand.
  • By testing at regular intervals, organizations can detect errors quickly and rectify them in order to mitigate any damage to performance and functionality, which improves the customer experience and, as a result, can boost sales and enhance customer retention.
  • Speed — like functionality and user experience — is a primary driver of customer satisfaction. Speed metrics can be monitored and generate data that helps organizations optimize websites and applications.

If an organization monitors early and often, they can use the data to troubleshoot problems and implement repairs in a timely — if not instantaneous — manner.

Benefits of Cloud Monitoring

The top benefits of leveraging cloud monitoring tools include:

  • They already have infrastructure and configurations in place. Installation is quick and easy.
  • Dedicated tools are maintained by the host. That includes hardware.
  • These solutions are built for organizations of various sizes. So if cloud activity increases, the right monitoring tool can scale seamlessly.
  • Subscription-based solutions can keep costs low. They do not require startup or infrastructure expenditures, and maintenance costs are spread among multiple users.
  • Because the resources are not part of the organization’s servers and workstations, they don’t suffer interruptions when local problems disrupt the organization.
  • Many tools can be used on multiple types of devices — desktop computers, tablets, and phones. This allows organizations to monitor apps and services from any location with Internet access.

[adinserter block=”33″]

Best Practices

Organizations need to make cloud monitoring a priority and plan for it. The plan should include questions that need to be answered and goals of implementation, such as:

  • Identify metrics and events – What activity needs to be monitored? Not everything that can be measured needs to be reported. Monitor the metrics that matter to the bottom line.
  • Use one platform to report all the data – Organizations may have their own infrastructures in addition to cloud services to monitor. They need solutions that can report data from different sources on a single platform, which allows for calculating uniform metrics and results in a comprehensive view of performance.
  • Monitor cloud service use and fees – The ability to scale is a feature is a key feature of cloud services, but increased use can trigger increased costs. Robust monitoring solutions should track how much organization activity is on the cloud and how much it costs.
  • Monitor user experience – Organizations need to know what users experience when using their cloud-based applications. Monitor metrics such as response times and frequency of use to get the complete picture of performance.
  • Trigger rules with data – If activity exceeds or falls below defined thresholds, the right solution should be able to add or subtract servers to maintain efficiency and performance.
  • Separate and centralize data – Organizations should store monitoring data separately from their apps and services, and it should be centralized for easy access for key stakeholders.
  • Try failure – Test your tools to see what happens when there is an outage or data breach and evaluate the alert system when certain thresholds are met.

Additional Resources and Tutorials

For more information and tips for implementation, visit the following resources:

Monitoring is a must for any organization leveraging the cloud, both for security and performance, but choosing the right application performance monitoring (APM) solution can be challenging. Check out this post to learn about the common mistakes IT management teams make when evaluating and implementing APM solutions. Got noisy neighbors impacting your performance? Read our article for tips on monitoring your noisy cloud neighbors and web apps with Stackify’s Retrace for APM.

]]>