Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Istio OIDC authentication

Categories

Tags devops cloud kubernetes containers software-architecture

A service mesh is an architectural pattern that provides common network services as a feature of the infrastructure. This typically includes features such as service discovery and policy enforcement to control how services within the mesh can communicate with each other. By Luke Addison.

In addition to the core features, Istio also supports powerful extension points, as well as the ability to apply custom configuration to the Envoy sidecars. Here we will describe how Istio can be configured to manage the OpenID Connect (OIDC) authentication flow for applications running within the mesh to allow both authentication and authorisation decisions to be offloaded to Istio. There are a number of ways to achieve this with Istio however here we look at two solutions and how their integration points have been affected by changes to Istio’s architecture.

The article main parts are:

  • OIDC - an identity layer built upon the OAuth 2.0 protocol
  • Istio 1.4
  • Istio 1.5 and Above
  • Authentication
  • oauth2-proxy

As we have demonstrated, a really powerful aspect of this is that our backend service can be completely unaware that OIDC is being used and does not need to support it itself. However, if the service has support for parsing the JWT, then it can also be used to authorise granular access to different features of the service.

All the code is explained and you will get plenty of links to further reading. With the provided configuration in place, you will be able to make further authorisation decisions based on the attached JWT and corresponding claims. Nice one!

[Read More]

AWS NoSQL: Choosing the best option for you

Categories

Tags nosql cloud cio database software-architecture

NoSQL databases enable you to store data with flexible schema and a variety of data models. These databases are relatively easy for developers to use, and have the high performance and functionality needed for modern applications. NoSQL databases can hold large volumes of data while still providing low latency. By Yifat Perry.

As part of AWS database offerings, there are six types of NoSQL databases you can select from along with a variety of managed and self-managed database services. These database services are designed to support your cloud-native workloads and smoothly integrate with existing AWS resources.

The article then reads about:

  • A Brief History of the NoSQL movement
  • Models of NoSQL databases offered on AWS
  • AWS NoSQL databases services
  • AWS NoSQL with NetApp cloud volumes ONTAP

You will learn a bit about each database which will hopefully enable you to choose whatever is best in your circumstances. Nice one!

[Read More]

Zero to AWS Lambda in Scala

Categories

Tags serverless devops open-source scala programming java

AWS Lambda is the platform for deploying functions to the AWS cloud. You can use it to develop functions that respond to AWS events (eg S3 uploads, DynamoDB inserts), AWS API calls, or via HTTP endpoints using the API Gateway. By Jason Swartz.

In this tutorial you’ll learn how to create a new Lambda function in Scala, accessible via an API Gateway HTTP endpoint but also testable locally with Docker. This tutorial has been tested with Scala 2.12.8, SBT 0.13.18, and SAM-CLI 0.15.0.

The article is a straight step by step tutorial covering:

  • Requirements
  • The Project
  • About The SBT Build
  • About The Java Entrypoint
  • About The Scala Handler
  • About The SAM Configuration
  • Execution
  • Deploying The Function To AWS

… and much more. Author points out that also worth exploring is the GraalVM to compile a Scala function to a native executable and then invoke it with the custom AWS Lambda runtime. The startup time for a GraalVM native Scala app should be in the milliseconds. Plenty of detailed screen grabs and all code explained. Great article!

[Read More]

Eight benefits of a cyber security policy

Categories

Tags infosec cloud devops cio

Learn what a cyber security policy is and why it’s important for protecting your small business. Whilst many businesses have expanded into the world of ecommerce and online shopping in recent months, strong cyber security is essential to protect both you and your customers. By fsb.org.uk.

A cyber security policy provides working guidelines for how your online systems and software should be used to minimise risk. It helps everyone in your business to understand the processes you have in place to protect your company, data and assets.

Your cyber security policy should cover lots of areas, including:

  • The measures you’ve put in place to minimise threats
  • What data will be backed up and how you will manage this
  • Best practice processes, such as what you should or shouldn’t do
  • The different responsibilities your employees have

… and more. It’s estimated that 43 per cent of data losses are caused by internal factors – half of which are accidental. Training your employees and making them aware of cyber security best practices through your cyber security policy is vital. Whether it’s being aware of malicious emails, unknown attachments or best password practices, make sure they’re in the know. Good read!

[Read More]

OAM, the Kubernetes application model bridging development and deployment

Categories

Tags kubernetes containers devops open-source

Why does Kubernetes need a unified application model? It would be the final piece needed to run a seamless deployment model. By Joab Jackson.

With a solid application model in place, a developer could finally build a cloud native application on a laptop, and have it work seamlessly — with no modifications — in a production environment, Prasek said. Without a solid app model, the deployment workflow gets too quickly mired in complexities, slowing things down.

A model connecting the developer to production, asserted Phil Prasek, a principal product manager at cloud services provider Upbound, in a breakout session at the KubeCon + CloudNativeCon Europe.

Integrated k8s-native declarative management

Source: https://thenewstack.io/oam-the-kubernetes-application-model-bridging-development-and-deployment/

The mission of the newly-formed Cloud Native Computing Foundation‘s sig-app-delivery Special Interest Group is to provide a standard way of defining the operational requirements for applications running across Kubernetes.

The Open Application Model (OAM), from Microsoft and Alibaba, is one such model. The goals of OAM are twofold, according to OAM contributor Ryan Zhang:

  • Provide a standard application context for any microservice platform
  • Define a team-centric model that supports a clear separation of concerns between developers and operators

