How we’re supporting retailers across the globe during COVID-19

The shift to digital has been well under way for years in retail, but today, retailers have a new sense of urgency to digitally transform as the industry responds to COVID-19. The pandemic has dramatically impacted the retail industry at-large, exposing gaps in omnichannel capabilities, business continuity plans, and supply chain responsiveness. Today’s environment is uncharted territory for most retailers. Government-imposed lockdowns, social distancing guidelines, rapid changes in consumer behavior, and uneven demand for different product categories have introduced challenges to retailers around the globe. For retailers, crisis planning typically covers events in which a set of stores or warehouses are down due to natural disasters or other power outages. However, closing down all stores or, conversely, supporting demand surging to 20 times normal is a new dynamic that many retailers hadn’t contemplated previously. The pandemic has also had a polarizing effect on retailers. On one hand, grocery and mass merchandisers are experiencing unprecedented surges, while retailers in other categories, like fashion and beauty, are experiencing declines in many product categories. As we look to the future, we know that recovery will take time and will vary by sub-segment. To help retailers tackle these challenges, we’re sharing a number of industry-tailored solutions to support our customers and partners during this time. G Suite collaboration tools to assist workforce enablement and optimizationAs some retailers, particularly those in grocery and mass merchandise, experience a rapid rise in hiring to fulfill unprecedented demand, they’re realizing how critical it is to build and maintain collaboration with their employees. G Suite offers video conferencing, chat, email, and shared documents, allowing teams to efficiently work together remotely and in real time. As remote work and video conferencing continue to be the norm for many retailers, supermarkets like Schnucks—a family-owned supermarket with 100 stores in Missouri, Illinois, Indiana, Iowa, and Wisconsin—are using Google Meet to help keep dispatch running smoothly and as a help desk for in-store clerks. And in the UK, DFS Furniture Company Ltd has been able to transition its entire workforce to working from home using Google Meet. Rapid Response Virtual Agent program to quickly respond to customersOur newly launched Rapid Response Virtual Agent solution allows retailers to stand up new chatbot-based services within two weeks to help respond to their customers more quickly and efficiently, especially as it relates to critical information around COVID-19. This new chatbot can help with store hours inquiries, inventory questions, pick-up options, and more, offloading an immense amount of calls going to human agents, so they can focus on more complex service needs. Retailers like Albertsons faced call volume to their stores that increased five times the norm during COVID-19. To get customers faster responses, Albertsons enlisted the Rapid Response Virtual Agent to manage inbound call volumes and address customers’ more basic questions, such as hours of operation, pick and delivery options, and order status.Accelerated migration and PSO migration factory solutions to reduce operational overheadRapid changes in customer demand are causing significant capital and expense constraints. Accelerating the migration of IT systems to Google Cloud can help retailers quickly cut fixed costs, reduce their operational overhead, and set up the right infrastructure to map to their changing business needs—while ensuring business continuity during unexpected business disruptions. Lush, the UK-based beauty retailer, migrated its global ecommerce sites to Google Cloud in 2017 to help run its online channels smoothly, especially during peak seasons like Boxing Day. Migrating to the cloud has allowed Lush to control costs and, in return, develop innovative projects that will help drive its business forward, especially in light of COVID-19.   Capacity Management and Black Friday/Cyber Monday (BFCM) Assistance solutions to quickly rightsize cloud deploymentsBuying behavior has changed drastically, with atypical demand for some retail sub-segments and extreme declines for others. This, paired with sudden shifts from in-store to online, has caused a strain on omnichannel capabilities. Through early capacity planning, reliability testing, and operational war rooms, we can help retailers quickly rightsize cloud deployments to reflect the changing needs of their businesses. We’ve also activated our special peak season support protocols for retailers seeing ecommerce traffic surges. Ecommerce modernization to assist offline to onlineAs customer expectations shift during this time, providing a top-tier digital experience has become increasingly important. Having a flexible and agile ecommerce platform is crucial to enable retail teams to quickly introduce new shopping experiences to keep up with ever-changing demands. Google Cloud can help untangle legacy ecommerce systems, introducing a containerized architecture that provides flexibility and agility for businesses. Retailers like Ulta Beauty, whose stores are temporarily closed in response to the government-imposed lockdown, are leaning into their online channels to stay connected with shoppers, providing them with a remote digital experience. While some shoppers roam isles within a store to find exactly what they’re looking for, Ulta Beauty’s Virtual Beauty Advisor tool, built on Google Cloud, is proving particularly useful, providing consumers with data-driven product recommendations. Google Cloud’s demand forecasting and modeling capabilities to help respond to significant consumer behavior changesFor retailers, shifts in consumer spending present both a near-term need for a responsive supply chain, and a longer-term need to predict how customer behavior changes will impact demand. With Google Cloud’s AI/ML capabilities, in partnership with o9 Solutions, retailers can develop custom models based on their own data and signals to accurately forecast future demand of products at any given location—reducing lost revenue through stockouts, excessive discounting and markdowns, inventory holding, and spoilage costs. Retailers can also use Google Cloud’s broad range of public datasets, including weather, traffic, and more, to better forecast demand down to the store level.Google Cloud/Looker solutions for a 360-degree view of the customerWith substantial disruption in business due to COVID-19, it’s imperative for retailers to rely even more on data that is real-time and reliable. Google Cloud and Looker provide pre-built data models and analytics packages (called “Blocks”) that are specific for retail needs. With these pre-built resources, Looker can help quickly deliver solutions that transcend traditional business intelligence offerings such as reports and dashboards. By bringing multiple datasets across an organization together, retailers can create data experiences that help optimize in-store operations, increase retail margins, and improve customer lifetime value. Looker is also fully integrated with Google Cloud for Marketing solutions, allowing retailers to make informed marketing decisions in real time. Through this integration, they’re able to bring all of their marketing data from Google together for analysis to see how changes on Google Ads, YouTube, and Google Analytics affect one another. Retailers across all sub-segments can discover real-time insights and immediately implement changes within ongoing marketing programs.Now more than ever, we’re committed to bringing forward technologies the retail industry needs to adapt to this new era. Our goal is to eliminate the stress tied to keeping the lights on in IT and instead allow retailers to focus on what matters most: their customers and employees. Read more about our work with the retail industry here.
Quelle: Google Cloud Platform

