QA in Cloud Environment – Key Aspects that Mandate a Shift in the QA Approach

Cloud computing is now the foundation for digital transformation. Starting as a technology disruptor a few years back, it has become the de facto approach for technology transformation initiatives. However, many organizations still struggle to optimize cloud adoption. Reasons abound – ranging from lack of a cohesive cloud strategy to mindset challenges in adopting cloud platforms. Irrespective of the reason, assuring the quality of applications in cloud environments remains a prominent cause for concern.

Studies indicate a wastage of $17.6 billion in cloud spend in 2020 due to multiple factors like idle resources, overprovisioning, and orphaned volumes and snapshots (Source parkmycloud.com). Further, some studies have pegged the cost of software bugs to be 1.1 trillion dollars. Assuring the quality of any application hosted on the cloud not only addresses its functional validation but also its performance-related aspects like load testing, stress testing, capacity planning, etc invariably addressing both the issues described above, thereby exponentially reducing the quantum of loss incurred on account of poor quality.

The complication for QA in cloud-based application arises due to many deployment models ranging from private cloud, public cloud to hybrid cloud, and application service models ranging from IaaS, PaaS, to SaaS. While looking at deployment models, testers will need to address infrastructure aspects and application quality. At the same time, while paying attention to service models, QA will need to focus on the team’s responsibilities regarding what they own, manage, and delegate.

Key aspects that mandate a shift in the QA approach in cloud-based environments are –

Application architecture

Earlier and to some extent even now, when it comes to legacy applications, QA primarily deals with a monolithic architecture. The onus was on understanding the functionality of the application and each component that made up the application, i.e., QA was not just black-box testing. The emergence of the cloud brought with it a shift to microservices architecture, which completely changed testing rules.

Multiple scrum teams work on various application components or modules deployed in containers and connected through APIs in a microservices-based application. The containers have a communication mechanism based on contracts. QA methodology for cloud-based applications is very different from that adopted for monolith applications and therefore requires detailed understanding.

Security, compliance, and privacy

In typical multi-cloud and hybrid cloud environments, the application is hosted in a 3rd party environment or multiple 3rd party environments. Such environments can also be geographically distributed, with data centers housing the information residing in numerous countries. Regulations that restrict data movement outside countries, service models that call for multi-region deployment, and corresponding data storage and access without impinging on regulatory norms need to be understood by QA personnel.QA practitioners also need to be aware of the data privacy rules existing across regions.

The rise of the cloud has given way to a wide range of cybersecurity issues – techniques for intercepting data and hacking sensitive data. To overcome these, QA teams need to focus on vulnerabilities of the application under test, networks, integration to the ecosystem, and third-party software deployed for complete functionality. Usage of tools to simulate Man In The Middle (MITM) attacks helps QA teams identify and overcome any sources of vulnerability through countermeasures.

Building action-oriented QA dashboards need to extend beyond depicting quality aspects to addressing security, infrastructure, compliance, and privacy.

Scalability and distributed ownership

Monolithic architectures depend on vertical scaling to address increased application loads, while in a cloud setup, this is more horizontal in nature. Needless to say that in a cloud-based architecture, there is no limitation to application scaling. Performance testing in a cloud architecture need not consider aspects like breakpoint testing since they can scale indefinitely.

With SaaS-based models, the QA team needs to be mindful that the organization may own some components that require testing. Other components that require testing may be outsourced to other providers, and some of these providers may include cloud providers. The combination of on-premise components and others on the cloud by the SaaS provider makes QA complicated.

Reliability and Stability

This entirely depends on the needs of the organization. An Amazon that deploys 100,000 times a day – features and updates of its application hosted in cloud vis-a-vis an aircraft manufacturer that ensures the complete update of its application before its aircraft is in the air, have diverse requirements for reliability stability. Ideally, testing done for reliability should uncover four categories – what we are aware of and understand, what we are aware of but do not understand, what we understand but are not aware of, and what we neither understand nor are we aware of.

Initiatives like chaos testing aim to uncover these streams by randomly introducing failures through automated testing and scripting and seeing how the application reacts/sustains in this scenario.

