KubeCon + CloudNativeCon San Diego | November 18 – 21 | Learn more

Category

Blog

How JD.com Uses Vitess to Manage Scaling Databases for Hyperscale

By | Blog

China’s largest retailer, JD.com defines hyperscale: The e-commerce business serves more than 300 million active customers. And in the past few years, as the company’s data ballooned, its MySQL databases became larger, resulting in declining performance and higher costs. JD Retail Chief Architect Haifeng Liu saw in Vitess the ideal solution to easily and quickly scale MySQL, facilitate operation and maintenance, and reduce hardware and labor costs. Today, JD.com runs tens of thousands of MySQL containers, with millions of tables and trillions of records. Read more about how they got there in the full case study.

Announcing Kubernetes Forum Seoul and Sydney: Expanding Cloud Native Engagement Across the Globe

By | Blog

 

Today we’re excited to announce the first two Kubernetes Forums in Seoul and Sydney, which we are launching this December in Seoul, South Korea from December 9-10, and Sydney, Australia from December 12-13.

Kubernetes Forum in global cities bring together international and local experts with adopters, developers, and practitioners, in an accessible and compact format. Much like our three annual KubeCon + CloudNativeCon events, the Forums are designed to promote face-to-face collaboration and deliver rich educational experiences. At the Forums, attendees can engage with the leaders of Kubernetes and other CNCF-hosted projects, and help set direction for the cloud native ecosystem. Kubernetes Forums have both a beginner and an advanced track. About half of the speakers are international experts and half are from the local area.

Kubernetes Forums consist of two events running consecutively in two cities in the same geographical area during a single week. This enables international speakers and sponsor teams to double their cloud native event engagement, and the local community benefits from having access to subject matter experts and representatives from global organizations that they may not otherwise reach.

The Call for Proposal (CFP)-based sessions will occur on the first day of each Summit. On the second day, attendees can select among several co-located events. These may be cloud- or distribution-specific training or any other topics of interest to Kubernetes Forum attendees. On the second night of the first event, the sponsors and international speakers will take a red-eye flight to the second city, where they will have a full day to recover, and then kick off again with day 1 sessions (interspersed with sessions from that area’s local experts) and day 2 co-located events.

The CFP for the Seoul and Sydney Forum is open now. If you are a local expert in Korea or Oceania, or an international expert who has previously presented at KubeCon + CloudNativeCon and wants to present at both Forums, please submit a talk! The CFP deadline is Friday, September 6. If your organization is interested in sponsoring, you can find more information.

We’re expecting 2020 locations will add Mexico City/Sao Paulo, Bengaluru/New Delhi, Tokyo/Singapore, Tel Aviv, and possibly more. Please join us as we spread the word about Kubernetes and cloud native computing around the world.

We can’t wait to see you in a city near you!

Note: we were originally going to use the name Kubernetes Summits instead of Kubernetes Forums. However, that risked confusion with the Kubernetes Contributor Summit, so we’re going forward with the name Kubernetes Forums.

How CreditEase, Pinterest, Slamtec, Ant Financial and ING Experienced Faster Iterations and Production Times

By | Blog

Kubernetes enables CreditEase, Pinterest, Ant Financial, Slamtec and ING to overcome a multitude of challenges experienced as they looked to scale. By investing in Kubernetes and cloud native technology, these companies experienced reduced build times and massive efficiency wins. 

CreditEase had a long list of challenges in their infrastructure and addressed all of them by choosing Kubernetes for orchestration. CreditEase experienced faster product iterations and significantly improved deployment and delivery times. Read the case study.

With 200 million active monthly users and 100 billion objects saved, Pinterest managed more than 1,000 microservers and multiple layers of infrastructure. After moving to Kubernetes, Pinterest built on-demand scaling and new failover policies, while simplifying deployment and management. The company also reclaimed over 80 percent of capacity during non-peak hours. Read the case study.

After an agile transformation, ING was looking to standardize their deployment process while following the companies strict security guidelines. Using Kubernetes and other cloud native technologies, ING built an internal public cloud to standardize and speed up their deployment process. They now have the ability to go from idea to production within 48 hours. Read the case study

Ant Financial operates at massive scale, with 900+ million users worldwide and 256,000 transactions per second during the peak of Double 11 Singles Day 2017. In order to provide reliable and consistent services to its customers, the company invested in Kubernetes and has seen at least tenfold improvement in operations. Read the case study