How Google Cloud helped scaling-out one person's AI service—and his life

Editor’s note: This is a post by Kaz Sato from Google based on an interview with Sato (@sato_neet), an individual developer. It’s confusing that we have similar names, but we are not the same person.AI Gahaku (AI master painter): built by Sato with Firebase, Cloud Run, and Google Colab. One million users are enjoying the tool everyday.When Sato (@sato_neet) quit college in Tokyo 10 years ago, he didn’t know he had Asperger syndrome. After spending some time unemployed, he tried a couple different career paths, including trying to attend nursing school and learning to become a baker. When he realized that Asperger’s could be the reason that he wasn’t able to fit well in those environments he tried something else entirely: artificial intelligence (AI).It was two years ago when Sato started learning AI. He had taken some basic programming classes in college, but wanted to learn Python and JavaScript to create something fun with emerging technology and share it with the community. He also conquered the basics of deep learning with TensorFlow and Colaboratory. “As I have been earning so little money these days, it was very helpful for me that TensorFlow and Colab are freely available,” Sato explains. “I could get a great learning environment at no cost.”Developing AI GahakuIn March 2020, Sato released AI Gahaku (“AI master painter”), which he has been developing alone. It generates classical-painting style portraits based on portrait photos that you upload to the site.A classical-painting style portrait generated with AI Gahaku.The site uses a pix2pix-based ML model for the style transformation. Pix2pix is a kind of conditional generative adversarial network (cGAN) model that’s designed to generate a realistic image from a specified image as a condition. (Check out the pix2pix example with TensorFlow to try it for yourself.)A pix2pix generated image. The left image works as the condition, and the model generates the image at right.In the case of AI Gahaku, Sato trained a pix2pix-based model that takes the uploaded photo as the condition and generates a realistic classical painting portrait.The site instantly made a buzz when he shared it on Twitter, first in Japan and then in the US and other countries. Now AI Gahaku is being enjoyed by one million users worldwide, every day.The number of AI Gahaku users spiked from 0 to 1 million in 10 days.Sato has also released another fun project called pixel-me, a tool for generating 8-bit-style portraits with the same pix2pix technology—the difference is that he used pixelated images for training this model.An 8-bit style portrait generated with pixel-me.From 0 to 1,000,000 users in 10 daysWhen he was building the sites, Sato relied on Google Cloud Platform Free Tier—specifically Firebase, Cloud Run, and Colab. This allowed him to develop both AI Gahaku and pixel-me while keeping costs low.The systems architecture of AI Gahaku.”In addition to those free tiers, the $300 free trial program helped me learn how to use Google Cloud tools,” Sato says. “And, since the UX design clearly says which resource is free and which is not I was very comfortable using it.”Although AI Gahaku was built by one person, it scales automatically, thanks to Cloud Run’s serverless autoscaling feature. Now that Sato has packaged the pix2pix-based ML model as a container and deployed it to Cloud Run, he doesn’t have to manually start up or shut down server instances based on traffic load. Instead, each instance can start up in seconds after receiving an increasing number of requests—if there’s a sudden traffic spike, tens or hundreds of instances start up almost instantly, while staying under a controlled budget. This all means that Sato didn’t have to change anything in the system architecture as he watched the traffic load spike from zero to one million users per day within just 10 days of the release. Now? The Cloud Run backend of AI Gahaku is using the maximum 200 containers. “I’m so surprised that Cloud Run and Firebase are naturally scalable as serverless environments,” Sato says. “The site is keeping a fast and steady response time for millions of users, without any design changes for handling the boom in global traffic.”Scalable AI for everyoneUnder the current load, the operational cost of AI Gahaku is around $20 USD per day, Sato says. But he doesn’t have any plans to monetize the site. “I’m just not interested in those things, like starting up a business and extending the site. I just want to keep creating something truly interesting to me,” Sato explains. “I like Google Cloud serverless services because the platform allows me to explore those fun ideas easily, without worrying much about the initial cost, scalability, and ongoing operation.”Sato continues, “In the last week, I got so many responses and great feedback from all over the world. It has been the most valuable and meaningful time in my entire life. I really thank all the users, donators, and people who made this happen.” We tend to think of Google Cloud’s scalable AI features as something businesses deploy to help them scale and become more efficient. But, Sato’s story shows that sometimes this technology can help scale out your creativity, reachability, and connections with others. Do you have an idea to explore? Check out the Google Cloud Platform Free Tier page to learn more and try out the technology for yourself.
Quelle: Google Cloud Platform

