Shared posts

19 Apr 16:03

Primera condena judicial contra Losantos por sus difamaciones contra Vox y Disenso

by Elentir
La rastrera campaña de ataques contra Vox por parte de Federico Jiménez Losantos, director de esRadio, ya tiene su primer revés judicial. Tras acusar a Vox de ser «la herramienta del PSOE», Losantos se fue a comer con Ábalos Losantos expone por fin la verdadera razón de su campaña de sucios ataques contra Vox El […]
19 Apr 16:02

"Mi Hijo es un GATO" - Anécdota de un Veterinario

by El Canal del Coronel

El doctor Manuel Manzano, prestigioso veterinario y youtuber, le cuenta a Pedro Baños en El Canal del Coronel una anécdota que refleja muy bien la desorientación de nuestro tiempo: gente que trata a los animales como personas, e incluso que se creen animales.

Puedes seguir al Dr. en su canal @VETERINARIOGRATIS y ver el directo completo aquí: https://www.youtube.com/watch?v=w-eO6jSj0X0
19 Apr 14:30

La justicia absuelve a una médico que hizo una transfusión de sangre a un testigo de Jehová en Lleida

by Delay

La facultativa se enfrentaba a un año de cárcel y a dos de inhabilitación, acusada de un delito contra la integridad moral, lesiones y coacción

etiquetas: justicia, absuelve, médico, transfusión, sangre, testigo, jehová

» noticia original (www.eldiario.es)

19 Apr 14:30

La Audiencia Nacional incoa diligencias por la posible implicación de Otegi en un asesinato de ETA

by candonga1

La Audiencia Nacional ha incoado diligencias previas para investigar la posible implicación del coordinador general de EH Bildu, Arnaldo Otegi, y el exjefe militar de ETA José Aulestia, alias Zotxa, en el asesinato terrorista del directivo de Michelin Luis Hergueta, ocurrido en junio de 1980 en Vitoria.

etiquetas: audiencia nacional, causa, otegi, eta

» noticia original (www.infobae.com)

19 Apr 14:30

Incendio de un camión de transporte de coches en Jumilla (Murcia): el fuego se inició en el remolque y los vehículos no eran eléctricos

by Gɾahml

“Esta es la ecología de la Agenda2030. Arde un camión que transportaba vehículos eléctricos cuando circulaba por la autovía en Jumilla (Murcia)”. Con este mensaje se comparten imágenes de un camión para transportar coches que sufrió un incendio el 13 de abril de 2024 en una carretera de la Región de Murcia. Es un bulo. El 112 de la Región de Murcia ha explicado que el incendio no se originó en los coches, sino en una parte del eje trasero del remolque.

etiquetas: jumilla, murcia, electricos, combustion interna, camion, incendio

» noticia original (maldita.es)

19 Apr 14:30

‘Spanish Village’: El emblemático ensayo fotográfico de W. Eugene Smith (eng)

by Arariel

Aquí, LIFE.com presenta “Spanish Village”en su totalidad. Aunque los rostros de la imagen más famosa del ensayo evocan la crueldad y la arrogancia que a menudo asumen los hombres pequeños a los que se concede un gran poder sobre los demás, otras fotografías iluminan los ritmos intemporales de un pequeño y aislado pueblo español del siglo pasado, sobre el que LIFE escribió: "Vive en la pobreza y la fe antiguas."

etiquetas: spanish village, ensayo fotográfico, eugene smith, life

» noticia original (www.life.com)

19 Apr 14:30

Milei desmantela un exitoso plan de reducción de los embarazos adolescentes

by MiguelDeUnamano

El Gobierno argentino no ha renovado el contrato a 619 profesionales sanitarios del Plan ENIA, un programa referente en América Latina. En cinco años, el Plan ENIA (Embarazo No Intencional en la Adolescencia) logró reducir la tasa de fecundidad en un 50%. En 2017, nacieron en Argentina 704.609 niños y niñas, de los cuales un 13% (94.079) eran hijos de menores de 20 años y 2.493 de niñas menores de 15 años. Al año siguiente se lanzó el Plan ENIA, durante el Gobierno del conservador Mauricio Macri.

etiquetas: embarazos adolescentes, plan enia

» noticia original (www.eldiario.es)

19 Apr 14:29

¿Millennials Vs boomers? ¡No, es lucha de clases, amigo!

by Lord_Cromwell

Aunque el discurso habitual enfrenta a los millennials con los baby boomers, este panorama general oculta la disparidad económica dentro de la generación de los millennials. Resulta curioso, por no utilizar otras palabras más gruesas, leer ciertos estudios de economistas patrios lamentándose de la situación actual de los jóvenes, de los llamados millennials. Es lo que tiene la “Macro Moderna”: cuando se aplica en la vida real es incapaz de mejorar las condiciones de vida de la ciudadanía, llevando la desigualdad de renta y riqueza a...

etiquetas: milenials, boomers, economia. generaciónes

» noticia original (www.elsaltodiario.com)

19 Apr 14:29

La Policía de Nueva York (EEUU) detiene a más de cien manifestantes propalestinos

by candonga1

La Policía de Nueva York (Estados Unidos) ha detenido este jueves a más de un centenar de manifestantes propalestinos por "allanamiento" mientras se encontraban protestando en la Universidad de Columbia al mismo tiempo que la rectora del centro, Nemat 'Minouche' Shafik, estaba testificando ante un comité de la Cámara de Representantes al cuestionar su trabajo a la hora de "responder" a comentarios antisemitas por parte de profesores.

etiquetas: policía, eeuu, detiene, 100 manifestantes, propalestinos

» noticia original (www.europapress.es)

19 Apr 14:29

Condenada Ángela Rodríguez "Pam" por llamar "maltratador" al ex de María Sevilla, presidenta de Infancia Libre

by pedrario

El juzgado de Instrucción número 3 de Estepona (Málaga) ha condenado a Ángela Rodríguez 'Pam', secretaria de Estado de Igualdad en el anterior Gobierno de Pedro Sánchez, por un delito contra el honor de Rafael Marcos, ex pareja de María Sevilla, la ex presidenta de Infancia Libre, según ha podido saber EL MUNDO.

etiquetas: angela rodriguez, pam, condenada, maltratador, infancia libre

» noticia original (www.elmundo.es)

19 Apr 14:29

Europa está siendo arrastrada a una guerra evitable

by tierramar

La UE se está sumando a la estrategia que siempre han utilizado los Estados Unidos, convertir la carrera armamentística en su motor económico, expandiendo al máximo la industria militar y multiplicando sus beneficios y su peso en la economía global. Europa había estado tan cerca de una guerra generalizada como nos encontramos ahora. No es una advertencia alarmista, es una realidad que debemos tener presente para desescalar los riesgos, no para incrementar la tensión como está haciendo la dirigencia política europea. Tomar conciencia del peligro

etiquetas: europa, arrastrada, guerra, evitable

» noticia original (www.eldiario.es)

19 Apr 14:29

Polonia - La agencia de viajes de García-Castellón

by Opti6

El juez García-Castellón anuncia su nueva agencia de viajes, pensada para todo el mundo que necesite encontrar exilio de forma rápida y fácil.

etiquetas: garcía-castellón, tv3, sketch, humor, prevaricador

» noticia original (www.youtube.com)

19 Apr 14:28

Cómo libraban la guerra en alta mar los antiguos griegos (ENG)

by Ripio

En la antigua Grecia, se desarrolló un complejo sistema militar para ganar batallas en el mar; utilizando los esfuerzos de remeros y soldados marinos junto con tácticas navales innovadoras y en constante evolución y desarrollos tecnológicos sustanciales. No existía una armada "griega" específica. Las tácticas y la tecnología detrás de la guerra naval en el período de la antigua Grecia prepararon el escenario para miles de años de guerra naval que siguieron.

