Simplifying global game launches with Google Cloud Game Servers, now GA

As more and more people across the world turn to multiplayer games, developers must scale their game to meet increased player demand and provide a great gameplay experience, while managing complex underlying global infrastructure.To solve this problem, many game companies build and manage their own costly proprietary solutions, or turn to pre-packaged solutions that limit developer choice and control.Earlier this year, we announced the beta release of Game Servers, a managed service built on top of Agones, an open source game server scaling project. Game Servers uses Kubernetes for container orchestration and Agones for game server fleet orchestration and lifecycle management, providing developers with a modern, simpler paradigm for managing and scaling games. Today, we’re proud to announce that Game Servers is generally available for production workloads. By simplifying infrastructure management, Game Servers empowers developers to focus their resources on building better games for their players. Let’s dive into a few foundational concepts that will better illustrate how Game Servers helps you run your game.Clusters & RealmsA game server cluster is the most atomic level concept in Game Servers, and is simply a Kubernetes cluster running Agones. Once defined by the user, clusters must be added to a realm.Realms are user-defined groups of game server clusters that can be treated as a cohesive unit from the perspective of the game clients. Although developers can define their realms in any way they choose, the geographic distribution of a realm is typically dictated by the latency requirement of your game. For that reason, most games will define their realms on a continental basis, with realms in gaming hotspots such as the U.S., England, and Japan serving players in North America, Europe, and Asia.Regardless of whether you expect your game to build momentum in certain countries over time, or be a global hit from day one, we recommend running multiple clusters in a single realm to ensure high availability and a smooth scaling experience.Deployments & ConfigsOnce you have defined your realms and clusters, you can roll out your game software to them using concepts we call deployments and configs. A game server deployment is a global record of a game server software version that can be deployed to any or all game server clusters worldwide. A game server config specifies the details of the game server versions being rolled out across your clusters.Once you have defined these concepts, key distinctions between Agones and Game Servers begin to emerge.First, you now have the control to define your own custom auto-scaling policies. The segmentation of your game into realms and clusters, in combination with self-defined scaling policies, provides developers with an ideal mix of precision, control and simplicity. For example, you could specify a policy at the realm level that automatically provisions more servers to match geo-specific diurnal gaming patterns, or you can scale up all clusters globally simultaneously in preparation for a global in-game event.Second, you have the flexibility to roll out new game server binaries to different areas of the world by targeting specific realms with your deployments. This allows you to A/B or canary test new software rollouts in whichever realm you choose.And finally, although we are building Game Servers to be as customizable as possible, we also recognize technology is only half the battle (royale). Google Cloud’s gaming experts work collaboratively with your team to prepare for a successful launch, and Game Servers is backed by Google Cloud support to ensure your game continues to grow over the long term.Building an open architecture for gamesYour game is unique, and we recognize that control is paramount to game developers. Developers can opt out of Game Servers at any time and manage Agones clusters themselves. Furthermore, you always have direct access to the underlying Kubernetes clusters, so if you need to add your own game specific additions on top of the Agones installation, you have the power to do so. You are always in control.Choice is also important. Today, Game Servers supports clusters that run on Google Kubernetes Engine, and we are currently working on the ability to run your clusters on any environment, be it Google Cloud, other clouds, or on premise. With hybrid and multi-cloud support, developers will have the freedom to run their game server workloads wherever it makes the most sense for the player. You can also use Game Servers’ custom scaling policies to optimize the cost of deploying a global fleet across hybrid and multi-cloud environments as you see fit. “As a Google Cloud customer for many years, we’re now following the progress of Google Cloud Game Servers closely,” said Elliot Gozanksy, Head of Architecture at Square Enix. “We believe that containers and multi-cloud capabilities are extremely compelling for future large multiplayer games, and Google Cloud continues to prove its commitment to gaming developers by creating flexible, open solutions that scale worldwide.”Game Servers is free until the end of the year, and you will be billed only for the underlying use of Kubernetes clusters. To learn more about Game Servers, please visit our Game Server product page, or get started immediately with our quickstart guide. You can also join us for Solutions for Launching Massive Global Games in the Cloud at Google Cloud Next ‘20: OnAir (register here for free) and learn more about how Google Cloud is helping game developers of all sizes connect their games with players across the world.
Quelle: Google Cloud Platform

New GKE Dataplane V2 increases security and visibility for containers