Manage and find data with Blob Index for Azure Storage—now in preview

 

Blob Index—a managed secondary index, allowing you to store multi-dimensional object attributes to describe your data objects for Azure Blob storage—is now available in preview. Built on top of blob storage, Blob Index offers consistent reliability, availability, and performance for all your workloads. Blob Index provides native object management and filtering capabilities, which allows you to categorize and find data based on attribute tags set on the data.

Manage and find data with Blob Index

As datasets get larger, finding specific related objects in a sea of data can be difficult and frustrating. Previously, clients used the ListBlobs API to retrieve 5000 lexicographical records at a time, parse through the list, and repeat until you found the blobs you wanted. Some users also resorted to managing a separate lookup table to find specific objects. These separate tables can get out-of-sync—increasing cost, complexity, and frustration. Customers should not have to worry about data organization or index table management, and instead focus on building powerful applications to grow their business.

Blob Index alleviates the data management and querying problem with support for all blob types (Block Blob, Append Blob, and Page Blob). Blob Index is exposed through a familiar blob storage endpoint and APIs, allowing you to easily store and access both your data and classification indices on the same service to reduce application complexity.

To populate the blob index, you define key-value tag attributes on your data, either on new data during upload or on existing data already in your storage account. These blob index tags are stored alongside your underlying blob data. The blob indexing engine then automatically reads the new tags, indexes them, and exposes them to a user-queryable blob index. Using the Azure portal, REST APIs, or SDKs, you can then issue a FindBlobsByTags API call specify a set of criteria. Blob storage will return a filtered result set consisting only of the blobs that met the match criteria.

The below scenario is an example of how Blob Index works:

In a storage account container with a million blobs, a user uploads a new blob “B2” with the following blob index tags: < Status = Unprocessed, Quality = 8K, Source = RAW >.
The blob and its blob index tags are persisted to the storage account and the account indexing engine exposes the new blob index shortly after.
Later on, an encoding application wants to find all unprocessed media files that are at least 4K resolution quality. It issues a FindBlobs API call to find all blobs that match the following criteria: < Status = Unprocessed AND Quality >= 4K AND Status == RAW>.
The blob index quickly returns just blob “B2,” the sole blob out of one million blobs that matches the specified criteria. The encoding application can quickly start its processing job, saving idle compute time and money.

 

Platform feature integrations with Blob Index

Blob Index not only helps you categorize, manage, and find your blob data but also provides integrations with other Blob service features, such as Lifecycle management.

Using the new blobIndexMatch as a filter, you can move data to cooler tiers or delete data based on the tags applied to your blobs. This allows you to be more granular in your rules and only move or delete data if they match your specified criteria.

The following sample lifecycle management policy applies to block blobs in the “videofiles” container and tiers objects to archive storage after one day only if the blobs match the blob index tag of Status = ‘Processed’ and Source = ‘RAW’.

Lifecycle management integration with Blob Index is just the beginning. We will be adding more integrations with other blob platform features soon!

Conditional blob operations with Blob Index tags

In REST versions 2019-10-10 and higher, most blob service APIs now support a new conditional header, x-ms-if-tags, so that the operation will only succeed if the specified blob index tags condition is met. If the condition is not met, the operation will fail, thus not modifying the blob. This functionality by Blob Index can help ensure data operations only occur on explicitly tagged blobs and can protect against inadvertent deletion or modification by multi-threaded applications.

How to get started

To enroll in the Blog Index preview, submit a request to register this feature to your subscription by running the following PowerShell or CLI commands:

Register by using PowerShell

Register-AzProviderFeature -FeatureName BlobIndex -ProviderNamespace Microsoft.Storage

Register-AzResourceProvider -ProviderNamespace Microsoft.Storage

Register by using Azure CLI

az feature register –namespace Microsoft.Storage –name BlobIndex

​az provider register –namespace 'Microsoft.Storage'

After your request is approved, any existing or new General-purpose v2 (GPv2) storage accounts in France Central and France South can leverage Blob Index’s capabilities. As with most previews, we recommend that this feature should not be used for production workloads until it reaches general availability.

Build it, use it, and tell us about it!

Once you’re registered and approved for the preview, you can start leveraging all that Blob Index has to offer by setting tags on new or existing data, finding data based on tags, and setting rich lifecycle management policies with tag filters. For more information, please see Manage and find data on Azure Blob Storage with Blob Index.

Note, customers are charged for the total number of Blob Index tags within a storage account, averaged over the month. Requests to SetBlobTags, GetBlobTags, and FindBlobsByTags are charged in accordance to their respective operation types. There is no cost for the indexing engine. See Block Blob pricing to learn more.

We will continue to improve our feature capabilities and are looking forward to hearing your feedback regarding Blob Index or other features through email at BlobIndexPreview@microsoft.com. As a reminder, we love hearing all of your ideas and suggestions about Azure Storage, which you can post at Azure Storage feedback forum.
Quelle: Azure

Microsoft announces next evolution of Azure VMware Solution

Today, I’m excited to announce the preview of the next generation of Azure VMware Solution, designed, built, and supported by Microsoft and endorsed by VMware.

With the current economic environment, many organizations face new challenges to find rapid and cost-effective solutions that enable business stability, continuity, and resiliency. The new Azure VMware Solution empowers customers to seamlessly extend or completely migrate their existing on-premises VMware applications to Azure without the cost, effort, or risk of re-architecting applications or retooling operations. This helps our customers gain cloud efficiency and enables them to innovate at their own pace with Azure services across security, data, and artificial intelligence, as well as unified management capabilities. Customers can also save money with Windows Server and SQL Server workloads running on Azure VMware by taking advantage of Azure Hybrid Benefits.

Microsoft first party service

The new Azure VMware Solution is a first party service from Microsoft. By launching a new service that is directly owned, operated, and supported by Microsoft, we can ensure greater quality, reliability, and direct access to Azure innovation for our customers while providing you with a single point of contact for all your needs. With today’s announcement and our continued collaboration with VMware, the new Azure VMware Solution lays the foundation for our customers’ success in the future.