etiquetas: historia, grecia, guerra naval

» noticia original (www.twz.com)

19 Apr 14:27

Mi Dios, Júpiter, me prometió tu casa. Pírate

by escritor_esporadico

Parece absurdo, ¿verdad? Algo así no podría estar pasando en la realidad. ¿O sí?

etiquetas: religión, ocupación, reclamación

» noticia original (twitter.com)

19 Apr 14:26

Sentencia pionera: una jueza prohíbe a un hombre acercarse a su hija para prevenir la violencia vicaria

by mis_cojones_33

Hace pocos días, una niña de 11 años ha recibido una comunicación procedente del Juzgado de Primera Instancia 19 de Barcelona. La jueza le comunica su decisión: no tiene que ver ni hablar con su padre y este no podrá acercarse a ella. "Así se lo hemos dicho para que tú puedas salir a la calle o ir al colegio tranquila y sin miedo. Has sido muy valiente al decirnos algunas de las cosas que te dan miedo y que la razón por la que no quieres estar con él es porque te da mucho miedo que le haga otra vez daño a tu mamá".

etiquetas: sentencia, violencia, vicaria

» noticia original (www.publico.es)

19 Apr 14:26

Pilar Baselga calla ante el juez y rechaza explicar su bulo de que la mujer de Sánchez es transexual

by Pilar_F.C.

La difusora de bulos Pilar Baselga, una habitual en medios y entornos de la extrema derecha, se ha acogido este viernes a su derecho a no declarar ante el juez que investiga la falsedad que lanzó en noviembre de 2022, cuando dijo que Begoña Gómez, la esposa de Pedro Sánchez, es transexual y que formaba parte de una red de narcotráfico. Según ha podido saber elDiario.es de fuentes conocedoras de la declaración ante un magistrado madrileño, Baselga ha preferido ahora guardar silencio.

etiquetas: pilar baselga, calla, juez, bulo, mujer, de sánchez, transexual

» noticia original (www.eldiario.es)

19 Apr 14:26

Por primera vez en mil millones de años, que sepamos, dos formas de vida se fusionan en un solo organismo

by blodhemn

La endosimbiosis solo ha ocurrido tres veces conocidas. Ahora, un equipo de científicos ha detectado una señal de un importante acontecimiento vital que probablemente no ha ocurrido desde hace al menos mil millones de años. Han observado endosimbiosis primaria: dos formas de vida fusionándose en un organismo. Este evento increíblemente raro ocurrió entre un abundante tipo de alga marina y una bacteria que se observó en un laboratorio. En perspectiva, las plantas comenzaron a salpicar nuestro planeta la última vez que esto sucedió.

etiquetas: endosimbiosis, alga marina, bacteria, fusinan, un solo organismo

» noticia original (www.vistaalmar.es)

19 Apr 14:25

“La vida me ha enseñado que a base de curro siempre consigues el objetivo”#trabajar #vida

by Jose Elías
19 Apr 14:07

Alambre

by Nadir

Vengo de darme un paseo por tierras charras y extremeñas.

Hace ya años llegué a la conclusión que no merecía la pena perder el tiempo intentando visitar parajes al Sur del Tajo. Tras este viaje, con enorme tristeza, debo extender mi prevención a tierras más allá del padre Duero, en la falda Norte del escalón asimétrico que forma el Sistema Central. El mal se extiende sin oposición ni freno (y aún jaleado por mucho imbécil progre que pretende inútilmente caer simpático en el rural, con su sacralización de la vida rural y la ganadería extensiva).

Y no me malinterpretéis, no es que esas tierras carezcan de interés, me duele más bien por lo contrario.

En breve: es absurdo ir a conocer unos montes limitados por enormes vallados, en que los caminos son privados y la única vía pública es una carretera que discurre durante kilómetros y kilómetros flanqueada por malla de alambre.

La gente del lugar, acostumbrada culturalmente a aceptar la servidumbre de la distribución de la tierra latifundista, ven esta aberración como algo natural. Nada ni remotamente parecido he visto en ningún lugar de Europa.

España, en su mitad Sur pero no sólo, es un campo de concentración. Un territorio compartimentado con alambradas que hacen del territorio un redil de proporciones descomunales, o una galería de tiro para ricachones.

Conste que barreras siempre hubo, pero eran muros bajos de piedra seca, lo justo para evitar que las vacas u ovejas se dispersasen, pero no limitaban los movimientos de la fauna salvaje. Pero apareció el maldito alambre de espino, y ahora directamente las mallas de alambre que impiden el paso de cualquier bicho más corpulento que un sapo.

Ponerle puertas al campo, compartimentarlo con alambradas, es un crimen ecológico que impide la existencia de los grandes herbívoros y carnívoros salvajes al impedir sus desplazamientos. Como es, de hecho, su finalidad manifiesta: contener al ganado doméstico o a las especies cinegéticas criadas en cautividad e impedir la entrada de sus predadores. De tal forma que el propietario las puede abandonar y desentenderse, comodidad para el ganadero que aspira a un monte profiláctico, desprovisto de peligros y amenazas para sus reses.

Es lo mismo que podemos decir del eucalipto en el noroeste peninsular. Mal está hacerlo en una extensión de terreno, pero hacerlo a una escala que ocupa todo un territorio es una astracanada, una barbaridad ecológica que daña un bioma entero (en el caso de las plantaciones de eucalipto, lo destruye completamente). Como la guerra es al asesinato, un crimen ecológico a escala industrial.

Todo programa de gobierno que se presente como muy ecolohostias, sostenible, inclusivo y demás palabrería, que no pase por la deseucaliptización del Norte peninsular y el desalambramiento del Sur, es sólo una patochada inane. Toda organización ecologista que no tenga como labor principal cortar alambres y tirar vallados, son sólo una panda de payasos buscando el reconocimiento social de su beatitud (léase imbecilidad).

+

Y cambio de partitura, para dejar claro que aquí no nos callamos nada.

La última vez que estuve en Extremadura comenté que si bien el nivel de basura arrojada al campo era alto, lo era menos de lo que acostumbro a ver en Galicia. Pues bien, en esta ocasión, al menos en la zona que media entre Béjar y Plasencia visitada, estoy francamente satisfecho de la escasa presencia de indicios de nuestra era, el plasticolítico. Incluso en vías muy frecuentadas, apenas había basura sea porque no la arrojan o porque la recogen, o la combinación de ambas. Como debe ser.

En kilómetros de vía verde, sólo un envoltorio de toallitas de alguna asquerosa ser de luz con el chumino oliendo a colonia industrial y el cerebro apestando a boñiga.

De hecho, unas semanas antes estábamos en era Val d’Aran, y un entorno sin duda magnífico estaba mancillado por una cantidad muy superior de basura, que algún cerdo bípedo arrojó y otro aún más cerdo de despacho no se preocupa en retirar. Por ejemplo, una lata de brebaje energético (hay que ser muy tonto para beber esa mierda) rotulada en francés.

Bueno, entiéndaseme bien. Cantidad superior digo comparándolo con lo que ahora nos hemos encontrado en Cáceres, o lo que habitualmente se encuentra en Catalunya. Pero a bastante distancia de lo común en Galicia (en una semana sólo vimos 6 o 7 neumáticos, una lavadora despeñada… lo que podríamos enumerar en un paseo de una tarde en cualquier concello gallego).

+

+

+

+

+

+

+

+

+

+

19 Apr 10:22

Multi-region HA in Google Cloud

by Sergey Shcherbakov

Google Cloud is one of the remarkable cloud “hyperscalers”. Hyperscalers are designed for massive capacity. They possess immense data center networks spread globally, allowing them to handle the enormous computing demands of large enterprises and applications with vast user bases. With that, Hyperscalers can enable applications with unsurpassed capabilities in scalability, reliability and global reach.