QA needs to address the below in a hybrid cloud setup are –

  • What to do when one cloud provider goes down
  • How can the load be managed
  • What happens to disaster recovery sites
  • How does it react when downtime happens
  • How to ensure high availability of application

Changes in organization structure

Cloud-based architecture calls for development through pizza teams, smaller teams fed by one or two pizzas, in common parlance. These micro product teams have testing embedded in them, translating into a shift from QA to Quality Engineering (QE). The tester in the team is responsible for engineering quality by building automation scripts earlier in the cycle, managing performance testing strategies, and understanding how things get impacted in a cloud setup. Further, there is also increased adoption of collaboration through virtual teams, leading to a reduction in cross-functional QA teams.

Tool and platform landscape

A rapidly evolving tool landscape is the final hurdle that the QA practitioner must overcome to test a cloud-based application. The challenge becomes orchestrating superior testing strategies by using the right tools and the correct version of tools. Quick learning ability to keep up with this landscape is paramount. An open mindset to adopt the right toolset for the application is needed rather than an approach steeped with blinders towards toolsets prevailing in the organization.

In conclusion, the QA or QE team behaves like an extension of customer organization since it owns the mandate for ensuring the launch of quality products to market. The response times in a cloud-based environment are highly demanding since the launch time for product releases keeps shrinking on account of demands from end customers and competition. QA strategies for cloud-based environments need to keep pace with the rapid evolution and shift in the development mindset.

Further, the periodicity of application updates has also radically changed, from a 6-month upgrade in a monolith application to feature releases that happen daily, if not hourly. This shrinking periodicity translates into an exponential increase in the frequency of test cycles, leading to a shift-left strategy and testing done in earlier stages of the development lifecycle for QA optimization. Upskilling is also now a mandate given that the tester needs to know APIs, containers, and testing strategies that apply to contract-based components compared to pure functionality-based testing techniques.

Wish to know more? Feel free to reach out to us.

Evolve into a Cloud-Native culture

Why go Cloud Native?

Cloud-Native is one of the biggest trends in the software industry today. The cloud-native approach works for modernizing existing applications and building new applications.

Cloud-native application takes advantage of cloud computing models to increase speed, flexibility, and quality and reduce deployment risks. The key factor to consider here is how applications are built, deployed, and managed.

As a platform-agnostic application, it is easy to manage iterative improvements using Agile & DevOps processes.

1. From a legacy system into the cloud
Organizations who moved from the legacy system into the cloud may face certain challenges. The legacy backup and disaster recovery tools used in old-school data centers do not work in cloud-native environments. Considering that the responsibility for data, processes, data management, maintenance, troubling shooting rests with the business, and not the cloud service provider, cloud-native is the way to go.

2. Rebuild technology foundation
Organizations that wish to make technological changes but do not have the luxury of rebuilding their technology foundation can adopt the Cloud Native approach. They stand to gain significantly by making gradual and fundamental shifts in their culture, processes, and technology to become cloud-native.

3. Innovation & Speed
As software is key to how consumers engage with businesses, innovation and speed have become imperative to their survival and growth. Businesses benefit from the cloud-native approach that gives them the ability to improve the quality of applications, reduces deployment risks, and improves the time to market.

Benefits of Cloud Native

Benefits of Cloud-Native

The building blocks of Cloud Native apps

Whether the challenge is in creating a new Cloud Native app or upgrading an existing one, organizations need to consider these essential building blocks of a Cloud Native ecosystem.

1. Microservices architecture for continuous improvement
The process breaks applications down to single-function services called microservices. Microservices are loosely coupled but remain independent. They allow incremental, automated, and continuous improvement of an application without causing downtime.

2. Containers for flexibility and scalability
Containers package software with all its code and dependencies in one place allowing the software to run anywhere – on a desktop, traditional IT, or the cloud. This allows maximum flexibility and portability in a multi-cloud environment. Containers allow fast scaling up or down with Kubernetes orchestration defined by the user.