Sanjay Poonen, Chief Operating Officer at VMware commented, “VMware and Microsoft have a long-standing partnership and a shared heritage in supporting our customers. Now more than ever it is important we come together and help them create stability and efficiency for their businesses. The new Azure VMware Solution gives customers the ability to use the same VMware foundation in Azure as they use in their private data centers. It provides a consistent operating model that can increase business agility and resiliency, reduces costs, and enable a native developer experience for all types of applications.”

These comments were echoed by Jason Zander, Executive Vice President at Microsoft, who said, “This is an amazing milestone for Microsoft and VMware to meet our customers where they are today on their cloud journey. Azure VMware Solution is a great example of how we design Azure services to support a broad range of customer workloads. Through close collaboration with the VMware team, I’m excited that customers running VMware on-premises will be able to benefit from Azure’s highly reliable infrastructure sooner.”

The new solution is built on Azure, delivering the speed, scale, and high availability of our global infrastructure. You can provision a full VMware Cloud Foundation environment on Azure and gain compute and storage elasticity as your business needs change. Azure VMware Solution is VMware Cloud Verified, giving customers confidence they're using the complete set of VMware capabilities, with consistency, performance, and interoperability for their VMware workloads.

Access to VMware technology and experiences

Azure VMware Solution allows you to leverage your existing investments, in VMWare skills and tools. Customers can maintain operational consistency as they accelerate a move to the cloud with the use of familiar VMware technology including VMWare vSphere, HCX, NSX-T, and vSAN. Additionally, the new Azure VMware Solution has an option to add VMware HCX Enterprise, which will enable customers to further simplify their migration efforts to Azure including support for bulk live migrations. HCX also enables customers running older versions of vSphere on-premises to move to newer versions of vSphere seamlessly running on Azure VMware Solution.

Seamless Azure integration

Through integration with Azure management, security, and services, Azure VMware Solution provides the opportunity for customers to continue to build cloud competencies and modernize overtime. Customers maintain the choice to use the native VMware tools and management experiences they are familiar with, and incrementally leverage Azure capabilities as required.

As we look to meet customers where they are today, we are deeply investing in support for hybrid management scenarios, and automation that can streamline the journey. We are excited to announce more about future hybrid capabilities as they relate to Azure VMware Solution, soon.

Leverage Azure Hybrid Benefit pricing for Microsoft workloads

Take advantage of Azure as the best cloud for your Microsoft workloads running in Azure VMware Solution with unmatched pricing benefits for Windows Server and SQL Server. Azure Hybrid Benefit extends to Azure VMware Solution allowing customers with software assurance to maximize the value of existing on-premises Windows Server and SQL Server license investments when migrating or extending to Azure. In addition, Azure VMware Solution customers are also eligible for three years of free Extended Security Updates on 2008 versions of Windows Server and SQL Server. The combination of these unmatched pricing benefits on Azure ensures customers can simplify cloud adoption with cost efficiencies across their VMware environments.

In addition, at general availability Reserved Instances will also be available for Azure VMware Solution customers, with one-year and three-year options on dedicated hosts.

Global availability and expansion

The Azure VMware Solution preview is initially available in US East and West Europe Azure regions. We expect the new Azure VMware Solution to be generally available in the second half of 2020 and at that time, availability will be extended across more regions. Plans on regional availability for Azure VMware Solution will be made available here as they are disclosed.

To register your interest in taking part in the Azure VMware Solution preview, please contact your Microsoft Account Representative or contact our sales team.

Learn more about Azure VMware Solution on the Azure website.
Quelle: Azure

Docker Desktop: WSL 2 Best practices

Docker Desktop WSL 2 backend has now been available for a few months for Windows 10 insider users and Microsoft just released WSL 2 on the Release Preview channel (which means GA is very close). We and our early users have accumulated some experience working with it and are excited to share a few best practices to implement in your Linux container projects!

Docker Desktop with the WSL 2 backend can be used as before from a Windows terminal. We focused on compatibility to keep you happy with your current development workflow.

But to get the most out of Windows 10 2004 we have some recommendations for you.

Fully embrace WSL 2

The first and most important best practice we want to share, is to fully embrace WSL 2. Your project files should be stored within your WSL 2 distro of choice, you should run the docker CLI from this distro, and you should avoid accessing files stored on the Windows host as much as possible.

For backward compatibility reasons, we kept the possibility to interact with Docker from the Windows CLI, but it is not the preferred option anymore.