Slamtec had multiple needs for their new cloud platform, most importantly stability and reliability. That’s why they chose to deploy Kubernetes as well as Prometheus monitoring, Fluentd logging, Harbor registry, and Helm package manager. 

With this new platform, Slamtec experienced more than 18 months of 100% stability, and for users there is now zero service downtime and seamless upgrades. Read the case study

Interested in more content like this? We curate and deliver relevant articles just like this one, directly to you, once a month in our CNCF newsletter. Get on the list.

KubeCons Coming Your Way

Registration is open for KubeCon + CloudNativeCon North America 2019 which takes place in San Diego from November 18-21. 

KubeCon + CloudNativeCon Europe is in Amsterdam from March 30-April 2, 2020. Registration will go live at the end of the year. We’ll soon be announcing the location for our China event in the summer of 2020.

We hope to see you there!

Deploy your machine learning models with Kubernetes

By | Blog

Guest post originally published on cnvrg.io by Itay Ariel, Senior Software Developer at cnvrg.io 

You’re an AI expert. A deep learning Ninja. A master of machine learning. You’ve just completed another iteration of training your awesome model. This new model is the most accurate you have ever created, and it’s guaranteed to bring a lot of value to your company.

But…

You reach a road block, holding back your models potential. You have full control of the model throughout the process. You have the capabilities of training it, you can tweak it, and you can even verify it using the test set. But, time and time again, you reach the point where your model is ready for production and your progress must take a stop. You need to communicate with DevOps, who likely has a list of tasks to the floor that hold priority over your model. You patiently wait your turn, until you become unbearingly restless in your spinning chair. You have every right to be restless. You know that your model has the potential to produce record breaking results for your company. Why waste any more time?

There is another way…