3. Kubernetes for cost-effective Cloud Native development
The container orchestration platform enables scheduling and automating the deployment, management, and scaling of containerized applications. Kubernetes is versatile and offers a breadth of functionality, vast open-source of supporting tools, and portability across leading cloud service providers.

4. Agile methods in DevOps processes
Application development for the Cloud-Native approach follows Agile methods and DevOps principles with a focus on building and delivering apps collaboratively by development, quality assurance, security, IT operations, and delivery teams.

Are you ready for the Cloud Native journey?

The path to Cloud Native is unique to each organization depending on their stage in cloud maturity and business goals. Before beginning the Cloud-Native journey, consider these factors.

Cloud applications

1. Cloud-enabled
A cloud-enabled application was developed for deployment in a traditional data center but it was later changed so that it could run in a cloud environment.
Cloud-Native applications are designed to be platform-agnostic and are scalable.

2. Cloud-ready
The cloud-ready application works in the cloud environment or a traditional app that has been reconfigured for a cloud environment.
Cloud-Native apps are developed from the beginning to work only in the cloud and take advantage of cloud architecture.

Business objectives

1. Develop new Cloud Native apps – Organizations can quickly respond to new opportunities with the Cloud Native approach to building new applications.

2. Modernize existing apps – Many valuable applications are critical to business operations and revenue. They may not be easily replaceable. Applications are portable from on-premise infrastructure to the cloud and re-architected to become Cloud Native.

3. Improve app delivery – Container-based automation can accelerate the app delivery cycle.

4. Drive business innovation – For businesses whose success depends on constant innovation, introducing new features, Cloud Native tools support innovation, new ways to deliver solutions faster.

As Cloud Native technologies grow, businesses that wish to keep pace with competition and stay relevant in the future need to start right now. Evolution towards cloud-native effects design, implementation, deployment, operation of applications. Being prepared for the next big technological wave by making the shift today is essential.

Trigent Cloud Services team handholds businesses to leverage the advantages of the cloud for next-gen business requirements. Our experts help in building scalable, reliable, secure, flexible cloud-based apps in the native environment by leveraging Cloud-Native features of AWS, Microsoft Azure, and Google Cloud Platform.

Among other Cloud Services, our portfolio includes Cloud Architecture and Cloud Managed Services with a key focus on Cloud Native applications.

Take the next step in the cloud journey – get in touch with our experts for a business consultation.


Sources:
https://www.ibm.com/cloud/learn/cloud-native
Red Hat – the path to cloud-native applications

Harness the potential of serverless computing

Half a decade has eclipsed since the modern age of serverless computing emerged in the shape of AWS Lambda in 2014. In 2016 Microsoft followed suit with Azure functions, followed by Google introducing Google cloud functions in 2018. Three of the biggest cloud service providers investing in serverless was a sure sign that the cloud architectural model held both promise and potential. That promise has faced the test of time, evident in the growing interest among businesses adopting serverless at an impressive adoption rate of 75% per annum.

Serverless architecture is a cloud computing execution model that has evolved through time to make application development that much more convenient and feasible. Read about the evolution of serverless here.

Many biggies such as Coca Cola and Netflix have implemented the cloud service model, gaining from the myriad benefits serverless offers.

Pay per use

A significant advantage with serverless and translates into cost saving is that servers can be used as per our need. You do not need the server running through the day, as in the case of on-prem. We pay only for the usage of the server or for the computing time consumed. In simple terms, you only pay for the use and nothing more.

Cost savings

Serverless is more of an operational cost and not a capital cost. The expense incurred is just the operational expenditure, that is, the amount spent utilizing the service. There is no capital cost involved as the infrastructure is provided by the service provider.

Low on maintenance

Serverless is also low on maintenance as we are not responsible for the servers’ care and upgrades. It’s the service provider’s prerogative to maintain the infrastructure and provide assets in prime shape

Automatic scaling

The service provider takes care of scaling when the load is high. We do need to provision or request for scaling. When the usage is high serverless scales up automatically to provide many instances at the back end, it also offers high availability. The service provider ensures that the service is available to us as and when we need it.

