TWIL: October 3, 2021

This week I bring you a lot of information about Azure Files and Azure File Sync, as well as Spring Cloud Circuit Breaker and Spring Cloud Gateway and, finally, four really useful tools for developers. I hope you like it!


Azure Services

This week I had to dive a little deeper into Azure Files and, specifically, Azure File Sync.

Azure File Sync
Azure File Sync enables centralizing your organization’s file shares in Azure Files, while keeping the flexibility, performance, and compatibility of a Windows file server. While some users may opt to keep a full copy of their data locally, Azure File Sync additionally has the ability to transform Windows Server into a quick cache of your Azure file share. You can use any protocol that’s available on Windows Server to access your data locally, including SMB, NFS, and FTPS. You can have as many caches as you need across the world.

Planning for an Azure File Sync deployment
Azure File Sync is a service that allows you to cache several Azure file shares on an on-premises Windows Server or cloud VM. This article introduces you to Azure File Sync concepts and features. Once you are familiar with Azure File Sync, consider following the Azure File Sync deployment guide to try out this service.

Azure Files scalability and performance targets
Azure Files offers fully managed file shares in the cloud that are accessible via the SMB and NFS file system protocols. This article discusses the scalability and performance targets for Azure Files and Azure File Sync.

Configure Azure Defender for Storage
Azure Defender for Storage provides an additional layer of security intelligence that detects unusual and potentially harmful attempts to access or exploit storage accounts. This layer of protection allows you to address threats without being a security expert or managing security monitoring systems.

About Azure file share backup
Azure file share backup is a native, cloud based backup solution that protects your data in the cloud and eliminates additional maintenance overheads involved in on-premises backup solutions. The Azure Backup service smoothly integrates with Azure File Sync, and allows you to centralize your file share data as well as your backups. This simple, reliable, and secure solution enables you to configure protection for your enterprise file shares in a few simple steps with an assurance that you can recover your data in any disaster scenario.

Deploy Azure File Sync
Use Azure File Sync to centralize your organization’s file shares in Azure Files, while keeping the flexibility, performance, and compatibility of an on-premises file server. Azure File Sync transforms Windows Server into a quick cache of your Azure file share. You can use any protocol that’s available on Windows Server to access your data locally, including SMB, NFS, and FTPS. You can have as many caches as you need across the world.


Spring Framework

I have continued learning about building microservices architectures with Spring Framework. This week, I focused on Spring Cloud Circuit Breaker as well as how to use dynamic routing in Spring Cloud Gateway.

Spring Cloud Circuit Breaker
Spring Cloud Circuit breaker provides an abstraction across different circuit breaker implementations. It provides a consistent API to use in your applications allowing you the developer to choose the circuit breaker implementation that best fits your needs for your app.

Resilience4j: Fault tolerance library designed for functional programming
Resilience4j is a lightweight fault tolerance library inspired by Netflix Hystrix, but designed for Java 8 and functional programming. Resilience4j provides higher-order functions (decorators) to enhance any functional interface, lambda expression or method reference with a Circuit Breaker, Rate Limiter, Retry or Bulkhead. You can stack more than one decorator on any functional interface, lambda expression or method reference. The advantage is that you have the choice to select the decorators you need and nothing else.

Spring cloud gateway dynamic routing
Spring cloud gateway loads routes into memory by default. For details, see the implementation of InMemoryRouteDefinitionRepository class. Here we implement dynamic routing based on Redis.


Architecture

Delta Lake Architecture: Simplifying Data Engineering & Analytics Needs
Over time, we have seen the evolution of data-driven systems like data warehousing, big data workloads (batch & stream), lambda architecture, and data science workloads, but these systems are being worked upon by siloed data teams leading to duplication of data and reduced productivity. Delta lake architecture provides solutions for the above-mentioned problem statement. This does not mean, we no longer need data warehousing and data lake solutions, these are not going anywhere.


Cool Stuff

Trusted Cloud Principles
Amazon, Google and Microsoft have announced that they, along with a number of other enterprise companies, have agreed on a series of principles on customer protection and data sovereignty to govern their cloud computing work.


Useful Tools

Stoplight
Stoplight Platform is first and foremost an API design management tool, which can be used to design, develop, test, and document HTTP APIs using industry standards like OpenAPI, and Markdown for written-form documentation.

Async API Initiative
AsyncAPI is an open source initiative that seeks to improve the current state of Event-Driven Architectures (EDA). Our long-term goal is to make working with EDAs as easy as it is to work with REST APIs. That goes from documentation to code generation, from discovery to event management. Most of the processes you apply to your REST APIs nowadays would be applicable to your event-driven/asynchronous APIs too.

Java Hipster
JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures, in Java.

Yeoman
Yeoman helps you to kickstart new projects, prescribing best practices and tools to help you stay productive. Yeoman provides a generator ecosystem. A generator is basically a plugin that can be run with the `yo` command to scaffold complete projects or useful parts.


Let a new week of learning begin 🙂

Photo by Road Trip with Raj on Unsplash