In this article we will try to explore the levels of possible application availability in Google Cloud with a focus on private internal networks. We’ll also provide actual infrastructure configuration examples.

Let’s imagine a business critical web application or API that provides its important service to the, potentially internal, business customers or end users. Often the business needs require the application to minimize its downtime, make it accessible to the users and responsive most of the time. A common measure of success of such metric is the application service uptime metric often aiming for targets like “99.99%” (“four nines”) or even “99.999%” (“five nines”) which translate into very few minutes of allowed downtime per year.

The typical mechanisms that the application design can rely upon to improve application Availability (as measured by uptime) are

  • Redundancy — run application on multiple independent hardware instances
  • Load Balancing — distribute incoming network traffic across multiple application instances running on multiple independent hardware instances
  • Failover — mechanisms to automatically detect failures and switch operation to a working application instance seamlessly
  • Monitoring & Alerting — robust monitoring systems to detect problems quickly and preferably proactively notify the team responsible for addressing them
  • Self-healing — ability of the application components restart themselves or re-provision failing resources with minimal manual intervention

In this article we will concentrate on how Google Cloud can help with the first three means of improving cloud application availability: redundancy, load balancing, failover.

Redundancy

A single application instance or application running in a single failure domain cannot sustain underlying hardware failure and hence the application would not be available to the end users in case of an underlying hardware outage:

Fig. 1: Single application instance on single GCE VM

If our business objectives require addressing only a single Google Compute Engine (GCE) VM outage we would need to apply Redundancy and Load Balancing in order to improve application availability and resilience to that failure scenario:

Fig. 2: Multiple application instances in single GCE Zone

This setup is addressing the single GCE VM or application instance outage failure scenario.

Google Cloud hardware is organized into clusters. A cluster represents a set of compute, network, and storage resources supported by building, power, and cooling infrastructure. Infrastructure components typically support a single cluster, ensuring that clusters share few dependencies. However, components with highly demonstrated reliability and downstream redundancy can be shared between clusters. For example, multiple clusters typically share a utility grid substation because substations are extremely reliable and clusters use redundant power systems.

A zone is a deployment area within a region and Compute Engine implements a layer of abstraction between zones and the physical clusters where the zones are hosted. Each zone is hosted in one or more clusters and you can check the Zone virtualization article for more details about that mapping.

To simplify reasoning without sacrificing accuracy it would be fair to assume that a GCE zone is a deployment area within a geographic region mapped to one or more clusters that can fail together, e.g. because of the power supply outage.

GCE zone outage is not an impossible scenario and a highly reliable application on Google Cloud typically seeks to sustain its service during such unfortunate event by running application replicas in multiple zones:

Fig. 3: Multiple application instances in multiple GCE Zones

With high zone availability SLA levels provided by the Google Cloud Compute engine, the application setup in Figure 3 should be sufficient for majority of business use cases even for very demanding customers requiring high application service SLA levels.

Unfortunately, a full region outage is also not an impossible scenario.

The power of cloud hyperscalers is especially in that they provide customers with significantly better tools to survive disasters similar to this one, for example, than other cloud providers. Amongst other things, that is what differentiates “Hyperscalers” from small-scale or localized cloud service providers. In Google Cloud an application can run its replicas not only on power independent hardware within one data center or geographic location (probably connected to the same power plant in the neighborhood) but also across geographic location and even across continents!

So we are coming to the next level of application redundancy that is possible with Google Cloud: multi-regional application deployment.

Fig. 4: Multiple application instances in multiple GCE Regions with global external load balancing

With that, a business critical application can now have a strategy for the entire site (region) failure and promise uptime to its critical clients even in that unlikely case.

Load Balancing

There needs to be some magic happening in order to seamlessly direct clients from around the world to the application instance replicas running in multiple geographic locations. And not only that. Whenever a VM, GCE zone or even full region goes down that magic needs to seamlessly redirect application clients to the healthy locations in other surviving region.

What are the options for load balancing that Google Cloud provides?

On the picture in Figure 4 the load balancer is located in Google Cloud but outside of any particular region. That kind of a global service can be provided by the following types of Google Cloud Load balancers:

  • Global External Application Load Balancer
  • Classic Application Load Balancer in Premium Tier
  • Global External proxy Network Load Balancer
  • Classic Proxy Network Load Balancer

Load balancers of all of these listed types load balancing traffic coming from the clients on the internet to the workloads running on Google Cloud.

An enterprise organization on Google Cloud would keep VPC networks private and expose application workloads to the internal company clients, which are also often located across the world.

Internal load balancers on Google Cloud restrict access to the application to the clients in internal networks only. Unlike global external, internal load balancers on Google Cloud currently rely on the regional infrastructure. Availability of the applications exposed by internal load balancers can hence be affected by a single cloud region outage.

That means that for the internal clients the multi-regional application deployment depicted in Figure 4 logically changes to:

Fig. 5: Multiple application instances in multiple GCE Regions with internal load balancing

The choice of internal load balancers on Google Cloud is even bigger:

  • Regional Internal Application Load Balancer
  • Cross-region Internal Application Load Balancer
  • Regional internal proxy Network Load Balancer
  • Cross-region internal proxy Network Load Balancer
  • Internal passthrough Network Load Balancer

There is an open question with the regional internal load balancing though. How would application clients know and seamlessly failover to the healthy region in case of a full region outage (a high bar challenge we have set us up to)?

To address that challenge we can revert to a well known technique called DNS load balancing (or round-robin DNS).

Fig. 6: Internal DNS load balancing with regional application backends

Fully managed Google Cloud DNS service offers an important and convenient tool to setup such cross-regional client access, it is called Geolocation routing policies and it “lets you map traffic originating from source geographies (Google Cloud regions) to specific DNS targets. Use this policy to distribute incoming requests to different service instances based on the traffic’s origin. You can use this feature with the internet, with external traffic, or with traffic originating within Google Cloud and bound for internal passthrough Network Load Balancers. Cloud DNS uses the region where the queries enter Google Cloud as the source geography.

Using Cloud DNS Geolocation routing policies in the setup depicted in Figure 6 application clients will automatically receive IP address of the Internal Load Balancer nearest to their geographic location from the Cloud DNS server.

Please note, that the Google Cloud DNS is a fully managed global service offering impressive SLO targets. DNS cache on the application client side helps sustaining the application service available in the rare case of possible Cloud DNS service outage.

In fact, many parts of the Cross-region Internal Application Load Balancers are global Google Cloud resources as well. Here is a more detailed diagram borrowed from the public Google Cloud pages:

Fig. 7: Global resources of the internal cross-region load balancer

Failover

But what exactly happens to the client connections and overall application availability in case of an individual GCE VM, zone or region outage? How would a DNS service know that it needs to resolve application hostnames to a different IP address to direct clients to another (healthy) region?

The Cloud DNS service and its Geolocation routing policies in particular has yet another feature which completes the multi-regional application deployment puzzle. It is Health Checks.

For Internal Passthrough Network Load Balancers (L4), Cloud DNS checks the health information on the load balancer’s individual backend instances to determine if the load balancer is healthy or unhealthy. Cloud DNS applies a default 20% threshold, and if at least 20% of backend instances are healthy, the load balancer endpoint is considered healthy. DNS routing policies mark the endpoint as healthy or unhealthy based on this threshold, routing traffic accordingly.

For Internal Application Load Balancers and Cross-region Internal Application Load Balancers, Cloud DNS checks the overall health of the internal Application Load Balancer, and lets the internal Application Load Balancer itself check the health of its backend instances.

Fig. 8: Internal DNS load balancing with cross-region application backends with health checks

Cloud DNS health checks are a crucial solution component for achieving maximum application uptime. Without Cloud DNS ability to test the current status of the internal load balancers and application backends it would not be able to reason about which IP address exactly should be returned to the clients on their DNS requests in case of a region outage. Hence the seamless client failover to the health application instances would not be possible.