The points mentioned above are just a primer on the advantages businesses can leverage by going serverless.

A serverless computing promises to go beyond cost reduction with fine-grained pricing, increased business agility, faster innovation, and reduced operational management.

Get an in-depth understanding of serverless architecture and why it stands out as the best viable option for building scalable, high-performance applications utilizing low engineering lead time, and reduced operating expenditure. Watch the video here.

https://www.trigent.com/assets/webinar/2020-09-16_Leverage-serverless-cloud-to-improve-business-agility.mp4

Trigent Recognized as Top Cloud Consultants 2020

The numerous possibilities in adopting cloud services in your business can sometimes be overwhelming. Here at Trigent, our vision is to help businesses realize the full potential of cloud, irrespective of their maturity stage in the cloud journey.

Thanks to its cloud-led strategy, Trigent has empowered organizations to drive business acceleration, connected insights, and customer experience. We help them maximize their returns from their cloud investments by building impactful and disruptive cloud-based offerings. We understand legacy infrastructure and applications, having been in the business for over two decades. This puts us in a strong position to modernize legacy applications through the cloud, SaaS, and microservices building blocks.

In recognition of our proven success in cloud transformation, we’re delighted to announce that we’ve been named by Clutch as one of the top Cloud Consultants in 2020! Clutch is a company list resource that helps connect businesses with the best-fit agencies or consultants they need for their next big business challenge. Clutch cuts through disorganized market research by collecting client feedback and analyzing industry data, arming businesses with the insights and analysis they need to connect and tackle challenges with confidence.

We’re delighted to have harnessed cloud to help businesses improve their results across KPIs such as employee productivity, operational efficiency, growth, and profitability.

Marked Improvement in ROI for Cloud Ready Organizations

Evolve into a cloud-native culture and enjoy the myriad benefits it has to offer.

The cloud infrastructure market is cumulus and expected to cross $51.7 billion in 2019, driven by the need for cost-effective and scalable IT solutions. Talking about the cloud effect on businesses, Natalya Yezhkova, IDC Research Director of Storage Systems says, “The breadth and width of cloud offerings only continue to grow, with an expanding universe of business- and consumer-oriented solutions being born in the cloud and served better by the cloud. This growing demand from the end-user side and expansion of cloud-based offerings from service providers will continue to fuel growth in spending on the underlying IT infrastructure in the foreseeable future.”

The cloud infrastructure boom is a natural transition for organizations whose IT costs were weighing them down. Scaling up or down meant more costs. Mandatory software upgrades were also needed and the overall IT infrastructure management required resources to manage it, but with no scientific method to limit costs.

Cloud infrastructure has changed this scenario and is providing companies of all sizes and across all industry segments the opportunity to maximize their IT infrastructure. However, having said that, when it comes to measuring Return on Investment (ROI) on cloud infrastructure some questions crop up. If one were to choose cloud computing – in-house or public cloud, how would one assign an ROI to it? What features of cloud infrastructure affect ROI?

ROI is the proportionate increase in the value of an investment over a determined period. Investments when moving to the public cloud are less, but calculated over a period, can be more. With a private cloud, the initial investment is more, but over time, this cost is factored out. This kind of measurement is purely technical and misses the broader impact of the cloud on a business. Overall, for any company, revenue numbers matter, but so do customer value, brand value, and the value of competitive advantage which cannot be ignored. Therefore, when calculating ROI on the cloud, one must focus on productivity, speed, size, and quality.