One of Kubernetes’ true superpowers is its developer-first networking model. It provides easy-to-use features such as L3/L4 services and L7 ingress to bring traffic into your cluster as well as network policies for isolating multi-tenant workloads. As more and more enterprises adopt Kubernetes, the gamut of use cases is widening with new requirements around multi-cloud, security, visibility and scalability. In addition, new technologies such as service mesh and serverless demand more customization from the underlying Kubernetes layer. These new requirements all have something in common: they need a more programmable dataplane that can perform Kubernetes-aware packet manipulations without sacrificing performance.Enter Extended Berkeley Packet Filter (eBPF), a new Linux networking paradigm that exposes programmable hooks to the network stack inside the Linux kernel. The ability to enrich the kernel with user-space information—without jumping back and forth between user and kernel spaces—enables context-aware operations on network packets at high speeds.Today, we’re introducing GKE Dataplane V2, an opinionated dataplane that harnesses the power of eBPF and Cilium, an open source project that makes the Linux kernel Kubernetes-aware using eBPF. Now in beta, we’re also using Dataplane V2 to bring Kubernetes Network Policy logging to Google Kubernetes Engine (GKE).What are eBPF and Cilium?eBPF is a revolutionary technology that can run sandboxed programs in the Linux kernel without recompiling the kernel or loading kernel modules. Over the last few years, eBPF has become the standard way to address problems that previously relied on kernel changes or kernel modules. In addition, eBPF has resulted in the development of a completely new generation of tooling in areas such as networking, security, and application profiling. These tools no longer rely on existing kernel functionality but instead actively reprogram runtime behavior, all without compromising execution efficiency or safety.Cilium is an open source project that has been designed on top of eBPF to address the new scalability, security and visibility requirements of container workloads. Cilium goes beyond a traditional Container Networking Interface (CNI) to provide service resolution, policy enforcement and much more as seen in the picture below.The Cilium community has put in a tremendous amount of effort to bootstrap the Cilium project, which is the most mature eBPF implementation for Kubernetes out there. We at Google actively contribute to the Cilium project, so that the entire Kubernetes community can leverage the advances we are making with eBPF.Using eBPF to build Kubernetes Network Policy LoggingLet’s look at a concrete application of how eBPF is helping us solve a real customer pain point. Security-conscious customers use Kubernetes network policies to declare how pods can communicate with one another. However, there is no scalable way to troubleshoot and audit the behavior of these policies, which makes it a non-starter for enterprise customers. With the introduction of eBPF to GKE, we can now support real-time policy enforcement as well as correlate policy actions (allow/deny) to pod, namespace, and policy names at line rate with minimal impact on the node’s CPU and memory resources.The image above shows how highly specialized eBPF programs are installed into the Linux kernel to enforce network policy and report action logs. As packets come into the VM, the eBPF programs installed in the kernel decide how to route the packet. Unlike IPTables, eBPF programs have access to Kubernetes-specific metadata including network policy information.This way,  they can not only allow or deny the packet, they can also report annotated actions back to user space. These events make it possible for us to generate network policy logs that are meaningful to a Kubernetes user. For instance, the log snippet shown below pinpoints which source pod was trying to connect to which destination pod and which network policy allowed that connection.Under the hood, Network Policy logging leverages GKE Dataplane V2. Not only does GKE Dataplane V2 expose the information needed for policy logging, it also completely abstracts away the details of configuring network policy enforcement from the user. That is, when you use Dataplane V2, you no longer have to worry about explicitly enabling network policy enforcement or picking the right CNI to use network policy on your GKE clusters. Talk about making Kubernetes easy to use!Besides network policy, Kubernetes load balancing can also use eBPF to implement Direct Server Return (DSR) mode. DSR eliminates the additional NAT problem that loses the client’s IP address when using Kubernetes LoadBalancer services. eBPF’s ability to encode metadata into a network packet on the fly allows us to provide additional information to the destination node such that it can directly converse with the original client. With DSR, we can reduce the bandwidth requirements of each node as well as avoid port exhaustion.eBPF’s ability to augment network packets with custom metadata enables a long list of possible use cases. We are as excited about the future of Kubernetes and eBPF as you are, so stay tuned for more innovations.How you can benefit from thisEnterprises are always looking to improve their security posture with better visibility into their infrastructure. They want to be able to quickly identify abnormal traffic patterns such as pods that are unexpectedly talking to the internet and denial-of-service attacks. With Kubernetes Network Policy logging, you can now see all allowed and denied network connections directly in the Cloud Logging console to troubleshoot policies and spot irregular network activity.To try out Kubernetes Network Policy logging for yourself, create a new GKE cluster with Dataplane V2 using the following command.Google would like to thank Thomas Graf, co-founder of the Cilium project, for his contributions to this blog post.
Quelle: Google Cloud Platform