Please note that in order to achieve best results, the Time-To-Live parameter of the application A-record in Cloud DNS needs to be set to a minimal value. It could even be zero, in which case applications would contact DNS for a current IP before every call to the application service. The choice of the DNS record TTL value is a tradeoff between the application availability requirements and DNS service load and client response latency.

Internal load balancers maintain their own application backends health checks (Cloud DNS health checks are using a different mechanism) and in case of the cross-region internal application load balancers a load balancer operating in a particular region can automatically failover and redirect client requests to the application replicas running in another healthy region.

This setup addresses the “partial” region outage scenario. That is when only application backend instances are not available (e.g. GCE VMs are down or there is a error in the application preventing it from accepting incoming connections) but other services in the affected region (such as networking and load balancing) continue working.

Configuration with Managed Instance Groups

Let’s combine all pieces of an HA solution discussed before into a single picture and see how the Google Cloud resources need to be configured together to achieve the desired effect.

GCE Managed Instance Groups based scenarios, discussed in this article, are also relevant to the managed Kubernetes service on Google Cloud, GKE, as well. Kubernetes node pools in GKE are implemented as GCE MIGs. Hence, Kubernetes workload deployed to GKE on Google Cloud can be made multi-regional by deploying the application service to several GKE clusters in distinct regions. The load balancer resources for such set up can be provisioned using

In this example we will use Terraform to set up load balancers, a common tool for declarative cloud infrastructure definition and provisioning, but it is also possible to achieve the same setup using the other two approaches. You can find the full Terraform example in this GitHub project.

Our first example will be based on the regional Internal Network Passthrough Load Balancers and Google Compute Engine (GCE) Managed Instance Groups (MIGs).

In the last section of this article we’ll discus pros and cons of different load balancer and application backends combinations.

First we define the GCE MIGs in two Google Cloud regions:

// modules/mig/mig.tf:
module "gce-container" {
source = "terraform-google-modules/container-vm/google"
container = {
image = var.image
env = [
{
name = "NAME"
value = "hello"
}
]
}
}

data "google_compute_default_service_account" "default" {
}
module "mig_template" {
source = "terraform-google-modules/vm/google//modules/instance_template"
version = "~> 10.1"
network = var.network_id
subnetwork = var.subnetwork_id
name_prefix = "mig-l4rilb"
service_account = {
email = data.google_compute_default_service_account.default.email
scopes = ["cloud-platform"]
}
source_image_family = "cos-stable"
source_image_project = "cos-cloud"
machine_type = "e2-small"
source_image = reverse(split("/", module.gce-container.source_image))[0]
metadata = merge(var.additional_metadata, { "gce-container-declaration" = module.gce-container.metadata_value })
tags = [
"container-vm-test-mig"
]
labels = {
"container-vm" = module.gce-container.vm_container_label
}
}

module "mig" {
source = "terraform-google-modules/vm/google//modules/mig"
version = "~> 10.1"
project_id = var.project_id

region = var.location
instance_template = module.mig_template.self_link
hostname = "${var.name}"
target_size = "1"

autoscaling_enabled = "true"
min_replicas = "1"
max_replicas = "1"
named_ports = [{
name = var.lb_proto
port = var.lb_port
}]

health_check_name = "${var.name}-http-healthcheck"
health_check = {
type = "http"
initial_delay_sec = 10
check_interval_sec = 2
healthy_threshold = 1
timeout_sec = 1
unhealthy_threshold = 1
port = 8080
response = ""
proxy_header = "NONE"
request = ""
request_path = "/"
host = ""
enable_logging = true
}
}

// mig.tf
module "mig-l4" {
for_each = var.locations
source = "./mig"
project_id = var.project_id
location = each.key
network_id = data.google_compute_network.lb_network.id
subnetwork_id = data.google_compute_subnetwork.lb_subnetwork[each.key].id
name = "failover-l4-${each.key}"
image = var.image
}

Then, let’s define two Cross-regional Internal Network Passthrough Load Balancers (L4 ILBs), each in respective region:

// modules/l4rilb/l4-rilb.tf
locals {
named_ports = [{
name = var.lb_proto
port = var.lb_port
}]
health_check = {
type = var.lb_proto
check_interval_sec = 1
healthy_threshold = 4
timeout_sec = 1
unhealthy_threshold = 5
response = ""
proxy_header = "NONE"
port = var.lb_port
port_name = "health-check-port"
request = ""
request_path = "/"
host = "1.2.3.4"
enable_log = false
}
}

module "l4rilb" {
source = "GoogleCloudPlatform/lb-internal/google"
project = var.project_id
region = var.location
name = "${var.lb_name}"
ports = [local.named_ports[0].port]
source_tags = ["allow-group1"]
target_tags = ["container-vm-test-mig"]
health_check = local.health_check
global_access = true

backends = [
{
group = var.mig_instance_group
description = ""
failover = false
},
]
}

// l4-rilb-mig.tf
module "l4-rilb" {
for_each = var.locations
source = "./modules/l4rilb"
project_id = var.project_id
location = each.key
lb_name = "l4-rilb-${each.key}"
mig_instance_group = module.mig-l4[each.key].instance_group
image = var.image
network_id = data.google_compute_network.lb_network.id
subnetwork_id = data.google_compute_subnetwork.lb_subnetwork[each.key].name

depends_on = [
google_compute_subnetwork.proxy_subnetwork
]
}

And now let’s also add the global Cloud DNS record set configuration:

// dns-l4-rilb-mig.tf
resource "google_dns_record_set" "a_l4_rilb_mig_hello" {
name = "l4-rilb-mig.${google_dns_managed_zone.hello_zone.dns_name}"
managed_zone = google_dns_managed_zone.hello_zone.name
type = "A"
ttl = 1

routing_policy {
dynamic "geo" {
for_each = var.locations
content {
location = geo.key
health_checked_targets {
internal_load_balancers {
ip_address = module.l4-rilb[geo.key].lb_ip_address
ip_protocol = "tcp"
load_balancer_type = "regionalL4ilb"
network_url = data.google_compute_network.lb_network.id
port = "8080"
region = geo.key
project = var.project_id
}
}
}
}
}
}

After we apply the Terraform configuration to the target Google Cloud project:

terraform init
terraform plan
terraform apply

we get all solution infrastructure components including a test application running in the GCE VMs in two distinct Google Cloud regions needed to perform end-to-end testing.

Let’s see how the clients can now access our application.

For testing of continuous request flow we can use the Fortio tool, which is a common tool for testing service mesh application performance. We will run it from a GCE VM attached to the same VPC where the load balancers are installed:

gcloud compute ssh jumpbox

docker run fortio/fortio load --https-insecure -t 1m -qps 1 http://l4mig.hello.zone:8080

The results after a minute of execution should look similar to the following:

IP addresses distribution:
10.156.0.11:8080: 1
Code 200 : 258 (100.0 %)
Response Header Sizes : count 258 avg 390 +/- 0 min 390 max 390 sum 100620
Response Body/Total Sizes : count 258 avg 7759.624 +/- 1.497 min 7758 max 7763 sum 2001983
All done 258 calls (plus 4 warmup) 233.180 ms avg, 17.1 qps

Please note the IP address of the L4 internal regional load balancer in the nearest region that is getting all of the calls.

In the second console window SSH into the VM in the GCE MIG group in the nearest region

export MIG_VM=$(gcloud compute instances list --format="value[](name)" --filter="name~l4-europe-west3")
export MIG_VM_ZONE=$(gcloud compute instances list --format="value[](zone)" --filter="name=${MIG_VM}")

gcloud compute ssh --zone $MIG_VM_ZONE $MIG_VM --tunnel-through-iap --project $PROJECT_ID

docker ps

Now let’s run the load test in the first console window again.