Keeping these factors in mind, here are some tangible ROIs from cloud computing:

  • Cloud computing as an abstract virtual hosting solution offers a real-time environment. It has taken away the need to invest in physical servers and upheld the pay-per-use model. It provides businesses with the resilience required for workplace productivity. It enables resource sharing and thus helps to improve utilization. This sharing feature is not restricted to enterprises; it can be between an enterprise and a public cloud or an enterprise with a private cloud. Its flexibility combined with the power of savings in the immediate future makes cloud infrastructure an attractive alternative to traditional IT infrastructure.
  • Cloud infrastructure empowers clients to access virtualized hardware on their own IT platforms. This offers numerous features and benefits such as scalability, limited or no hardware costs, location independence, security, and so forth.
  • Cloud infrastructure assures businesses tremendous performance whether they scale 10 percent or 100 percent. Not having to worry about additional infrastructure investment costs helps companies to plan their IT budgets better. There is also the fact that capacity wastage is brought down to nil.
  • There is no lockdown in infrastructure. A seamless performance wherever an organization’s businesses are located, performance remains the same. The pay-as-you-go model frees up investment costs bringing down IT expenditure considerably.
  • The capacity utilization curve is a familiar concept for all. The model illustrates capacity versus utilization. It helps organizations to maximize their IT spend and helps to provision more or less as deemed fit. It is fitted around the central idea of utility requirements provisioned by on-demand services to meet actual needs.

ROI from cloud computing

To summarize, the ROI on cloud infrastructure requires intuitive planning right from the plan to the execution stage. More importantly, to maximize savings on the cloud requires intuitive planning. Trigent’s Managed Cloud Infrastructure Services helps enterprises to control their cloud journey.

We help enterprises to choose the right cloud platform to move on-premise infrastructure and help run business applications. We help enterprises to identify the business areas and workloads that can be migrated to a cloud computing model to reduce costs and improve service delivery in line with business priorities.

6-Step Framework for Your Cloud Strategy

Cloud adoption just keeps on growing and it’s time to take control. Gartner predicts “By 2021, more than half of global enterprises already using cloud today will adopt an all-in cloud strategy.” Nevertheless, just moving your workloads to the cloud does not make them more efficient for your business. When you decide to embark on a cloud journey, you need to have a cloud strategy in place.

A cloud strategy defines the business outcomes you are looking for, and how you are going to get there. It also explores your end goals and motivation for adopting the cloud. Your deciding factors could be many – cost, innovation, your need for business growth, keep up with your competitors. You also need to define business outcomes, establish governance, and control.

Strategies to transform your business into the digital world

The key component of a cloud strategy is a framework so you can evaluate the benefits and challenges of adopting the cloud approach.

Here’s a six-step framework for a successful cloud strategy:

  • Identify and understand the key area where cloud can deliver business benefits for your organization
  • Plan and optimize your cloud strategy
  • Understand common cloud challenges and how to overcome them
  • Identify and develop cloud competencies
  • Prepare your organization for the shift
  • Learn the capabilities of the integrated products that can manage the cloud

Let’s take a look at a few cloud computing strategies:

  • What type of cloud: A careful consideration should be done while selecting the cloud – Private cloud or public cloud or hybrid. You need to understand and evaluate the pros and cons of each available option.
  • Plan your budget: According to what type of cloud you choose to fit your business needs, choose your IT support backbone. You also have to invest in hiring the proper workforce for cloud development.
  • Value your options and choose: Most businesses view the cloud as an enabler of process improvement and a means of reducing costs. You need to see what do you want the cloud to accomplish and what your business will gain from the shift?
  • Technology: After you have done considering your needs and the budget and resources available for your cloud shift, you need to look at the best technology stack available.
  • Choose the right cloud service provider: Most cloud service providers offers hosting needs. Keeping in mind your go-to-market strategy, choose a cloud vendor that is a one-stop-shop for all your cloud-based needs.

Trigent can help you develop the right cloud solution to transform your business. Through our Cloud Adoption Maturity Model, we determine the maturity of your organization’s cloud adoption.

With our Cloud Advisory Services, we assess your current IT infrastructure, the applications you use, costs, and resources. We help you adopt a cloud-first strategy and deployment models and then chart out-migration road-maps with minimal disruption time.

Derive true business benefits with us. Watch this explainer video to explore how our cloud solutions define and complement your cloud strategy.

How to Plan Your Datacenter Migration to the Cloud