Publish your models on Kubernetes. Kubernetes is quickly becoming the cloud standard. Once you know how to deploy your model on kubernetes you can do it anywhere (Google cloud or AWS

How to deploy models to production using Kubernetes

You’ll never believe how simple deploying models can be. All you need is to wrap your code a little bit. Soon you’ll be able to build and control your machine learning models from research to production. Here’s how:

Layer 1- your predict code

Since you have already trained your model, it means you already have predict code. The predict code takes a single sample, fits the model with the sample and returns a prediction.

Below you’ll see a sample code that takes a sentence as an input, and returns a number that represents the sentence sentiment as predicted by the model. In this example, an IMDB dataset was used to train a model to predict the sentiment of a sentence.

import keras
model = keras.models.load_model("./sentiment2.model.h5")

def predict(sentence):
    encoded = encode_sentence(sentence)
    pred = np.array([encoded])
    pred = vectorize_sequences(pred)
    a = model.predict(pred)
    return a[0][0]

def vectorize_sequences(sequences, dimension=10000):
    results = np.zeros((len(sequences), dimension))
    for i, sequence in enumerate(sequences):
        results[i, sequence] = 1.
    return results
 predict.py hosted with ❤ by GitHub

 

*Tip
To make deploying even easier, make sure to track all of your code dependencies in a requirements file.

Layer 2- flask server

After we have a working example of the predict code, we need to start speaking HTTP instead of Python.

The way to achieve this is to spawn a flask server that will accept the input as arguments to its requests, and return the model’s prediction in its responses.

from flask import Flask, request, jsonify
import predict

app = Flask(__name__)

@app.route('/predict', methods=['POST'])
def run():
    data = request.get_json(force=True)
    input_params = data['input']
    result =  predict.predict(input_params)
    return jsonify({'prediction': result})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

 

In this small snippet we import flask and define a route it should listen to. Once a request is sent to the server to the route /predict it will take the request argument and send them to the predict function we wrote in the first layer. The function return value is sent back to the client via the HTTP response.

Layer 3 — Kubernetes Deployment

And now, on to the final layer! Using kubernetes we can declare our deployment in a YAML file. This methodology is called Infrastructure as code, and it enables us to define the command we want to run in a single text file.

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: predict-imdb 
spec:
  replicas: 1 
  template:
    spec:
      containers:
      - name: app
        image: tensorflow/tensorflow:latest-devel-py3
        command: ["/bin/sh", "-c"]
        args:
         - git clone https://github.com/itayariel/imdb_keras;
           cd imdb_keras;
           pip install -r requirements.txt;
           python server.py;
        ports:
        - containerPort: 8080

 

You can see in the file that we declared a Deployment with a single replica. Its image is based off of the tensorflow docker image, and then runs a set of four commands in order to trigger the server.

In this command, it clones the code from Github, installed the requirements and spins up the flask server written. 

*Note: feel free to change the clone command to suit your needs.

Additionally, it’s important to add a service that will expose deployment outside of kubernetes cluster. Be sure to check your cluster networking settings via your cloud provider.

apiVersion: v1
kind: Service
metadata:
  name: predict-imdb-service
  labels:
    app: imdb-server
spec:
  ports:
    - port: 8080
  selector:
    app: imdb-server
  type: NodePort

 

🚀Send it to the cloud

Now that we have all files set, it’s time to send the code to the Cloud.

Assuming you have a running kubernetes cluster – and you have its kube config file – you should run the following commands:

kubectl apply -f deployment.yml

This command will create our deployment on the cluster.

kubectl apply -f service.yml

Doing this command will create a service that will expose the endpoint to world. In this example, a NodePort service was used – meaning the service will be attached to a port on the cluster nodes.

Use the command `kubectl get services` to find the service IP and port. Now the model can be called using HTTP with the following curl command:

curl http://node-ip:node-port/predict \
-H 'Content-Type: application/json' \
-d '{"input_params": "I loved this videoLike, love, amazing!!"}'

Wrapping it up – It’s Aliiiive!

Easy huh? Now you know how to publish models to the internet using Kuberentes. And, with just a few lines of code. It actually gets easier.

KubeCon + CloudNativeCon + Open Source Summit China 2019 Conference Transparency Report: A Record-Breaking CNCF and LF Event

By | Blog

KubeCon + CloudNativeCon + Open Source Summit China 2019 was a great success with record-breaking registrations, attendance, sponsorships, and co-located events for CNCF’s second annual conference in China. With 3,500 registrations, attendance for this year’s event was up by 1,000. China is the second largest contributor of code to Kubernetes and more than 10% of CNCF members are from China, including 16% of platinum members and 35% of gold members. China also makes up a crucial part of the CNCF and Kubernetes vendor ecosystem, containing 26% of Certified Kubernetes vendors, 19% of Kubernetes Certified Service Providers, and 32% of Kubernetes Training Partners.

We’ve published the KubeCon + CloudNativeCon + Open Source Summit China 2019 conference transparency report in English and Chinese

Key Takeaways:

  • Of the 3,500 attendees, 60% were first-time KubeCon attendees. 
  • Attendees came from 43 countries across five continents; the majority of attendees (83%) were from China.
  • The conference also welcomed 42 sponsors, 9 community partners, and 14 co-located events.
  • 50% of attendees came from companies with 3,000 employees or more, indicating significant enterprise interest in the event.
  • 54 media and analysts attended the event, including 13 English-speakers, generating more than 393 clips of compelling event news.
  • KubeCon + CloudNativeCon + Open Source Summit China 2019 received 937 CFP submissions; the acceptance rate was 20%.
  • The combined three-day conference included 29 keynotes, 177 breakout sessions, 38 Maintainer Track sessions, and 8 lightning talks.
  • More than 160 people that were unable to attend in person registered to view the keynote live stream.

The 10 Most Viewed Videos from Past KubeCon + CloudNativeCons 

By | Blog

Each KubeCon + CloudNativeCon conference is jam-packed with inspiring, insightful and informative keynotes, sessions and lightning talks. They are published on our YouTube channel after each event so that regardless of attendance, everyone can benefit! 

Today, we wanted to share a “Best Of” of the most viewed talks from KubeCon + CloudNativeCon over the last three years. Of course, the best part of KubeCon + CloudNativeCon is the hallway track where you get to engage face-to-face with other members of the cloud native community. You can do that by registering for KubeCon + CloudNativeCon NA in San Diego from November 18-21. 

1 

First up from KubeCon + CloudNativeCon North America 2017, Carson Anderson breaks down Kubernetes with his talk that hit over 62k views!

 Kubernetes Deconstructed: Understanding Kubernetes by Breaking It Down

Next, Amy Chen’s talk on learning the basics of Kubernetes from the perspective of creating a Helm Chart from scratch at KubeCon + CloudNativeCon North America 2017 has been watched over 54k times! 

Building Helm Charts From the Ground Up: An Introduction to Kubernetes

3

While at KubeCon + CloudNativeCon Europe 2017, Peter Bourgon gave a talk introducing and deep-diving into Go kit, an independent open-source toolkit for writing microservices in Go. 

Go + Microservices = Go Kit

4

Kelsey Hightower’s keynote – Kubernetes and the Path to Serverless – from KubeCon + CloudNativeCon North America 2018 came in fourth with a whopping 30,075 views.

5

For his KubeCon + CloudNativeCon Europe 2018 keynote, Oliver Beattie dove into the Kubernetes outage that Monzo experienced in 2018, its causes and effects, and the architectural and operational lessons learned.

Anatomy of a Production Kubernetes Outage

6

During KubeCon + CloudNativeCon Europe 2018, James Strachan’s talk on Jenkins X, an open source CI / CD platform for Kubernetes based on Jenkins, received almost 26k views.  

Jenkins X: Easy CI/CD for Kubernetes

7

In this talk from KubeCon + CloudNativeCon North America 2017, Cheryl Hung compares and contrasts the most popular persistent storage solutions, and lays out the eight principles for cloud native storage. 

Persistent Storage with Kubernetes in Production – Which Solution and Why?

8

Another one from Kelsey! His opening keynote/ project update at KubeCon + CloudNativeCon North America 2017 has been seen by 19.7k people! 

Keynote: KubeCon Opening Keynote

9

During KubeCon + CloudNativeCon Europe 2018, Fernando Diaz’s session is great for beginners or community experts alike who would like to get more involved with Nginx-Ingres

Make Ingress-Nginx Work for you, and the Community

10

In this video from KubeCon + CloudNativeCon Europe 2017 Lachlan Evenson and Adam Reese delve into the depths of Helm, focusing on lifecycle management and continuous delivery (CI/CD) of Kubernetes-native applications in different environments. 

Delve into Helm: Advanced DevOps

Diversity Scholarship Series: From Networking in Copenhagen to a Lightning Talk in Shanghai

By | Blog

At every KubeCon + CloudNativeCon since Seattle in 2016, CNCF has offered funding and support to attendees from traditionally underrepresented and/or marginalized groups. More than 300 of these diversity scholarships — which include free registration, travel stipends, and networking events — have been accepted over the years.

Through their experiences at the conferences, diversity scholars have found mentors, been inspired to contribute to the open source community, and even gone on to become CNCF ambassadors.

Yang Li was one of the diversity scholars at KubeCon + CloudNativeCon EU 2018 in Copenhagen. Just over a year later, he was giving a lightning talk in Shanghai. 

“I was always a believer of ‘do what you love,’” says Yang. “However, I was not doing things that made me excited before KubeCon Copenhagen. That experience gave me the courage to change myself to work with things I love again.”

Based in Hangzhou, China, Yang began working with Kubernetes in 2017, initially helping with localizing the dashboard to Chinese. When he found out about the diversity scholarships, he decided to apply. “I thought it would be wonderful if I can attend KubeCon once, especially since it would be my first time going to a conference overseas,” he recalls. When he found out that he had been accepted, “I read the email several times before believing it was true. I was extremely happy and thankful for this opportunity.”

In Copenhagen, Yang met many people in the open source community and especially bonded with the other diversity scholars, with whom he’s still in touch. “I learned many things about Kubernetes and other CNCF projects,” he says, “but the most important thing I learned is how awesome this inclusive community is and how important that is for an open source project.”

When he got home, he decided to become more involved with the Kubernetes project. Though he had used open source software and GitHub before, he had never been active in any community. “KubeCon made me realize that I want to work more with open source projects,” he says.

Yang soon became a contributor, joining the release team for 1.12 and 1.13, and getting involved in SIG-testing, SIG-release, and SIG-contribex. “I have found some mentors during my journey as a contributor in my spare time,” he says. “They are very kind and experienced, and they taught me by example how to work better on an open source project.”

Meanwhile, the Kubernetes-related project he was working on at his job was discontinued. So he promptly found another full-time position so he could keep working on Kubernetes. He’s now an SRE at The Plant K.K., which creates web applications. “The company is an end user of Kubernetes, so I’m connecting my open source work with my day job,” he says.

At the end of 2018, Yang took his involvement to the next level, helping run the Contributor Summit in Shanghai and in Seattle. “I helped the community onboard new faces,” he says. “Once I knew how wonderful it was to work within the community, I started to encourage other people whenever I got the chance.” 

The biggest chance to do that so far has been on the stage in Shanghai this past June. When he submitted a talk proposal for KubeCon China, “I thought it should be a community topic since the community wants to grow more contributors in APAC regions,” he says. “I decided to share my own experiences from the past year.”

On the KubeCon stage that day, “I was both nervous and excited,” he says. “I got the message out, I had some good feedback, and I’m glad it encouraged and inspired more people to join the community.”

Yang had written in his proposal that joining the Kubernetes community “has made me not only a better open source contributor but a better software engineer. It is safe to say that it changed my career path.”

Indeed, he has just been relocated to Tokyo by The Plant K.K. “It has definitely surprised me where this has taken me over the past year and a half,” he says. “I’m very grateful for the CNCF scholarship, the Kubernetes community, and my employer. I think I’m living my goal of doing what I love.”

*Anyone interested in applying for a CNCF diversity scholarship to attend KubeCon + CloudNativeCon North America 2019 in San Diego November 18-21 can find out more here. Applications are due September 9.*

CNCF Meetups Are Now Happening in More than 200 Locations

By | Blog

Following our recent 100,000 member milestone, we are excited to highlight that CNCF Meetups are now active in over 200 locations around the world! Thanks to our rapidly growing community and CNCF Ambassadors, Meetup Groups are becoming increasingly prevalent. With the goal of expanding the cloud native ecosystem, each Meetup is unique but all cover cloud native computing and/or CNCF-hosted projects as topics. 

“After creating the CNCF Meetup program over 3 years ago, we’ve been thrilled to see it span nearly 50 countries with the help of our community and official Cloud Native Ambassadors. The cloud native movement is truly a global endeavor, we look forward to continue supporting new meetups across the world to learn more about cloud native technology.” said Chris Aniszczyk, CTO, CNCF.

CNCF Meetup Stats

  • Members: 119,632
  • Groups: 202
  • Countries: 49

Here is a quick overview of the top 10 Meetups in each region by number of members. With over 200 groups, chances are there is a Meetup near you. Find your local CNCF meetup.

North America

City State/Country Members
San Francisco California 7,882
Palo Alto California 7,468
San Jose California 5,222
New York New York 5,136
Mountain View California 4,837
Cambridge Massachusetts 2,699
Seattle Washington 2,442
Dallas Texas 1,757
Montreal Quebec 1,739
Chicago Illinois 1,534

Europe

City Country Members
London United Kingdom 4,873
Madrid Spain 3,421
Berlin Germany 3,311
Munich Germany 3,072
Paris France 2,311
Zurich Switzerland 2,139
Budapest Hungary 2,093
Amsterdam Netherlands 1,819
Warsaw Poland 1,547
Hamburg Germany 1,202

Rest of World

City Country Members
Bangalore India 8,916
Sao Paulo Brazil 3,623
Pune India 1,956
Singapore Singapore 1,948
Jakarta Indonesia 1,496
Tel Aviv-Yafo Israel 1,364
Sydney Australia 1,138
Seoul Korea (South) 1,051
Ahmedabad India 997
Melbourne Australia 980

CNCF is always working to expand the cloud native community and are happy to accept new meetup communities to join the CNCF. For more information, check out our Meetup page on Github.  

Comcast, ricardo.ch, PingCAP, Prowise and the City of Montreal Attain New Heights with Kubernetes

By | Blog

Kubernetes enabled Comcast, ricardo.ch, PingCAP, Prowise and The City of Montreal to scale without increasing their operations team, and improved their productivity by over 15%. They also considerably reduced their deployments with faster scaling. Kubernetes enables users to deploy multiple containers to multiple hosts, making it ideal for larger deployments and load balancing. Its flexibility allows enterprises to deliver applications consistently and easily no matter how complex their needs are. 

Comcast looked to Kubernetes in 2014 when launching its X1 Cloud DVR service, allowing millions of customers to download or stream content onto mobile and IP-connected devices. In the following years that one project expanded to a company-wide cloud native journey. “Kubernetes has helped to get our development teams more interested and invested in production environments that they work in. It’s bridged the gap between our lab and production environments and enabled us to get stuff deployed faster.” —David Arbuckle, Director, Infrastructure Software Engineering

Comcast has gone from deploying a new application stack a quarter to deploying 20+ environments in a week! Read the case study


The City of Montreal switched from its legacy systems to containerization and Kubernetes, drastically decreasing time to market from many months to a few weeks, and deployments from months to hours. “Getting a project running in Kubernetes is entirely dependent on how long you need to program the actual software. It’s no longer dependent on deployment. Deployment is so fast that it’s negligible.” —Marc Khouzam, Solutions Architect, City of Montréal. In the near future 60% of the city’s workloads should run on a Kubernetes platform—basically everything that they can get to work this way. Read the case study

PingCAP’s current productivity improvement from running on Kubernetes is about 15%, but as they gain more knowledge on debugging and diagnosis, they anticipate that productivity improvement should exceed 20%. “Having Kubernetes be part of the CNCF, as opposed to having only the backing of one individual company, was valuable in having confidence in the longevity of the technology,” says Xu. “Plus, with the governance process being so open, it’s not hard to find out what’s the latest developments in the technology and community, or figure out who to reach out to if we have problems or issues.” PingCAP’s Deployment time has gone from hours to minutes. Read the case study.

Ricardo.ch used Kubernetes to increase deployments from fewer than 10 per week to 30-60 per day. “One of the core moments was when a front-end developer asked me how to do a port forward from his laptop to a front-end application to debug, and I told him the command. And he was like, ‘Wow, that’s all I need to do?’ He was super excited and happy about it. That showed me that this power in the right hands can just accelerate development.” — Cedric Meury, Head of Platform Engineering, ricardo.ch. Read the case study

Prowise’s rapid growth brought the need for flexible scaling and faster deployment. To respond, they chose Kubernetes and are now experiencing rapid and smooth deployments. “Kubernetes allows us to really consider the best tools for a problem. Want to have a full-fledged analytics application developed by a third party that is just right for your use case? Run it. Dabbling in machine learning and AI algorithms but getting tired of waiting days for training to complete? It takes only seconds to scale it. Got a stubborn developer that wants to use a programming language no one has heard of? Let him, if it runs in a container, of course. And all of that while your operations team/DevOps get to sleep at night.” —Victor van den Bosch, Senior DevOps Engineer, Prowise. Deployment time went from 30 minutes of preparation plus 30 minutes deployment to a couple of seconds. Read the case study.

Interested in more content like this? We curate and deliver relevant articles just like this one, directly to you, once a month in our CNCF newsletter. Get on the list.

Save the Dates for upcoming KubeCon + CloudNativeCon events!

The call for proposals for KubeCon + CloudNativeCon North America 2019, which takes place in San Diego from November 18-21, closes tomorrow, July 12th. Registration is open.

We’ll be back in Europe for KubeCon + CloudNativeCon Europe in Amsterdam from March 30-April 2, 2020. Registration will go live at the end of the year.

We hope to see you there!

What Image Formats Should You Be Using in 2019?

By | Blog

Here are some succinct guidelines on which image formats to use on the web, in email, and in print, based on CNCF’s experiences:

SVG: Use for logos

SVGs are the preferred image format for logos as they’re resolution-independent (that is, they look good no matter how high-resolution your screen is), lightweight (that is, their file size is smaller than other formats), and can be easily converted into PNGs and into print formats (like PDF and EPS). All of the logos in the interactive landscape are SVGs (following our logo guidelines). SVGs are now natively supported in PowerPoint but importing SVGs into Google Slides is much more tedious than it should be, so you may want to substitute a PNG, but ensure it’s high resolution.

JPG: Use for photos

Though lossy and not resolution-independent, JPGs are the preferred format for photos but aren’t much good for anything else. (Lossy means that text and illustrations can look blurry and so it’s not suitable for logos. Not resolution-independent means that photos will look blurry if you blow them up more than their original resolution.)  When you create a JPG you can set the degree of compression. When preparing an image for the web, make the compression as high as possible to minimize the file size but not so much that the photo starts looking “blocky”.

PNG: Use for logos and diagrams when you can’t use an SVG

Minimize your use of PNGs. It is not a resolution-independent format so they often look blurry on high-resolution screens like Macs and iPhones. They are useful, however, in the following situations:

  • Gmail doesn’t support SVGs, so PNGs are the best choice for logos in email
  • On webpages, use PNGs for the Twitter card preview image, since Twitter doesn’t support SVGs
  • Use when embedding large, complex drawings into webpages such as the trail map or landscape
  • PNGs can include transparency so use on webpages when you need transparency and there’s no SVG option

PDF: Use for print and ready-to-print brochures

PDF, like SVG, is a resolution-independent format that is suitable for printing or displaying on high-resolution screens. It’s intended as an output format, however, and is not easily usable as an input to webpages or other media. Also, embedding a PNG or JPG into a PDF will still look blurry at high-resolution. Instead, start with a resolution-independent format (such as SVGs or original designs from Adobe Illustrator) to produce PDFs that look good zoomed in or printed commercially.

EPS & AI: Don’t use

These are often used as the original format in which a design is created and/or sent to print. If you get a logo in this format, use cloudconvert.com to convert it to an SVG.

1 4 5 6 38