While the test is running switch to the second console window and execute

docker stop ${CONTAINER}

Switch to the first console window and notice the failover happening. The output at the end of the execution should look like following

IP addresses distribution:
10.156.0.11:8080: 16
10.199.0.48:8080: 4
Code -1 : 12 (10.0 %)
Code 200 : 108 (90.0 %)
Response Header Sizes : count 258 avg 390 +/- 0 min 390 max 390 sum 100620
Response Body/Total Sizes : count 258 avg 7759.624 +/- 1.497 min 7758 max 7763 sum 2001983
All done 120 calls (plus 4 warmup) 83.180 ms avg, 2.0 qps

Please note that the service VM in the Managed Instance has been automatically restarted. This functionality is provided by the Google Compute Engine Managed Instance groups and implements the forth component of application high availability posture, as you remember from the beginning of the article, it is self-healing.

Cloud Run Backends

Let’s consider a second scenario and assume that our cloud-native application is implemented as a Cloud Run service.

The Cloud Run based scenarios, discussed in this article, are relevant for the Cloud Functions (2nd generation) application backends as well. Cloud Functions can be configured as load balancer backends similarly to the Cloud Run instances using the same Serverless Network Endpoint Groups resources.

The overall multi-region application deployment changes slightly.

Fig. 9: Internal DNS load balancing with cross-region application backends in Cloud Run

We start with defining two regional Cloud Run instances allowing invocations from unauthenticated clients:

// modules/cr/cr2.tf
resource "google_cloud_run_v2_service" "cr_service" {
project = var.project_id
name = "cr2-service"
location = var.location
launch_stage = "GA"

ingress = "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER"
custom_audiences = [ "cr-service" ]

template {
containers {
image = "gcr.io/cloudrun/hello" # public image for your service
}
}
traffic {
percent = 100
type = "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST"
}
}

resource "google_compute_region_network_endpoint_group" "cloudrun_v2_sneg" {
name = "cloudrun-sneg"
network_endpoint_type = "SERVERLESS"
region = var.location
cloud_run {
service = google_cloud_run_v2_service.cr_service.name
}
}

resource "google_cloud_run_v2_service_iam_member" "public-access" {
name = google_cloud_run_v2_service.cr_service.name
location = google_cloud_run_v2_service.cr_service.location
project = google_cloud_run_v2_service.cr_service.project
role = "roles/run.invoker"
member = "allUsers"
}

// cr.tf
module "cr-service" {
for_each = var.locations
source = "./modules/cr"
project_id = var.project_id
location = each.key
image = var.image
}

And then define global Internal Cross-Region Application Load Balancer resources:

// modules/l7crilb/l7-crilb.tf
resource "google_compute_global_forwarding_rule" "forwarding_rule" {
for_each = var.subnetwork_ids
project = var.project_id

name = "${var.lb_name}-${each.key}"

ip_protocol = "TCP"
load_balancing_scheme = "INTERNAL_MANAGED"
port_range = var.lb_port
target = google_compute_target_https_proxy.https_proxy.self_link
network = var.network_id
subnetwork = each.value
}

resource "google_compute_target_https_proxy" "https_proxy" {
project = var.project_id

name = "${var.lb_name}"
url_map = google_compute_url_map.url_map.self_link

certificate_manager_certificates = [
var.certificate_id
]
lifecycle {
ignore_changes = [
certificate_manager_certificates
]
}
}

resource "google_compute_url_map" "url_map" {
project = var.project_id

name = "${var.lb_name}"
default_service = google_compute_backend_service.backend_service.self_link
}

resource "google_compute_backend_service" "backend_service" {
project = var.project_id

load_balancing_scheme = "INTERNAL_MANAGED"
session_affinity = "NONE"

dynamic "backend" {
for_each = var.backend_group_ids
content {
group = backend.value
balancing_mode = var.balancing_mode
capacity_scaler = 1.0
}
}

name = "${var.lb_name}"
protocol = var.backend_protocol
timeout_sec = 30

// "A backend service cannot have a healthcheck with Serverless network endpoint group backends"
health_checks = var.is_sneg ? null : [google_compute_health_check.health_check.self_link]

outlier_detection {
base_ejection_time {
nanos = 0
seconds = 1
}
consecutive_errors = 3
enforcing_consecutive_errors = 100
interval {
nanos = 0
seconds = 1
}
max_ejection_percent = 50
}

}

resource "google_compute_health_check" "health_check" {
project = var.project_id

name = "${var.lb_name}"
http_health_check {
port_specification = "USE_SERVING_PORT"
}
}

// l7-crilb-cr.tf
module "l7-crilb-cr" {
source = "./modules/l7crilb"
project_id = var.project_id
lb_name = "l7-crilb-cr"

network_id = data.google_compute_network.lb_network.name
subnetwork_ids = { for k, v in data.google_compute_subnetwork.lb_subnetwork : k => v.id }
certificate_id = google_certificate_manager_certificate.ccm-cert.id
backend_group_ids = [ for k, v in module.cr-service : v.sneg_id ]
is_sneg = true
}

Please note that all load balancer related resources in this case are global (not regional).

In this demo case we need to define define the Cloud DNS resources as well:

// dns-l7-crilb-cr.tf
resource "google_dns_record_set" "a_l7_crilb_cr_hello" {
name = "l7-crilb-cr.${google_dns_managed_zone.hello_zone.dns_name}"
managed_zone = google_dns_managed_zone.hello_zone.name
type = "A"
ttl = 1

routing_policy {
dynamic "geo" {
for_each = var.locations
content {
location = geo.key
health_checked_targets {
internal_load_balancers {
ip_address = module.l7-crilb-cr.lb_ip_address[geo.key]
ip_protocol = "tcp"
load_balancer_type = "globalL7ilb"
network_url = data.google_compute_network.lb_network.id
port = "443"
project = var.project_id
}
}
}
}
}
}

For each region where the Cloud Run instance with our application is running we need to create a dedicated Cloud DNS routing policy.

Let’s now apply the Terraform to the target Google Cloud project and see how the clients can access our Cloud Run application.

Similarly to the Network Passthrough load balancer case described in the previous section, we’ll call our application endpoint exposed by the Cloud Run via the configured FQDN hostname:

gcloud compute ssh jumpbox
docker run fortio/fortio load --https-insecure \
-t 5m -qps 1 https://l7-crilb-cr.hello.zone

The results after a minute of execution should look similar to the following:

IP addresses distribution:
10.156.0.55:443: 4
Code 200 : 8 (100.0 %)
Response Header Sizes : count 8 avg 216 +/- 0 min 216 max 216 sum 1728
Response Body/Total Sizes : count 8 avg 226 +/- 0 min 226 max 226 sum 1808
All done 8 calls (plus 4 warmup) 17.066 ms avg, 1.4 qps

With our Fortio tool setup of one call per second, all calls have reached their destination.

The IP address that shows up in the output is the IP of the L7 internal cross-regional load balancer in the nearest region that is receiving all of our calls at the moment.

To simulate Cloud Run backend service outage, while running Fortio tool started in the previous step, in the second console window we can delete the backend resource in the nearest region from the load balancer backend service definition, e.g.:

gcloud compute backend-services remove-backend l7-crilb-cr \
--network-endpoint-group=cloudrun-sneg \
--network-endpoint-group-region=europe-west3 \
--global

We can also check, to which regions the load balancer sends the traffic using:

gcloud compute backend-services list --filter="name:l7-crilb-cr"

NAME BACKENDS PROTOCOL
l7-crilb-cr us-central1/networkEndpointGroups/cloudrun-sneg HTTPS

There is only one backend left running in the remote region. Yet, the Fortio results in the first console session show no hiccup or interruption:

IP addresses distribution:
10.156.0.55:443: 4
Code 200 : 300 (100.0 %)
Response Header Sizes : count 300 avg 216.33333 +/- 1.106 min 216 max 220 sum 64900
Response Body/Total Sizes : count 300 avg 226.33333 +/- 1.106 min 226 max 230 sum 67900
All done 300 calls (plus 4 warmup) 193.048 ms avg, 1.0 qps

What we have seen so far was the failover at the Internal Cross-Regional Application load balancer backend side. That is, the client application (Fortio) was still accessing the load balancer IP address in the nearest europe-west3 region. That can also be verified by running host l7-crilb-cr.hello.zone which will return the internal load balancer IP address from the subnetwork in the europe-west3 region.

What would happen in case of a full local region outage?

The first use case discussed above (Network Passthrough Load Balancer with MIG backends) illustrates that case. The Cloud DNS L4 health checks for the Network Passthrough load balancer test connection all way through to the actual application process running in GCE VMs (it is not possible to configure this type of load balancer with Serverless Network Endpoint Groups backends for Cloud Run instances) and flips the IP address for the application service host name to the load balancer IP address in another region automatically.

Unfortunately, the Cloud DNS health checks for application (L7) load balancers cannot detect the outage of the application backend service with that fidelity level yet. Regional and Cross-regional Application load balancers are built on Envoy proxies internally and Envoy proxy based load balancers are only health checking the state and availability of the Envoy proxy instances, not the application backends themselves.

If an application running in Cloud Run experiences malfunction (e.g. as a result of internal program error) and returns 500 response codes, the Cloud DNS won’t detect that and won’t take action switching the load balancer IPs for the application hostname. That situation would be detected by the Outlier Detection feature of the Internal Cross-regional Application Load Balancer and the load balancer will redirect traffic to the healthy backend by looking at the rate of successful calls towards each backend.

A missing load balancer backend is not considered as an outage by the Cloud DNS health checks though. When a Cross-regional Application Load Balancer backend resources are not properly configured, load balancer has none of them, or has malfunctioning backends, the Cloud DNS won’t take action and won’t flip load balancer IPs automatically. The Cloud DNS health checks only check the availability of the internal Google Cloud infrastructure (Envoy proxies) supporting the application (L7) load balancers.

Yet, in case a full Google Cloud region outage the load balancer infrastructure would not be available fully and the Cloud DNS health check could detect that and act as expected.

Options Choice

When designing a highly available application service distributed across multiple regions on Google Cloud we need to consider the currently existing constraints in the Google Cloud services and pick a combination that would support the application requirements.

Here are the constraints and trade-offs that you should consider when picking the Google Cloud load balancer type for your distributed application.

1. External vs Internal Load Balancers

The Global External Application Load Balancer offers the tools for building geographically distributed application service with best availability guarantees.

Fig. 10: External application load balancer with backends in Cloud Run

Instead of relying upon the DNS load balancing trick, it provides application endpoint availability to the clients via global anycast Virtual IP addresses and smart global network infrastructure that cleverly routes client traffic to the infrastructure and services in the healthy regions.

The Google Cloud internal load balancers infrastructure is available via regional IP addresses instead and hence require additional mechanism, Cloud DNS load balancing suggested in this article, to address the full regional outage scenario.

2. Managed Instance Groups vs Cloud Run Backends

The Network Passthrough (L4) Load Balancers cannot be configured with Cloud Run backends. They don’t support Serverless Network Endpoint Groups (NEGs) required for Cloud Run and Cloud Function based backends at the moment.

Hence, if you are building a multi-regional application service that should only be available in the internal company VPC network and would like to address majority of possible outage scenarios (full region outage, individual regional Google Cloud service outage, application service malfunction), then Network Passthrough (L4) Load Balancer with GCE Managed Instance Groups is the only option for the application backends. Please remember, that the GCE MIGs is the mechanism supporting GKE node pools as well. Hence, the GCE MIG backends option is also applicable to the Kubernetes workloads running in GKE.

An important consideration for the Cloud Run backends in multiple regions is authentication.

In order to seamlessly continue service for the authenticated Cloud Run clients the Cloud Run instances in different regions must be configured with Custom Audiences. In that way, the access token that client passes along with an authenticated call can be validated and accepted by the Cloud Run backends in all regions. Please note that the Custom Audiences is a feature available in Cloud Run instances of the 2nd generation. Cloud Run instances of the 1st generation can be used in the suggested multi-regional setup only when the application service does not need to authenticate clients.

3. Network Passthrough (L4) vs Application (L7) Load Balancers

Selecting the load balancer type also depends on the functionality that a load balancer can provide. In case of a Passthrough (L4) load balancer the application would need to implement the following tasks by itself (to name a few):

  • terminate TLS connections
  • authenticate incoming calls
  • implement request routing

The Application (L7) load balancers can help with that but their internal versions address less failure scenarios, in comparison to the Network Passthrough (L4) load balancer based solution, because of the current feature level of the Cloud DNS health check mechanism. For example, Cloud DNS would not flip an application service IP address in case if the application is experiencing internal malfunction (e.g. returning 50x error codes) or the load balancer backend is unavailable or missing altogether.

This is not a problem with External Application (L7) load balancers, since there is no need in Cloud DNS load balancing solution for exposing application in a high available way in multiple regions.

These mentioned “partial” or individual regional service infrastructure outage scenarios are handled by the Internal Cross-Regional Application Load Balancers on their backend side though. In addition, optional Outlier Detection load balancer configuration can help detecting application level malfunctions at the cost of wasting certain percentage of actual client requests in the case of outage.

Conclusion

Google Cloud goes beyond usual redundant deployments and offers architects and developers tools for building highly available application services across multiple geographic locations also for internal security restricted corporate use cases.

The choice of the particular combination of Google Cloud resources for improving multi-regional application availability depends on the individual applications requirements and features currently supported in the Google Cloud services such as network load balancers and Cloud DNS.

Enterprise security features in Google Cloud services get special attention and differentiate Google Cloud from other cloud hyperscalers. Please check one of my previous articles on Application Secrets Encryption in Google Cloud Kubernetes products for an example of possible with Google Cloud products.


Multi-region HA in Google Cloud was originally published in Google Cloud - Community on Medium, where people are continuing the conversation by highlighting and responding to this story.

19 Apr 10:19

High Fidelity : el amor al vinilo como forma de vida

by Lorenzo Mejino

El libro de Nick Hornsby ‘High Fidelity’ y la posterior película con el mismo nombre dirigida por Stephen Frears, son dos obras de culto y veneradas por todos los amantes de la música que añoramos los tiempos en que la compra de un vinilo en la tienda era uno de los mayores placeres que podíamos tener en la vida.

Ese espíritu es el que intentó recoger la serie ‘High Fidelity’, que desarrollaba la historia de la novela, pero ambientada en la actualidad y con el importante cambio del género del protagonista que interpretaba John Cusack en la película, por la actriz Zoë Kravitz, hija del cantante Lenny Kravitz.

La serie pasó bastante sin pena ni gloria y de hecho fue cancelada de forma inmisericorde al final de su primera y única temporada, pero al constarme que se ha convertido en una serie de culto para muchas personas, hace que el ejercicio del recuerdo pueda ser interesante en este caso, al seguir disponible en la plataforma Disney+

Ficha: High Fidelity 10 ep 30 min . feb 2020. Cadena: Hulu ( USA)/ Disney+ ( E)

Sinopsis:

‘High Fidelity’ desarrolla la historia de Robyn ‘Rob’ Brooks , la apasionada propietaria de una de las últimas tiendas de discos de vinilo neoyorquinas. Junto a sus dos empleados, atienden a una variopinta fauna de clientes desde coleccionistas de pata negra a pardillos que no han visto un disco en su vida.

El inicio: A finales de la pasada década la poderosa multinacional Disney tenía previsto abrir su propio servicio de streaming para albergar a todo su enorme catalogo de series y películas y de paso bloquear su emisión por plataformas competidoras como Netflix.