Cloud computing is on every CIO’s mind but not always for the right reasons. This could be because of the fears related to security, business continuity, cost efficiency and data availability. Summarizing these sentiments, Lydia Leong, Vice president and distinguished analyst with Gartner says, “Efficiency-driven workload migration demands a different mindset and approach than agility-driven cloud adoption. The greatest benefits are derived from cloud-enabled organizational transformation, yet such transformations are highly disruptive and difficult. Moving to cloud IaaS without sufficient transformation may fail to yield the hoped-for benefits, and may actually result in higher costs”.

Datacenter migration

Datacenter migration requires evaluation of the weight of the data residing in the data center, and its current age and capacity. For example, if it is on its last leg, it might be better to decommission the data center and migrate to the cloud. If there are capacity limitations, these could also be reasons for considering cloud migration.

Then you would need to evaluate existing skill sets. If the internal IT organization does not have the requisite skillsets for cloud migration, it might be best to look for a cloud solutions service provider. The partner firm should have a strong reputation, experience in cloud technologies, and have a dedicated team of cloud specialists. If these technologists have industry experience, it would be even better.

The partner firm should be able to work out a thorough business case, perform a cost analysis, and prioritize workloads for a successful migration. The vendor needs to define the scope and road map for the migration. This immediately sets a context in terms of timelines and costs involved. It also prepares the existing teams for what is in store. During the discovery stage, the vendor should do a thorough analysis of the on-premise data center to prioritize it accordingly for migration.

Transition from “difficult to change” to Evolutionary Cloud Architecture

Data collection has to be as intense and exhaustive as possible to ensure that gaps are avoided. The vendor needs to work with the internal IT stakeholders to ensure that the data center is evaluated thoroughly, for a robust application inventory. This step could take at least a fortnight to complete but is crucial to planning capacity for cost optimization.

The above few steps naturally lead to the next one where the vendor does a deep analysis of critical information. The analysis will be comprehensive and map the migration to overall organizational goals, identify workloads and group them accordingly. This gives a clear perspective on cloud and infrastructure requirements post-migration and the costs for long term maintenance. Along with all these, there will need to be a plan for disaster recovery.

The final step, i.e. of creating a formal workload migration plan will be proposed by the vendor. Depending on the findings, the vendor may propose a wave or tier approach, to ensure short term return on investment and minimize operational disruptions. This migration plan is the blueprint or detailed architecture of how the migration will proceed.

Trigent Software’s 6 Keys to Successful Cloud Migration

  • Gain executive sponsorship and develop a strategy early
  • Portfolio assessment: Review and select the right applications to migrate
  • Budget for migration costs: tools, services, skilled resources
  • Start small and scale
  • Re-host (Lift and Shift) – low risk & reward
  • Re-platform (lift-and-reshape) – medium risk, high reward
  • Re-architect – high risk, high reward
  • Identify risks and ensure operational continuity
  • Create a repeatable plan and process to improve it.

Do you need help to securely and efficiently migrate your datacenter? We can help.

Understanding Microsoft Azure Storage

Before you understand Microsoft Azure’s storage capabilities, here’s a primer on Microsoft’s multi-tenant cloud-based directory and identity management service, Azure Active Directory.

Cloud storage platform is designed for Internet-scale applications. It is highly reliable, available, and scalable. On average, we can manage more than 40 trillion stored objects and 3.5 million requests/sec. As a result of its scalability, it is possible to store a large volume of data. If you combine this with the necessary system allocation, you can achieve remarkable good performance. Window storages are especially durable, in my opinion. Remember however that the cost of storage is key to cloud storage, and we need to pay for both storage and transfer bandwidth on the basis of actual usage. The data and Microsoft Azure storage are available via the REST interface, so we can access the same from all programming languages.

The Microsoft Azure platform divides into four types of standard storages which work with different scenarios:

  1. Blobs
  2. Tables
  3. Queues
  4. Files

It can expose via REST APIs and with multiple client libraries like .Net, C++, Java, Node.js, Android, etc.

According to 2015 data, Azure storage is available in 19 different regions globally.

Microsoft Azure available in different regions

Image1: Azure storage available in different regions

Blobs

Blob storage is useful for sharing documents, images, video, music and to store raw data/logs.

We can interact blob storage with REST interface (Put, Get, and Delete).

Code sample:

// Retrieve storage account from connection string.
 CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
 // Create the blob client.
 CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
 // Retrieve a reference to a container.
 CloudBlobContainer container = blobClient.GetContainerReference("deepakcontainer");
 // Create the container if it doesn't already exist.
 container.CreateIfNotExists();
 // Retrieve reference to a blob named "myblob".
 CloudBlockBlob blockBlob = container.GetBlockBlobReference("deepakblob");
 // Create or overwrite the "myblob" blob with contents from a local file.
 using(var fileStream = System.IO.File.OpenRead(@ "pathmyfile")) {
 blockBlob.UploadFromStream(fileStream);
 }

In Code we are referencing to a storage account. We need to create a blob client proxy which will interact with blob object. Then we can upload from the client to the cloud. We need to create a container to organize the blob. If container is not available, we need to create a container the first time we use it.

There are three types of blobs: Block blobs, Append blobs, and Page blobs (disks).

Block blobs are optimized for streaming and storing cloud objects, and are a good choice for storing documents, media files, backups etc.

Append blobs are similar to block blobs, but are optimized for append operations. An append blob can be updated only by adding a new block at the end. Append blobs are a good choice for scenarios such as logging, where new data needs to be written only at the end of the blob.

Page blobs are optimized for representing IaaS disks and supporting random writes. An Azure virtual machine network attached to IaaS disk is a Virtual Hard Disk stored as a page blob.

Tables

This is a massively scalable NoSql key/value storage. It is very useful for storing a large volume of metadata. This storage platform automatically load balances between new tables as you allocate more resources. It is very scalable. Azure tables are ideal for storing structured, non-relational data.

We can use Table storage to store flexible datasets, such as user data for web applications, address books, device information, and any other type of metadata that your service requires. You can store any number of entities in a table, and a storage account may contain any number of tables, up to the capacity limit of the storage account. We can Access data using the OData protocol and LINQ queries with WCF Data Service .NET Libraries.

Code sample:

// Retrieve the storage account from the connection string.
 CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
 // Create the table client.CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
 // Retrieve a reference to the table.CloudTable table = tableClient.GetTableReference("deepak");
 // Create the table if it doesn't exist.
 table.CreateIfNotExists();

Queues

It is an efficient solution for reliable applications, low latency and it is a high throughput messaging system. It basically uses decouple components and uses web role to worker role communication. It also implements scheduling of asynchronous tasks. It stores a large number of messages, in any format, of up to 64 KB. The maximum time that a message can remain in the queue is seven days.

Code sample:

// Retrieve storage account from connection string.
 CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
 // Create the queue client.
 CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
 // Retrieve a reference to a queue.
 CloudQueue queue = queueClient.GetQueueReference("deepakqueue");
 // Create the queue if it doesn't already exist.
 queue.CreateIfNotExists();
 // Create a message and add it to the queue.
 CloudQueueMessage message = new CloudQueueMessage("Hello, Trigent");
 queue.AddMessage(message);

File

We can use file storage to share the file. It is very useful to move on-premises application to cloud.

It support REST and SMP protocol access to same file share.

File storage contains the below components:

Code sample:

// Create a CloudFileClient object for credentialed access to File storage.
 CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
 // Get a reference to the file share we created previously.
 CloudFileShare share = fileClient.GetShareReference("logs");
 // Ensure that the share exists.
 if (share.Exists()) {
 // Get a reference to the root directory for the share.
 CloudFileDirectory rootDir = share.GetRootDirectoryReference();
 // Get a reference to the directory we created previously.
 CloudFileDirectory sampleDir = rootDir.GetDirectoryReference("CustomLogs");
 // Ensure that the directory exists.
 if (sampleDir.Exists()) {
 // Get a reference to the file we created previously.
 CloudFile file = sampleDir.GetFileReference("Log1.txt");
 // Ensure that the file exists.
 if (file.Exists()) {
 // Write the contents of the file to the console window.
 Responsed.Write(file.DownloadTextAsync().Result);
 }
 }
 }

Speak to our cloud experts to learn what Microsoft Azure can do for your organization.