What is ‘GIFEE’, and why is it a big deal?

Innovation, Software September 30, 2019
What is GIFEE? Google Infastructure for Everyone Else

GIFEE stands for “Google’s Infrastructure For Everyone Else”. This revolutionizes managing high velocity and high agility software products. These changes came from Google design documents of their own internal infrastructure. The open source community has developed equivalents following the same design principles used by Google. Cloud Native Computing Foundation (CNCF) actively supports many of these tools. Design pieces are isolated from one another to allow for configurability and extensibility. We will explore CNCF, some of the tools inspired by GIFEE, and how enterprises can harness them.

 

What is CNCF

CNCF, founded in 2015,  promotes “Cloud Native” and open source initiatives for cloud portability. They do this by adopting projects that meet cloud native standards into their project program. Initiated projects receive receive support from CNCF in several ways.

Projects that get accepted into this program reap the benefits of funding and programming support. These benefits include: the opportunity to present at CNCF conferences, blog and merchandising web space allocation, and a social media team to monitor and organize their community. Access is granted to CNCF’s online course library and permissions are granted to create new content that is project specific. Services offered to these projects include Event Management, Certification and Training assistance, and multi-language support among many others. In addition, these projects gain the attention of the CNCF’s extensive user community and the support that comes with that.12

 

Major levels within CNCF

There are three maturity levels for projects within CNCF. Potential projects initially go into the sandbox for new developing solutions. Once the main feature set is stable, projects move into the incubating level where they are considered to be in beta and are beginning to support more active users. From there, projects can move to a graduated level by showing that there is wide usage and adoption, neutral governance controls for features and future roadmaps, multiple organizations that are active committers, and a community central methodology.

Current graduate level projects

Microservices is a design concept that has impacted infrastructure as a whole. In 2015, Google released a publication of their system for cluster management. The system Google had previously been using to handle these kinds of services in their infrastructure was called Borg13. As microservices became more popular, the community needed to find a way to manage these containers in a scalable way. The current leading tool for configuration and orchestration is Kubernetes. In March of 2016, Kubernetes joined forces with CNCF and is now considered to be “graduated”14.

Other projects that have earned graduated status include: Prometheus, Envoy, CoreDNS, containerd, and Fluentd. All of these projects had an original Google equivalent which can be referenced in the first table of the article.

Below is a brief overview of each of these GIFEE-based tools:

Prometheus15 was created by SoundCloud16 in 2012 and contributed to CNCF in May 2016. It is a real-time monitoring and alerting platform that aggregates and outputs time series data. Prometheus supports multi-dimensional data collection and querying.
Envoy17 was created by Lyft and joined CNCF in November 2018.18 It is a distributed proxy that level-sets service traffic flows by acting as a universal data plane. Envoy promotes consistent observability into your service infrastructure by intercepting all traffic through a mesh.
CoreDNS was created in 2016 by Miek Gieben who was a Google reliability engineer and joined CNCF in 2016.19 CoreDNS is an extensible DNS server/forwarder that enables flexibility in its implementation through the use of plugins.
containerd was created in 2014 for the docker engine and joined CNCF in March 2017.20 It is now the industry-standard container runtime. containerd is made to be run as part of a larger system, such as the Docker Engine.
Fluentd was created in 2011 by Sadayuki “Sada” Furuhashi and joined CNCF in November 2016.21 It is a unified data aggregation layer that is made to consume information from multiple disparate sources and output them as JSON.

Benefits of GIFEE-based tools

GIFEE-based tools with support provided by CNCF make strong, intelligent, and agile software frameworks more viable for enterprise customers. These design patterns allow customers to have systems with high availability, near zero downtime, and added safety of detailed system metrics and tracing. Security can be tightly controlled with network monitoring and stable blue/green environments.

Moving to a cloud native mindset for the Enterprise has never been easier. Thanks to the new tooling inspired by Google, we can move with the confidence that there is a brighter future ahead.

Why should your organization switch?

While you may already be comfortable with your active enterprise systems working in a monolithic pattern. There are many drawbacks to this pattern including substantial down time, which decreases the efficiency of your business. Other pitfalls include the agility and fine-grain scalability of the system. The creation of new features is harder to maintain because any minor adjustments require changes to the whole system and it is difficult to replicate systems and manage traffic as the scale increases. Because of this, you may be quickly left behind as adoption of GIFEE inspired tools becomes more prevalent. In addition, many businesses have new service level agreements (SLAs) which include requirements for zero down time platforms.

Next Steps

Ready to move to better infrastructure? Call us at RTS Labs! Our Dev-ops team can help upgrading your systems, whether it’s getting started, creating an upgrade implementation plan, or building a microservice architecture experience.

References:

  1. https://cloud.google.com/traffic-director/docs/traffic-director-concepts
  2. https://cloud.google.com/security/encryption-in-transit/application-layer-transport-security/resources/alts-whitepaper.pdf
  3. https://grpc.io/blog/principles/
  4. https://ai.google/research/pubs/pub36356
  5. https://landing.google.com/sre/sre-book/chapters/release-engineering/#building-lqsAI1uM
  6. https://landing.google.com/sre/sre-book/chapters/practical-alerting/
  7. https://ai.google/research/pubs/pub39966
  8. https://ai.google/research/pubs/pub43438
  9. https://cloud.google.com/logging/docs/agent/
  10. https://cloud.google.com/blog/products/gcp/open-sourcing-gvisor-a-sandboxed-container-runtime
  11. https://medium.com/google-cloud/service-discovery-and-configuration-on-google-cloud-platform-spoiler-it-s-built-in-c741eef6fec2
  12. https://www.cncf.io/services-for-projects/
  13. https://ai.google/research/pubs/pub43438
  14. https://www.cncf.io/cncf-kubernetes-project-journey/
  15. https://landing.google.com/sre/sre-book/chapters/practical-alerting/
  16. https://www.cncf.io/announcement/2018/08/09/prometheus-graduates/
  17. https://cloud.google.com/traffic-director/docs/traffic-director-concepts
  18. https://www.cncf.io/announcement/2018/11/28/cncf-announces-envoy-graduation/
  19. https://www.cncf.io/announcement/2019/01/24/coredns-graduation/
  20. https://www.cncf.io/announcement/2019/02/28/cncf-announces-containerd-graduation/
  21. https://www.cncf.io/announcement/2019/04/11/cncf-announces-fluentd-graduation/