Plenty of resources and explanations in this article together with link to the talk about “Towards a Standardized Application Definition Model for Kubernetes”. Great job!

[Read More]

How to advance in blockchain as a Java developer

Categories

Tags java blockchain fintech miscellaneous career

Come 2009, and mysteriously out of the blocks emerged a cryptocurrency, Bitcoin, coded using a technique described in 1991 as blockchain. Bitcoin attracted sustained attention, and blockchain, which until then was largely unnoticed, basked in the dawn of a new era of promise. By Girish.

Not only is blockchain considered highly scalable, as per a survey by Deloitte Insights, but is also one of the fastest growing skills, as per a survey by Upwork. From start-ups to tech giants and industry leaders, from e-commerce companies to financial and global banking firms, everyone is hiring those with blockchain-related skills.

The article then guides you through:

  • Get a handle on blockchain by studying Bitcoin & Ethereum
  • Explore Java-based blockchain projects like BitcoinJ & FundRequest
  • Master emerging blockchain technologies like Solidity & Hyperledger
  • Take courses like IBM Bitcoin 101: Quick-start guide for developers

Excellent resource for any Java developer learning about and exploring the blockchain!

[Read More]

Multi-Cluster service mesh failover and fallback routing

Categories

Tags kubernetes containers cloud software-architecture containers

In this blog series, we will dig into specific challenge areas for multi-cluster Kubernetes and service mesh architecture, considerations and approaches in solving them. In our first post, we looked at service discovery and in this post we’ll look at failover and fallback routing across multiple clusters. By Denis Jannot.

When building applications on cloud platforms like Kubernetes (ie, ones where compute/network/storage is ephemeral and unreliable), planning for failures isn’t just nice it’s a prerequisite to these architectures. Instead of only working to prevent failures, implementing a strategy to gracefully handle an unplanned failure is critical to the customer experience and to avoid any potential cascading failures across other dependent services. Microservices architecture exacerbates this as there are many layers (physical or abstracted infrastructure, applications) and locations (distributed and dynamic) where the failure can happen.

The article describes these:

  • What is failover and fallback routing?
  • Challenges in handling failures across clusters
  • Service Mesh Hub in action

Service Mesh Hub was updated and open sourced in May and has recently started community meetings to expand the conversation around service mesh. Great read, with detailed commands, configuration files and links to further resources!

[Read More]

New case studies about Google's use of Go

Categories

Tags golang programming cloud web-development google

Go started in September 2007 when Robert Griesemer, Ken Thompson, and I began discussing a new language to address the engineering challenges we and our colleagues at Google were facing in our daily work. By Rob Pike.

When authors first released Go to the public in November 2009, tehy didn’t know if the language would be widely adopted or if it might influence future languages. Looking back from 2020, Go has succeeded in both ways: it is widely used both inside and outside Google, and its approaches to network concurrency and software engineering have had a noticeable effect on other languages and their tools.

Go has turned out to have a much broader reach than we had ever expected. Its growth in the industry has been phenomenal, and it has powered many projects at Google.

In the past year, there was sixteen case studies from end users around the world talking about how they use Go to build fast, reliable, and efficient software at scale. And another three new case studies from teams inside Google has been published recently. Great read!

[Read More]

A deep dive into serverless tracing with AWS X Ray & Lambda

Categories

Tags aws serverless apis cloud monitoring

Steven Staley published this guide on AWS tracing in AWS Lambda context. A serverless API on AWS in order to run in production needs a distributed tracing. Author wanted to see if he could use AWS X Ray to get everything he wanted out of a tracing solution.

The article then goes in great detail over:

  • Requirements
  • Setup
  • X Ray
  • Sampling
  • Internal Tracing with X Ray
  • Local Development
  • Segments
  • Express with Lambda & X Ray

… and much more. The X Ray SDK doesn’t really play nice with serverless offline. One option that at least prevents these errors from causing your lambda to fail is set up specific environment variable AWS_XRAY_CONTEXT_MISSING. This tells X Ray to log the error instead of throwing it. However, the log output is rather verbose and annoying.

This is really detailed and excellent guide for production ready monitoring and tracing fo your serverless. You will get all the code needed and resources to further reading. Well done!

[Read More]

A new twist on DNA origami

Categories

Tags miscellaneous learning cloud

A team of scientists from Arizona State University and Shanghai Jiao Tong University (SJTU) has announced the creation of a new type of meta-DNA structures that will open up the fields of optoelectronics, including information storage and encryption as well as synthetic biology. By Jenny Green.

It is common knowledge that the predictable nature of Watson-Crick base-pairing and the structural features of DNA have allowed DNA to be used as a versatile building block to engineer sophisticated nanoscale structures and devices.

“A milestone in DNA technology was certainly the invention of DNA origami, where a long single-stranded DNA is folded into designated shapes with the help of hundreds of short DNA staple strands,” professor Yan explained. “However it has been challenging to assemble larger (micron to millimeter) sized DNA architectures, which up until recently has limited the use of DNA origami.” The new micron-size structures are on the order of the width of a human hair, which is 1,000 times larger than the original DNA nanostructures.

The group demonstrated that a six-helix bundle DNA origami nanostructure in the submicrometer scale (meta-DNA) could be used as a magnified analog of single-stranded DNA, and that two meta-DNAs containing complementary “meta-base pairs” could form double helices with programmed handedness and helical pitches.

This research was published Sept. 7 in Nature Chemistry. Indeed, the meta-DNA self-assembly concept may totally transform the microscopic world of structural DNA nanotechnology. Super exciting!

[Read More]