Bringing databases to the center of a modern business

For many decades, databases have been the engines fueling the most business-critical enterprise workloads across industries such as retail, banking, manufacturing, and healthcare. These are the systems that, for example, allow money to move around the world and supplies to get to hospitals and patients when they need it most. These workloads require the highest levels of reliability, durability, and performance. As the keepers of the world’s most critical data, databases are top of mind as enterprises accelerate their adoption of cloud and consider how to meet new and changing demands. We have partnered with some of the largest global enterprises and have seen some clear trends emerge. While the amount of data managed by applications continues to grow at an unbelievable rate, companies are rethinking how they handle this data. They want to increase the speed at which they build and launch new features and not get bogged down in maintaining and scaling databases, which ultimately stifles innovation. They’re increasingly adopting databases with open APIs—freeing themselves from restrictive licenses and maintaining portability of their data. They’re having to meet new, stringent regulations for security and data sovereignty, like the GDPR or CCPA, which introduce new complexity and the need for more controls as they scale globally. As these companies map out their cloud journeys, multi-cloud and hybrid strategies are the default. What’s most exciting to see is how they’re looking to transform their business through new data-driven applications that deliver always-on availability, local experiences at a global level, and synchronization across all channels. These trends are top of mind as customers embark on their journey to cloud, and there is no single path that’s right for everyone. We believe in meeting customers where they are so they can reap the benefits of the cloud and catalyze what they can deliver to their business.  Taking a three-phase journeyWhether it’s to increase their agility and pace of innovation, better manage costs, or entirely shut down data centers, we’re seeing customers accelerate their move to cloud and follow a three-phase journey: migration, modernization, and transformation. We have customers who are trying to move as many as thousands of applications and databases to the cloud, frequently on a tight timeline. They need a fast-track approach to lift and shift what they’re running today to the cloud. This “as-is” migration already adds tremendous value, even if it doesn’t provide the full benefits of cloud-native capabilities. We’ve partnered closely with our customers to transition large database estates of both commercial and open source databases to our environment in this migration phase. Fully managed database services such as Cloud SQL (offered for MySQL, PostgreSQL, and SQL Server) provide familiarity while letting customers offload the 24/7 management of their databases to Google Cloud. By adopting managed services, they can refocus their resources on moving the business forward and improving productivity, leaving the heavy lifting of ensuring a highly available environment to us. Our Bare Metal Solution for Oracle workloads allows customers to lower overall costs while maintaining existing investments.Once migrated, many of our customers seek to modernize their database environments by transitioning off legacy databases and onto open source databases. The lack of licensing flexibility, high costs, and constrained deployment options highly motivate customers to make the needed investment to transition off. With open source databases having become enterprise-ready, customers are able to remove operational limitations and seamlessly handle unpredictable demand, all without compromising on performance and reliability. By modernizing, DevOps teams can better manage their development and testing cycles, push new releases faster, and improve accuracy and predictability overall.To release new features to customers faster, Autotrader migrated their Oracle database to Cloud SQL. This meant the teams could make changes with less risk and, by moving to a managed service, AutoTrader can focus more on improving its products. After migrating, AutoTrader’s release cadence improved by over 140% (year over year) with an improved success rate of 99.87%.For customers looking to build next-gen applications entirely in the cloud, they are in the transformation phase. This is about unlocking new possibilities and competitive differentiation for businesses. For relational workloads, Cloud Spanner leads in its ability to run at global scale with strong consistency, all while delivering industry-leading reliability (5 9s). For non-relational workloads, this same global consistency with 5 9s availability is achieved with Cloud Firestore—enabling an unmatched experience to build mobile, web, and IoT applications with live synchronization. Building transformational applications goes beyond any specific service; it’s about how they can work together to deliver game-changing benefits. Cloud-native databases integrate with other services in Google Cloud, enabling you to run your IT systems and apps as microservices and apply advanced analytics and AI to your data. In just one example, social media platform ShareChat saw their traffic grow 500% in the span of just a few days, and were able to scale Spanner horizontally with zero lines of code change.Wherever the customer is in this journey, we’re focused at Google Cloud on supporting them with the services, best practices, and tooling ecosystem to enable their success. Whether they’re all-in on transformation, or just looking to take the first step, we enable them to mix and match these options to migrate at the pace that’s realistic and manageable for their teams and organization. This week at Google Cloud Next ‘20: OnAir, check out expert sessions and demos to learn more about our entire suite of database offerings. And explore how organizations rely on Google Cloud databases to power their most critical applications, drive new innovation, and build better experiences for their customers.
Quelle: Google Cloud Platform