Running docker CLI from WSL will bring you…

Awesome mounts performance

Both your own WSL 2 distro and docker-desktop run on the same utility VM. They share the same Kernel, VFS cache etc. They just run in separate namespaces so that they have the illusion of running totally independently. Docker Desktop leverages that to handle bind mounts from a WSL 2 distro without involving any remote file sharing system. This means that when you mount your project files in a container (with docker run -v ~/my-project:/sources <…>), docker will propagate inotify events and share the same cache as your own distro to avoid reading file content from disk repeatedly.

A little warning though: if you mount files that live in the Windows file system (such as with docker run -v /mnt/c/Users/Simon/windows-project:/sources <…>), you won’t get those performance benefits, as /mnt/c is actually a mountpoint exposing Windows files through a Plan9 file share. 

Compatibility with Linux toolchains and build scripts

Most reasonably sized projects involving Linux containers come with a bunch of automation scripts. Those scripts are often developed for Linux first (because most of the time, CI/CD pipelines for those projects run on Linux), and developers running on Windows are often considered second-class citizens. They are often using less polished versions of those scripts, and have to deal with subtle behavioral differences.

By fully embracing WSL 2, Windows developers can use the exact same build and automation scripts as on Linux. This means that Windows-specific scripts don’t need to be maintained anymore. Also, that means that you won’t experience issues with different line endings between Windows and Mac/Linux users!

What about my IDE?

If you want an IDE for editing your files, you can do that even if they are hosted within your WSL 2 distro. There are 3 different ways:

Use Visual Studio Code Remote to WSL extension

If your IDE is Visual Studio Code, using Remote to WSL is the best way to continue working on your project. Visual Studio Code architecture is based on a client/server approach where pretty much everything except rendering and input processing is done in a server process, while the UI itself runs in a client process. Remote to WSL leverages that to run the whole server process within WSL while the UI runs as a classic win32 process.

That means that you get the same experience as before, but all your language services, terminals etc. run within WSL.

For more information, see Microsoft’s VS Code Remote to WSL documentation.

Point your IDE to your distro network share

WSL provides a network share for each of your running distros. For example, if I have a project in my Ubuntu distro at `~/wall-e`, I can access it from Windows Explorer (and from any Windows Process) via the special network share `wsl$Ubuntuhomesimonwall-e`. 

Run an X11 server on Windows, and run a Linux native IDE

The setup is a bit more complicated, but you always have the possibility to run an X11 server on Windows (VcXsrv, X410,…) and configure your DISPLAY environment variable such that GUI apps on Linux get rendered properly.

Use BuildKit and multi-stage builds

Docker Desktop WSL 2 backend has access to all your CPU cores. To leverage this as much as possible (and also to get access to the latest build features), you should enable BuildKit by default.

The easiest way to do that is to add the following line to your ~/.profile file:

export DOCKER_BUILDKIT=1.

This way, anytime you run docker build, it will run the build with the awesome BuildKit which is capable of running different build stages concurrently.

Use resource limits

Docker Desktop WSL 2 backend can use pretty much all CPU and memory resources on your machine. This is awesome for most cases, but there is a category of workloads where this can cause issues. Indeed, some containers (mainly databases, or caching services) tend to allocate as much memory as they can, and leave other processes (Linux or Win32) starving. Docker provides a way to impose limits in allocatable memory (as well as quotas on CPU usage) by a container. You can find documentation about it here: https://docs.docker.com/config/containers/resource_constraints/.

Reclaim cached memory

WSL 2 automatically reclaims memory when it is freed, to make it available to Windows processes. However, if the kernel decides to keep content in cache (and with Docker, it tends to happen quite a lot), the amount of memory reclaimed might not be sufficient.

To reclaim more memory, after stopping your containers, you can run echo 1 > /proc/sys/vm/drop_caches as root to drop the kernel page cache and make WSL 2 reclaim memory used by its VM.

What next

We are excited for people to use Docker Desktop with WSL 2 and hope that the tips and tricks in this article will help you get the best performance for all of your workloads. 

If you have another tip or idea you want to share with us for using Docker send us a tweet @docker or if you have feedback on our implementation then raise a ticket against our Github Repo.
The post Docker Desktop: WSL 2 Best practices appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/