Dentro de esa estrategia entraba la producción de series originales en pleno boom de las series, pero a ser posible utilizando marcas de su propiedad para expandir esos universos como hizo con toda la escudería Marvel, tras cerrar el contrato inicial con Netflix.

Los ejecutivos pensaron que una serie basada en la película ‘High Fidelity’ que fue  producida por una compañía de su propiedad, podía ser una buena idea para iniciar su catálogo con buen pie y aprovechando el estatus de culto que tenían  tanto el libro de Nick Hornby como  la película dirigida por Stephen Frears y protagonizada por John Cusack y Jack Black ( Foto inferior).

Con ese concepto inicial Disney contactó con dos experimentadas guionistas Veronica West ( izq) y Sara Kucserka ( der) que empezaron a trabajar juntas en ‘Betty la Fea’ y luego han continuado en series como ‘Cinco Hermanos’ o ‘Doctora en Alabama’.

Ambas guionistas eran enormes fans tanto del libro como de la película, pero al proponer su idea no dudaron en cambiar el sexo del protagonista para dar una perspectiva femenina a la serie y llevarla a un terreno diferente y más inexplorado, además de ubicarla en la época actual en la que la música digital ha destronado casi por completo a la analógica y al vinilo.

La idea les gustó a los ejecutivos de Disney y les encargaron una primera temporada de 10 episodios de media hora, pero en pleno desarrollo tomaron la decisión estratégica de enviar ‘High Fidelity’ a su propia plataforma Hulu, más adecuada para el  contenido adulto de la serie que la marca madre de Mickey Mouse.

En otro guiño a los fans del libro y de la película, las dos creadoras tuvieron como primera opción la actriz Zoë Kravitz, hija de Lisa Bonet que aparecía en un papel importante en la película de Stephen Frears, como una curiosa expansión de ese universo ‘High Fidelity’.

La miniserie se estrenó en febrero de 2020, con toda la temporada completa y con el siguiente tráiler promocional por parte de Hulu.

Su estreno fue bastante bien acogido por la crítica que valoró positivamente el cambio de roles y la modernización de la historia, pero en cambio nunca consiguió obtener la popularidad a la que aspiraba, pasando muy desapercibida desde su estreno.

La trama:

El centro de ‘High Fidelity’ es la obsesión y la pasión de Rob por la música lo que siempre ha sido un obstáculo para sus relaciones personales que tienen una rápida fecha de caducidad.

Su forma de explicarlo es compartir con el espectador mirando personalmente a la cámara todas sus listas personales con todo tipo de conceptos como sus peores roturas o los mejores novios que ha tenido, además de ser testigo de sus diferentes aventuras amorosas, como si fuéramos su cómplice invisible.

Ese esquema queda claro desde la primera escena de ‘High Fidelity’ en la  que Rob comparte sus peores roturas amorosas, desgranándolas como una letanía de errores en su vida.

El mundo de Rob se centra en dos esferas principales, en primer lugar su tienda de discos en pleno barrio de Brooklyn , como una especie de último mohicano del vinilo con una pasión por la música que comparte con sus dos empleados Simon y Cherise con los que mantiene largas y acaloradas discusiones musicales.

Su trato con los clientes es bastante particular al criticar abiertamente los gustos musicales de los posibles compradores si considera que lo que quieren comprar no es de gran calidad o por problemas directos con el comportamiento del propio artista como pueden ver en esta discusión con una clienta que quiere comprar un disco de Michael Jackson y recibe una reprimenda de la irascible empleada Cherise.

Una parte importante del trabajo de Rob es localizar colecciones de discos antiguas de las que sus propietarios se quieran desprender y donde puede localizar auténticos incunables fácilmente revalorizables en su tienda. Un buen ejemplo lo tienen en el siguiente video donde Rob está husmeando en la colección de una ricachona interpretaba por la genial Parker Posey.

El contrapeso a su obsesión musical la tenemos en su vida personal donde casi todas las cosas son contables y calibrables desde sus rupturas amorosas hasta sus propias reglas con los signos del zodiaco o como realizar playlists musicales, como explica en el siguiente video.

Al compartir todas sus cuitas con los espectadores somos cómplices de todos sus pensamientos y en especial de sus líos amorosos que pronto se van a centrar en el triángulo amoroso que forma con su última relación Mac y con una nueva primera cita muy prometedora, el achuchable Clyde

La navegación y los problemas de Rob para decidirse  entre esos dos hombres van a ser el principal hilo de continuidad personal de ‘High Fidelity’ llegando hasta la escena final en que finalmente toma una decisión, aunque al ser cancelada nos tendremos que quedar con ese momento sin saber como va a continuar.

‘High Fidelity’ es una serie ideal para los apasionados de la vida cultural neoyorquina y de la música independiente de los años noventa, porque va a apelar continuamente a la nostalgia por los momentos pasados en Nueva York o escuchando los discos en vinilo de su gran banda sonora.

En cambio personalmente y a pesar de tener un gran recuerdo de la película, nunca conseguí engancharme mucho con las historias de Rob, ni mucho menos con las de sus empleados y amores varios.

Me dio la sensación de ser una historia demasiado encantada de conocerse, idealizando artificialmente una época y un estilo de música que nunca ha sido de mis preferidos, pero que si puede haber sido de los suyos, por lo que seguro que ya sabe a lo que atenerse en este caso tan concreto y específico, más allá de mis cuitas personales

Los actores:
Zoë Kravitz ha conseguido sacudirse con el tiempo la carga de tener ser la  hija de dos personalidades tan populares como el cantante Lenny Kravitz y la actriz Lisa Bonet. Su recorrido empezó en sagas cinematográficas como ‘X-Men’, ‘Divergente’ y Fantastic Beasts’ que iba alternando con series como ‘Californication’, hasta llegar a ser una de las piezas clave de la coral ‘Big Little Lies’.

Zoë Kravitz siempre me ha parecido una buena actriz con un aspecto diferente y peculiar que traslada perfectamente a la protagonista Rob, con todas sus obsesiones discográficas y líos amorosos que acaban siendo el mejor activo de ‘High Fidelity’. Posteriormente ha dado el salto a hacer de Catwoman en ‘The Batman’ en su papel más popular hasta el momento.

El nivel del reparto baja bastante más allá de Kravitz, empezando por Jake Lacy, que interpreta al nuevo vértice del triángulo que significa Clyde, pero de una forma tan blanda y meliflua que nos hace desear que Rob se lo quite de encima de una vez por todas y busque alguien con más sangre.

Lacy ha estado presente en muchas series importantes pero sin dejar marca indeleble en ninguna, con ejemplos como ‘The Office’ o ‘Girls’ donde apareció en las últimas temporadas cuando ya mostraban símbolos de agotamiento.

Su presencia en la 1T de ‘The White Lotus’ le valió una nominación al mejor actor secundario, pero más porque nominaban a todo el mundo que por méritos propios, al parecerme el más flojo del reparto coral y ahora le he visto en la reciente ‘Apple never Falls’ .

Por último tenemos a los dos empleados de la tienda Cherise y Simon, interpretados por Da’Vine Joy Randolph ( der) y David H.Holmes (centro) respectivamente.

Para David H. Holmes éste ha sido el papel más importante de una carrera mediocre donde apenas ha pasado de papeles de extra con frase a personaje terciario con dos escenas, pero viendo lo prescindible de su actuación se entiende su lugar en el escalafón.

Da’Vine Joy Randolph, tenía un papel mucho mas agradecido como la deslenguada empleada que no duda en enfrentarse a los clientes si le piden algo que a ella no le gusta, lo que nunca suele ser una buena estrategia comercial.

