InfoQ

The Software Architects' Newsletter
February 2021
View in browser

Welcome to the InfoQ Software Architects' Newsletter! Each month, we bring you essential news and experience from industry peers on emerging patterns and technologies.

This month we focus on the topic of "Cloud Computing for the Enterprise". The use of cloud platform/function as a service (PaaS and FaaS) is becoming increasingly popular with new related architectural patterns emerging.

News

BBC Online Uses Serverless to Scale Extremely Fast

In a series of blog posts published recently, Johnathan Ishmael, lead technical architect at BBC, explains why BBC Online uses serverless and how they optimize for it.

According to Ishmael, BBC Online uses AWS Lambda for most of its core implementation due to its ability to scale extremely fast. The BBC website can reach 60 million browsers a day, with users requesting up to 20k pages per second. When a breaking news story erupts, traffic can increase 3x in a single minute and then keep rising after that.

Google Updates Its Cloud Run Service Support for WebSockets, HTTP/2, and gRPC Bidirectional Streams

Google recently announced a set of traffic serving capabilities for Cloud Run: end-to-end HTTP/2 connections, WebSockets support, and gRPC bidirectional streaming, completing the types of RPCs that are offered by gRPC. All of them are now in public preview for all Cloud Run locations. With these capabilities, developers can deploy and run a wider variety of web services and APIs to Cloud Run.

Open Policy Agent Graduates at CNCF

The CNCF announced the graduation of the Open Policy Agent (OPA) project. OPA is an open-source policy management and enforcement engine that has declarative policies and integrates with various systems including Kubernetes.

Originally created at Styra, OPA joined the CNCF as a sandbox project in March 2018 and was accepted as an incubation project in April 2020. Current contributors include Google, Microsoft, VMware, and Styra. OPA went through the standard CNCF graduating process—it was certified for the CII Best Practices Badge, completed multiple security audits, addressed discovered vulnerabilities, defined its governance process, and adopted the CNCF Code of Conduct. It also completed a SIG-Security assessment during its incubation period.

HashiCorp Terraform Adds Concise Diff Formatter and Sensitive Data Obfuscation

Hashicorp has released Terraform 0.14 into general availability. The release introduces a new concise diff format that limits the output to only the elements that are changing. Other improvements include the ability to define input variables and module outputs as sensitive. This results in Terraform redacting the value from the CLI output. This is to prevent exposure of the data into systems that are consuming the Terraform output such as logging or version control.

In a related recent InfoQ podcast, Anubhav Mishra and Nic Jackson from HashiCorp discussed the benefits and challenges of creating application platforms in the cloud.

Cloud Native Is About Culture, Not Containers

In a recording of a recent InfoQ Live event, Holly Cummins from IBM shares stories of customers struggling to become "cloud native" and all the ways things can go wrong. The technology is not typically the blocker—wrapping something in a docker container (usually) isn't that hard. Instead, it's figuring out what the real problem is, the structures that have been put in place to manage risk, and the relationships between teams that trip companies up.

In a related InfoQ podcast, Melissa Benua, Director of Engineering at mParticle, discussed the benefits and challenges of building systems with teams of generalists and argued for the need to embed testing, observability, and security into an organization's culture.

 

Case Study

Performance Analysis for Arm vs. x86 CPUs in the Cloud

With the increasing adoption of high-performance Arm-based CPUs beyond mobile devices, developers need to understand Arm’s performance characteristics for common server-side software stacks. In a recent InfoQ article, Michael Yuan used AWS’s Arm (Graviton2) and x86_64 (Intel) EC2 instances to evaluate computational performance across different software runtimes, including Docker, Node.js, and WebAssembly.

For the purpose of this study, Yuan focused on single-threaded performance. Most web application frameworks are running "one thread per request" by default. From the user's point of view, the web service performance is likely to be bound by how fast a single CPU can execute. This is a deliberately simple test case to illustrate the raw performance.

Key takeaways from the study included:

  • Across the board, Graviton2 offers better cost/performance vs. Intel x86 CPUs.
  • Graviton2 showed significant performance gains over Intel when running native binaries.
  • The Node.js and SSVM performance comparison between Graviton2 and Intel are mixed. But considering Graviton2 instances are 24% cheaper, they come out ahead in cost/performance.
  • The Second State WebAssembly VM (SSVM) experiment still achieves the best performance with cold start time 100x faster than Docker, and runtime performance up to 5x faster than Docker + Node.js (i.e., the mandelbrot benchmark) on both CPU platforms.

The conclusion of the article is that Arm is more cost-effective in the cloud, especially with lightweight runtimes that are close to the underlying operating system.

This content is an excerpt from a recent InfoQ article from Michael Yuan, "Performance Analysis for Arm vs x86 CPUs in the Cloud".

To get notifications when InfoQ publishes content on these topics, follow "cloud computing", "cloud architecture", and "cloud-native" on InfoQ.

Missed a newsletter? You can find all of the previous issues on InfoQ.

This edition of The Software Architects' Newsletter is brought to you by:

VMware Tanzu

Kubernetes Observability vs. Monitoring Kubernetes

Monitoring Kubernetes shows you whether a Kubernetes environment and all its layers – clusters, nodes, pods, containers, and application workloads are operating as expected. The most popular open-source solution for monitoring Kubernetes is Prometheus.

Monitoring is a great start. However, to get a context on how Kubernetes components influence the performance of Kubernetes applications, and correct problems before they become end-user problems, you need Kubernetes observability. Kubernetes observability provides engineers with a complete picture and all the information necessary for increasing performance and improving the stability and resiliency of applications, the Kubernetes components, and the underlying infrastructure.

 

Upcoming Events

Events by InfoQ for Software Engineers and Architects

Uncover Emerging Software Trends and Innovations at QCon Plus this May 17-28.

QCon Plus features 16 tracks across 2 weeks curated by domain experts to focus on the topics that matter right now in software including WebAssembly, Software Architecture, Java 15, Monolith, Redux, ML/AI, Remote Teams, and more. Register before March 6th and save $150.

Discover How to Reduce Uncertainty in Software Delivery at InfoQ Live this March 16.

Attend InfoQ Live and learn how to effectively test in-production, bring order through chaos engineering and utilize the latest tools in observability to root out problems in real-time. If you register, you will receive a gift pass you can share with someone on your team or a friend. Grab your ticket for $19.95.

 

Senior software developers rely on the InfoQ community to keep ahead of the adoption curve. One of the main reasons software architects and engineers tell us they keep coming back to InfoQ is because they trust the information provided and selected by their peers.

We’ve been helping software development teams adopt new technologies and practices for over 15 years through InfoQ articles, news items, podcasts, tech talks, trends reports, and QCon software development conferences.

We hope you find this newsletter useful. If not, you can unsubscribe using the link below.

Unsubscribe

Forwarded email? Subscribe and get your own copy.

Subscribe