Randolph es un producto de las tablas musicales de Broadway donde ha aparecido en numerosas obras, lo que alternaba con el cine donde ha conseguido una reciente nominación al Oscar como mejor actriz secundaria por ‘The Holdovers’ mientras que en televisión se ha especializado en secundaria robaescenas en series como ‘Empire’ y ‘Solo asesinatos en el edificio’.

 Epílogo:

‘High Fidelity’ fue cancelada seis meses después de su estreno por parte de Hulu, al no conseguir sacar la cabeza en las nominaciones de los Emmy, su última tabla de salvación frente al recorrido de sus  mediocres audiencias.

Por lo menos pueden verla sin problema alguno en Disney+, si están interesados en recordar o conocer la azarosa vida de Rob, el alter ego femenino televisivo de la novela y la película ‘High Fidelity’.

Esperamos sus opiniones y comentarios, aquí o en nuestra cuenta de twitter (@lmejino). Hasta la próxima

Lorenzo Mejino


© bouvier for Series para gourmets, get_post_time('Y'). | Permalink | No comment | Add to del.icio.us
Post tags: Da'Vine Joy Randolph, High Fidelity, Jake Lacy, Sarah Kucserka., Veronica West, Zoë Kravitz

Feed enhanced by Better Feed from Ozh

The post High Fidelity : el amor al vinilo como forma de vida appeared first on Series para gourmets.

19 Apr 06:48

Escándalo en el Guadalquivir: la Junta pretende aprobar el vertido de 80.000 millones de litros de aguas tóxicas procedentes de la mina de Aznalcóllar en el río

by autonomator

Un contenido hídrico cargado de altos niveles de metales pesados como cadmio, plomo, arsénico y mercurio que no solo tendrán un impacto ambiental inmediato en la fauna, flora y en el propio enclave natural, sino que afectarán a la salud y seguridad alimentaria y a todo el radio de acción cercana al río.Las principales organizaciones ecologistas, Ecologistas en Acción, Greenpeace y WWF, junto con numerosas asociaciones vecinales y organizaciones ciudadanas, ya se están movilizando para denunciar las consecuencias del vertido y la peligrosidad

etiquetas: contaminación, vertidos, agua, sequia, medioambiente

» noticia original (espacioandaluz.com)

19 Apr 06:48

El permafrost ya emite más gases de efecto invernadero de los que captura

by ContinuumST

Una reciente investigación desvela que el suelo congelado ya es emisor neto de metano y óxido nitroso y, en menor medida, de CO2. El permafrost es el suelo de tierra congelada que se encuentra distribuido en unos 14 millones de kilómetros cuadrados de tierra en el Ártico y sus alrededores. Se calcula que los tres metros superiores contienen un billón de toneladas métricas de carbono y 55.000 millones de toneladas métricas de nitrógeno. Históricamente, toda esta área septentrional de permafrost ha sido un sumidero de carbono, ya que...

etiquetas: permafrost, emisión, co2, metano, ártico, temperatura

» noticia original (www.lne.es)

19 Apr 06:47

EE.UU. aprueba la operación Rafah a cambio de que Israel no contraataque a Irán

by dmeijide

Estados Unidos ha aprobado una posible operación israelí en Rafah a cambio de que el Estado judío no lleve a cabo contraataques contra Irán, según un informe publicado el jueves por el diario qatarí The New Arab. Un alto funcionario dijo a The New Arab que "el primer ministro Benjamin Netanyahu logró obtener la aprobación estadounidense para una operación militar en Rafah, a cambio de que [Israel] se abstenga de llevar a cabo una amplia operación militar contra Irán en respuesta a su reciente ataque."

etiquetas: ee.uu., aprueba, operación, rafah, a cambio, israel, contraataque, irán

» noticia original (www.jpost.com)

19 Apr 06:47

Gravedad artificial

by painful

Es complicado saber en qué momento exacto el ser humano pasó de la mera observación de las estrellas a tratar de alcanzarlas. ¿Encendieron la chispa las visiones de Giordano Bruno y su cosmos abierto a la posibilidad de nuevas formas de vida? ¿O tal vez fue Kepler, con sus tres leyes y su Somniun, quien bajó la luna desde la morada inalcanzable de los dioses a los dominios terrenales de la ciencia? ¿Fueron los viajes extraordinarios de Julio Verne, que inspiraron a varias generaciones de científicos e ingenieros?

etiquetas: astronomía, física, gravedad, endurance, estación espacial v

» noticia original (culturacientifica.com)

19 Apr 06:47

Nueve detenidos por incendiar una nave con trabajadores dentro durante protestas agrícolas

by onainigo

La Policía Nacional ha detenido a nueve agricultores que presuntamente incendiaron una nave hortofrutícola, en cuyo interior se encontraban varios trabajadores, durante las protestas agrícolas del pasado mes de febrero en El Ejido (Almería). Según ha indicado la Comisaría de Almería, esta “acción radical” se encuadra en el contexto de las protestas del campo contra las empresas que comercializan productos provenientes de Marruecos

etiquetas: detenidos, nueve, agricultores, incendiar, nave trabajadores, interior

» noticia original (www.infobae.com)

19 Apr 06:46

Europa rechaza que las únicas opciones sean pagar o aceptar las cookies. Exige que haya una tercera vía

by posavasos

El Comité Europeo de Protección de Datos se pronuncia finalmente sobre el 'Pay or Okay'. Exigen que haya una tercera alternativa, gratuita y sin publicidad comportamental. Por el momento se refiere a Meta y no hace mención a los medios de comunicación.

etiquetas: cookies, muro de cookies, muro de pago, europa, protección de datos

» noticia original (www.xataka.com)

19 Apr 06:46

El almacenamiento en baterías se convierte en la mayor fuente de suministro en el pico de la tarde en una de las redes más grandes del mundo [EN]

by Lito

El martes por la noche se produjo un acontecimiento histórico en EE.UU.: el almacenamiento en baterías se convirtió por primera vez en la mayor fuente de suministro de la red de California, que suministra electricidad a la quinta economía mundial y es una de las mayores redes del mundo. El hito fue señalado por un grupo de analistas energéticos y frikis de los datos en Twitter/X, entre ellos Joe Deely, que señaló que la producción del almacenamiento en baterías en el pico nocturno superó por primera vez los 6 gigavatios (GW).

etiquetas: baterías, energía, california

» noticia original (reneweconomy.com.au)

19 Apr 06:46

Un tribunal de Portugal desmonta la operación judicial que provocó la dimisión de António Costa

by oghaio

En una resolución de 366 páginas, los magistrados esparcen numerosas críticas hacia el trabajo de los fiscales que, en alguna ocasión, llega a ser tildado de “inepto”. Consideran que hasta los interrogatorios de los cinco detenidos en noviembre no había indicios de los delitos observados por la Fiscalía: tráfico de influencias, cohecho, prevaricación y corrupción y minimizan las escuchas telefónicas como elementos probatorios.

etiquetas: tribunal, portugal, desmonta, operación judicial, dimisión, antonio costa

» noticia original (elpais.com)

19 Apr 06:45

Israel responde y lanza ataque con misiles contra Irán; confirman un impacto

by gringogo

Mísiles israelíes alcanzaron un emplazamiento en Irán, informó ABCNews a última hora del jueves, citando a un funcionario estadounidense. De acuerdo a medios locales, los ataques aéreos de Israel se reportan cerca del aeropuerto de Isfahán en Irán. Otros informes dicen que el ataque aéreo de esta noche por parte de la Fuerza Aérea de Israel puede haber tenido como objetivo la octava base aérea táctica de la Fuerza Aérea iraní, dentro del Aeropuerto Internacional de Isfahán, que contiene múltiples escuadrones de aviones de combate F-14 “Tomcat”.

etiquetas: israel, irán, ataque, misiles, respuesta, isfahán, aeropuerto

» noticia original (www.excelsior.com.mx)