{"componentChunkName":"component---src-templates-author-jsx","path":"/blog/author/john_gannon/","result":{"data":{"prismic":{"allFeaturedblogs":{"edges":[{"node":{"featured_blogs_enabled":true,"heading":[{"type":"paragraph","text":"Featured posts","spans":[]}],"featured_blog_1":{"__typename":"PRISMIC_Blog","_linkType":"Link.document","blog_header_image":{"dimensions":{"width":790,"height":395},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/6d8d81b1-971a-4313-b033-b4e125cb14a0_MondoDB-blog-header-790x395.PNG?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Introducing DigitalOcean Managed MongoDB – a fully managed, database as a service for modern apps","spans":[]}],"blog_post_date":"2021-06-29","blog_post_content":[{"type":"paragraph","text":"MongoDB is one of the most popular databases, and it’s ideal for apps that evolve rapidly and need to handle huge volumes of data and traffic. It offers advantages like flexible document schemas, code-native data access, change-friendly design, and easy horizontal scale-out.","spans":[{"start":22,"end":44,"type":"hyperlink","data":{"link_type":"Web","url":"https://db-engines.com/en/ranking","target":"_blank"}}]},{"type":"paragraph","text":"However, building and maintaining MongoDB clusters from the ground up can be a huge undertaking. Developers often complain that they have to spend their valuable time and resources on database management. Well, we’ve been listening and have some great news: accessing and managing MongoDB on DigitalOcean just got a lot simpler!","spans":[]},{"type":"paragraph","text":"We are excited to announce that DigitalOcean Managed MongoDB is now in General Availability. Managed MongoDB is a fully managed, database as a service (DBaaS) offering from DigitalOcean, built in partnership with and certified by MongoDB Inc. It provides you all the technical capabilities that make MongoDB so beloved in the developer community. Together we have ensured that you will get access to all the latest releases of the MongoDB document database as they become available.","spans":[{"start":32,"end":91,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/managed-databases-mongodb/"}},{"start":230,"end":241,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.mongodb.com/","target":"_blank"}}]},{"type":"paragraph","text":"Managed MongoDB simplifies the MongoDB administration. Developers of all skill levels, even those who do not have prior experience in databases, can spin up MongoDB clusters in just a few minutes. We handle the provisioning, managing, scaling, updates, backups, and security of your MongoDB clusters, allowing you to offload the complex, time consuming –yet critical – database administration tasks to us. This empowers you to focus on what really matters: building awesome apps.","spans":[]},{"type":"embed","oembed":{"height":113,"width":200,"embed_url":"https://www.youtube.com/watch?v=NvHQSV7jnKA","type":"video","version":"1.0","title":"Create a MongoDB Database on DigitalOcean","author_name":"DigitalOcean","author_url":"https://www.youtube.com/c/Digitalocean","provider_name":"YouTube","provider_url":"https://www.youtube.com/","cache_age":null,"thumbnail_url":"https://i.ytimg.com/vi/NvHQSV7jnKA/hqdefault.jpg","thumbnail_width":480,"thumbnail_height":360,"html":"<iframe width=\"200\" height=\"113\" src=\"https://www.youtube.com/embed/NvHQSV7jnKA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"}},{"type":"heading2","text":"Benefits of Managed MongoDB","spans":[]},{"type":"paragraph","text":"","spans":[]},{"type":"list-item","text":"Easy set up and maintenance: We create the database clusters for you. Simply choose the cluster configuration (e.g., memory, disk size, number of nodes, etc.), and the data center in which you want to host the database. Follow a few simple steps and your database cluster will be up and running in a matter of minutes. You can spin up clusters using the cloud control panel, CLI, or API.\n\n","spans":[{"start":0,"end":28,"type":"strong"}]},{"type":"list-item","text":"Automatic daily backups with point in time recovery: Data is one of the most important assets of an app, so it’s critical to backup your database. We take backups of your entire clusters automatically on a daily basis, for free. We also provide a point in time recovery for 7 days, that way if things go wrong due to human error, machine error, or some combination of both, you can easily restore the database as it was at any point in the previous 7 days. \n\n","spans":[{"start":0,"end":52,"type":"strong"}]},{"type":"list-item","text":"Automatic updates and access to latest MongoDB releases: You get access to MongoDB 4.4. This is the latest release of MongoDB and comes packed with numerous enhancements like hedged reads, rust, and swift drivers. Since we have developed Managed MongoDB in partnership with MongoDB Inc, you will always get access to new releases as they become available. With Managed MongoDB, the updates happen automatically. Just select a date and time for the updates and we take care of the rest. This makes it easy to stay up to date with MongoDB releases without disrupting your business.\n\n","spans":[{"start":0,"end":56,"type":"strong"},{"start":148,"end":169,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.mongodb.com/new","target":"_blank"}}]},{"type":"list-item","text":"High availability with automated failover: If your database goes down, it can take down the entire app, leading to bad customer experiences. With Managed MongoDB, you can easily minimize the downtime for your database and make it highly available with standby nodes. Standby nodes add redundancy, so if for example the primary node fails, the standby node is immediately promoted to primary and begins serving requests while we provision a replacement standby node in the background.\n\n","spans":[{"start":0,"end":42,"type":"strong"}]},{"type":"list-item","text":"Scale up easily to handle traffic spikes: As your app gains traction and the usage grows, it’s important to have a database that can keep up with the increased demand. With Managed MongoDB, you can easily scale up the size of database nodes when needed.\n\n","spans":[{"start":0,"end":41,"type":"strong"}]},{"type":"list-item","text":"Secure by default: Since data is critical, it also needs to be secure. We encrypt data at rest with LUKS and in transit with SSL. When you create a new cluster, it’s placed in a VPC network by default that provides a more secure connection between resources. You can also restrict access to your nodes to prevent brute-force password and denial-of-service attacks.","spans":[{"start":0,"end":18,"type":"strong"},{"start":178,"end":189,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/networking/vpc/"}}]},{"type":"heading2","text":"The need for Managed Databases","spans":[]},{"type":"paragraph","text":"DigitalOcean’s mission is to simplify cloud computing so developers, startups, and SMBs can spend more time building software that changes the world. While databases are a critical component to any application, building, maintaining, and scaling them can be complex and time consuming. For developers that are building apps for their business, database administration is often not a core focus area. But it’s quite common to find developers that write the code and then also roll up their sleeves to maintain databases. Such users would rather offload the tedious database administration and focus their limited time and energy on building and enhancing their apps. ","spans":[]},{"type":"paragraph","text":"With this in mind, we introduced Managed Databases a couple of years ago and are excited to add Managed MongoDB to our portfolio. With this release, DigitalOcean Managed Databases now supports the following engines:","spans":[{"start":33,"end":50,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/managed-databases/"}}]},{"type":"image","url":"https://images.prismic.io/www-static/87745cc1-1c5f-4463-b104-104b7fc30dc7_managed-databases-logos.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":849,"height":104}},{"type":"paragraph","text":"Managed MongoDB launch comes on the heels of DigitalOcean App Platform, a modern, reimagined PaaS (Platform as a Service) that we released a few months ago. App Platform makes it very easy to build, deploy, and scale apps and static sites. You can deploy code by simply pointing to your GitHub and GitLab repos, and App Platform will do all the heavy lifting of managing infrastructure, app runtimes, and dependencies. App Platform, along with Managed Databases, helps fulfill DigitalOcean’s mission by empowering developers, startups, and SMBs to focus more on their apps, and less on the underlying infrastructure and databases.","spans":[{"start":45,"end":70,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/app-platform/"}}]},{"type":"heading2","text":"How Managed MongoDB works","spans":[]},{"type":"paragraph","text":"DigitalOcean provides you with various compute options to build your apps like:","spans":[]},{"type":"list-item","text":"Droplets: On-demand, Linux virtual machines suitable for production business applications and personal passion projects.","spans":[{"start":0,"end":8,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/droplets/"}}]},{"type":"list-item","text":"DigitalOcean Kubernetes: Managed Kubernetes with automatic scaling, upgrades, and a free control plane.","spans":[{"start":0,"end":23,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/kubernetes/"}}]},{"type":"list-item","text":"DigitalOcean App Platform: A fully managed Platform as a Service.","spans":[{"start":0,"end":25,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/app-platform/"}}]},{"type":"paragraph","text":"No matter which compute option you choose to build your apps, you can easily add Managed MongoDB to it. In addition to this, Managed MongoDB also integrates with the Node.js 1-Click App from DigitalOcean Marketplace making it a lot easier to build Node.js apps.","spans":[{"start":166,"end":215,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/nodejs"}}]},{"type":"heading2","text":"Simple, predictable pricing","spans":[]},{"type":"paragraph","text":"Just like all DigitalOcean products, Managed MongoDB provides simple, predictable pricing that allows you to control costs and prevent any surprise bills. You can spin up a database cluster for just $15/month, or a highly available three-node replica set for $45/month. Click here for more information.","spans":[{"start":270,"end":301,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/pricing/#managed-databases"}}]},{"type":"heading2","text":"Regional availability","spans":[]},{"type":"paragraph","text":"Managed MongoDB is currently available in the following regions:","spans":[]},{"type":"list-item","text":"NYC3 (New York, USA)","spans":[]},{"type":"list-item","text":"FRA1 (Frankfurt, Germany)","spans":[]},{"type":"list-item","text":"AMS3 (Amsterdam, Netherlands)","spans":[]},{"type":"paragraph","text":"We will be making Managed Mongo available in other regions soon. Please check out the release notes for most up to date information on regional availability.","spans":[{"start":86,"end":99,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/release-notes/"}}]},{"type":"heading2","text":"Join us at deploy, DigitalOcean’s virtual user conference","spans":[]},{"type":"paragraph","text":"Today we have deploy, DigitalOcean’s signature user conference, which focuses on celebrating, educating, and connecting awesome builders from all over the world.","spans":[{"start":14,"end":20,"type":"hyperlink","data":{"link_type":"Web","url":"https://deploy.digitalocean.com/home"}}]},{"type":"paragraph","text":"Check out the keynote session from DigitalOcean's CEO, Yancey Spruill, in which he talks about where we're headed as a company and shares some exciting product updates. His keynote will be followed by sessions from community members, engineers, customers, and other experts that are building technologies and businesses powered by the cloud. With live Q&A and an active Discord server, there’s ample opportunity to engage and learn something new. Click here to attend the deploy conference.","spans":[{"start":14,"end":69,"type":"hyperlink","data":{"link_type":"Web","url":"https://deploy.digitalocean.com/agenda/session/552806"}},{"start":347,"end":384,"type":"hyperlink","data":{"link_type":"Web","url":"http://do.co/deploy-discord"}},{"start":461,"end":489,"type":"hyperlink","data":{"link_type":"Web","url":"http://do.co/deploy"}}]},{"type":"paragraph","text":"We are also launching a hackathon for DigitalOcean Managed MongoDB. Learn how you can participate, submit an app and get a t-shirt.","spans":[{"start":24,"end":66,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/mongodb-hackathon"}}]},{"type":"paragraph","text":"We hope you will give Managed MongoDB a try. Here are some sample datasets and sample apps that you can use to kick the tires. Check out the docs and let us know what you think!","spans":[{"start":22,"end":43,"type":"hyperlink","data":{"link_type":"Web","url":"https://cloud.digitalocean.com/databases/new?engine=mongodb"}},{"start":59,"end":90,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/do-community/mongodb-resources","target":"_blank"}},{"start":141,"end":145,"type":"hyperlink","data":{"link_type":"Web","url":"https://docs.digitalocean.com/products/databases/mongodb/"}}]},{"type":"paragraph","text":"If you’d like to have a conversation about using DigitalOcean and Managed MongoDB in your business, please feel free to contact our sales team.","spans":[{"start":120,"end":142,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/company/contact/sales/"}}]},{"type":"paragraph","text":"Happy coding!","spans":[]},{"type":"paragraph","text":"André Bearfield","spans":[]},{"type":"paragraph","text":"Director of Product Management","spans":[]}],"tags":[{"tag1":{"__typename":"PRISMIC_Tag","tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"author":{"__typename":"PRISMIC_Author","author_name":"André Bearfield","author_image":{"dimensions":{"width":553,"height":547},"alt":"André Bearfield","copyright":null,"url":"https://images.prismic.io/www-static/fdc7c85186f0a850b04083e1d4306bd1c19772e8_andre-bearfield.png?auto=compress,format"},"_meta":{"uid":"andre-bearfield"}},"_meta":{"uid":"introducing-digitalocean-managed-mongodb"}},"featured_blog_2":{"__typename":"PRISMIC_Blog","_linkType":"Link.document","blog_header_image":{"dimensions":{"width":790,"height":400},"alt":"Droplet Console","copyright":null,"url":"https://images.prismic.io/www-static/710499ae-78cc-4179-afc1-15793637b200_DODX3727-790x400-logo-2.jpg?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Securely connect to Droplets with SSH key pairs using a new Droplet Console","spans":[]}],"blog_post_date":"2021-08-10","blog_post_content":[{"type":"paragraph","text":"The famous author Ken Blanchard once said, “Feedback is the breakfast of champions.\" This is something we truly believe at DigitalOcean, and we always strive to enhance our products based on customer feedback.","spans":[]},{"type":"paragraph","text":"With this goal in mind, we are excited to introduce a new Droplet Console that will make it much easier to connect to your Droplets securely. The new Droplet Console provides one-click SSH access to your Droplets through a native-like SSH/Terminal experience. It also eliminates the need for a password or manual configuration of SSH keys. Starting today, we’re pleased to announce that the new Droplet Console is now available to all Droplet users.","spans":[]},{"type":"heading2","text":"Why you should be using Secure Shell (SSH) ","spans":[]},{"type":"paragraph","text":"Password-based security is notoriously insecure due to password fatigue and the overuse of passwords such as ‘123456’. Secure Shell or SSH is a network communication protocol that solves this by using passwordless solutions for encryption, enabling two computers to communicate and securely share data. At a high level, SSH works by creating cryptographic key pairs consisting of a public and private key, which are computer generated and stored separately to ensure their security. ","spans":[{"start":80,"end":117,"type":"hyperlink","data":{"link_type":"Web","url":"https://cybernews.com/best-password-managers/most-common-passwords/"}}]},{"type":"paragraph","text":"SSH has become the default encryption protocol for many industries, but it was difficult to use SSH keys with DigitalOcean’s current Recovery (VNC) console, which is why we developed our new Droplet Console. The new Droplet Console is backed by an agent that security supervises the key pair, while also providing one-click SSH access to our users. You can see the full list of features below.","spans":[]},{"type":"heading2","text":"The new Droplet Console: More time saving, less time wasting ","spans":[]},{"type":"paragraph","text":"The new Droplet Console is for everyone who is looking to build fast, secure apps and avoid hassles with SSH access & usability issues.","spans":[]},{"type":"paragraph","text":"In addition to easier SSH access, the new Droplet Console comes with:","spans":[]},{"type":"list-item","text":"Copy/paste text: Instead of typing lengthy key pairs and text manually, you can use copy/paste to save time. ","spans":[{"start":0,"end":17,"type":"strong"}]},{"type":"list-item","text":"Multi-color support: Multi-color support makes the console more useful and intuitive, and breaks the conventional standard appearance which is black text on a white background. ","spans":[{"start":0,"end":41,"type":"strong"}]},{"type":"list-item","text":"Multi-language support: DigitalOcean’s new Droplet Console supports multiple languages, meaning you can now type and view any content in any language that is supported by UTF-8","spans":[{"start":0,"end":24,"type":"strong"}]},{"type":"list-item","text":"OS/images supported: Linux distributions (Ubuntu(16.04 - 20.04), Fedora (32 & 33), Debian (9), CentOS (7.6 & 8.3), CentOS 8 Stream, Rocky Linux and Marketplace images.","spans":[{"start":0,"end":20,"type":"strong"},{"start":148,"end":159,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/"}}]},{"type":"paragraph","text":"The new Droplet Console is available by default on any new Droplets you spin up. You can also enable it manually on older Droplets. Click here to learn more!","spans":[{"start":132,"end":157,"type":"hyperlink","data":{"link_type":"Web","url":"https://docs.digitalocean.com/products/droplets/how-to/connect-with-console/"}}]},{"type":"paragraph","text":"Check out this short walkthrough video that shows the new Droplet Console in action: ","spans":[]},{"type":"embed","oembed":{"type":"video","embed_url":"https://www.youtube.com/watch?v=Qt7QihVuxiE","title":"Access Your Droplet Terminal Through the Web Console","provider_name":"YouTube","thumbnail_url":"https://i.ytimg.com/vi/Qt7QihVuxiE/hqdefault.jpg","provider_url":"https://www.youtube.com/","author_name":"DigitalOcean","author_url":"https://www.youtube.com/c/Digitalocean","height":113,"width":200,"version":"1.0","thumbnail_height":360,"thumbnail_width":480,"html":"<iframe width=\"200\" height=\"113\" src=\"https://www.youtube.com/embed/Qt7QihVuxiE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"}},{"type":"paragraph","text":"We hope you’re excited about the new Droplet Console. You’re welcome to spin some Droplets up right now, and try out the new Droplet Console – why wait?","spans":[{"start":72,"end":103,"type":"hyperlink","data":{"link_type":"Web","url":"https://cloud.digitalocean.com/droplets/new"}}]},{"type":"paragraph","text":"Happy coding!","spans":[]},{"type":"paragraph","text":"Harsh Banwait, Senior Product Manager","spans":[]}],"tags":[{"tag1":{"__typename":"PRISMIC_Tag","tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"author":{"__typename":"PRISMIC_Author","author_name":"Harsh Banwait","author_image":{"dimensions":{"width":600,"height":399},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/e83ff690-b20c-4d88-a2b6-57e562558cd6_download.png?auto=compress,format"},"_meta":{"uid":"harsh-banwait"}},"_meta":{"uid":"new-droplet-console-ssh-support"}},"featured_blog_3":{"__typename":"PRISMIC_Blog","_linkType":"Link.document","blog_header_image":{"dimensions":{"width":790,"height":400},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/588e28d3-d41e-480b-937b-8c3b19201f6e_DODX3568-790x400-Blog.jpg?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"How to scale your SaaS product without breaking the bank","spans":[]}],"blog_post_date":"2021-06-22","blog_post_content":[{"type":"paragraph","text":"These days, if you are in the business of software, chances are you are delivering or plan to deliver your services using a Software-as-a-Service (SaaS) model. A combination of internet-based delivery, subscription-based pricing, and low-friction product experiences have made SaaS solutions valuable tools for their users, and an excellent vehicle for software builders looking to distribute their products.","spans":[]},{"type":"paragraph","text":"These factors have made SaaS solutions ubiquitous; SaaS is the largest segment in the public cloud market, and is used to provide functionality ranging from personal finance apps for consumers, to productivity software for businesses, and even tools and services for software developers themselves to compose their applications and simplify their workflows. It is also not uncommon to find micro-SaaS applications being built for specific industries such as retail, job functions such as accounting or marketing, or tasks such as event management. ","spans":[]},{"type":"paragraph","text":"The best thing about this SaaS wave has been that it has allowed a new generation of software builders to build and monetize applications and participate in the digital economy. Previously, you had to be a big company with lots of resources, name recognition and distribution networks to successfully sell software products. Now, irrespective of whether you are a single person working on a passion project, a small team of developers in a startup, or a small and medium-sized business (SMB), the SaaS model enables you to express your ideas in the form of software and deliver them to customers anywhere in the world.","spans":[]},{"type":"heading2","text":"The unique challenges of building SaaS solutions","spans":[]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"Despite the opportunities that come with the widespread adoption of SaaS products, software builders still have to answer key questions in their journey to building successful SaaS products. Understanding what customers to target, features to prioritize, how to price your product, and how to acquire customers are all critical questions to figure out while you are also doing the important job of actually building and operating the product. ","spans":[]},{"type":"paragraph","text":"Writing the code, testing, deployment, monitoring the usage in production, and ensuring that your apps are able to handle the additional demand when customer base and usage grows are all essential and time-consuming tasks.","spans":[]},{"type":"paragraph","text":"Additionally, being able to test multiple ideas, pivot, and double down on the ideas that actually work is critical in early stages of SaaS development. Once growth comes, it is equally important to scale up without compromising on performance or reliability. Needless to say, all of this needs to be economically viable as well, since not everyone has the resources of large SaaS providers like Salesforce or Adobe.","spans":[]},{"type":"heading2","text":"Cloud Computing enables builders but also poses challenges","spans":[]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"Fortunately, for the act of building and operating your apps, cloud computing can help take some load off your shoulders. Unless you have the scale and resources of Facebook, chances are you are not going to set up your own data centers to host the computing infrastructure that powers your SaaS company. Public cloud infrastructure providers can bring great value to SaaS builders by providing on-demand computing services with usage-based pricing. However, just like how the legacy software companies weren't built for the SaaS model, the early (and big) cloud computing services were not optimized for the unique needs of small SaaS building teams. ","spans":[]},{"type":"paragraph","text":"Smaller SaaS teams face challenges with large cloud computing providers, including:","spans":[]},{"type":"heading4","text":"Too many technology options","spans":[]},{"type":"paragraph","text":"There are just too many options for tech stacks on which to build your SaaS - programming languages, application development frameworks, libraries, runtime environments, architectural patterns, and deployment models - and the list is growing by the day.","spans":[]},{"type":"heading4","text":"Complexity of cloud computing services","spans":[]},{"type":"paragraph","text":"Even when you have decided on a technology stack, there is a lot of cloud vendor-specific terminology you need to learn and heavy lifting you need to do to build on the cloud, not all of which contributes to making your SaaS applications successful.","spans":[]},{"type":"heading4","text":"Unpredictable costs","spans":[]},{"type":"paragraph","text":"The experimentation necessary in early stages of SaaS development, as well as the scaling of applications required during the growth phase, call for affordable and predictable pricing from your cloud provider. The last thing SaaS teams want is surprising and indecipherable bills from your cloud provider. Unfortunately, smaller businesses often experience unpredictable costs with cloud providers who are busy serving only the large enterprises.","spans":[]},{"type":"heading2","text":"DigitalOcean provides a simple, cost effective solution for SaaS builders","spans":[]},{"type":"paragraph","text":"Fortunately, at DigitalOcean we have a laser focus on small software development teams, who are trying to build the next generation of applications. Today, DigitalOcean customers are already building SaaS applications which serve all kinds of customers.","spans":[{"start":191,"end":217,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/solutions/saas/"}}]},{"type":"paragraph","text":"We believe SaaS builders should focus on building apps that power their business, and not spend their valuable time on managing infrastructure. That is exactly what we have been able to enable through our intuitive products that are built for scale and reliability.","spans":[{"start":205,"end":223,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/"}}]},{"type":"list-item","text":"Vidazoo is an advertising technology company specializing in video streaming and serving. It serves video ads to thousands of websites and handles close to 10 billion requests per day. \n\n“We are as much a data company as an adtech company. Our business relies on speedy and accurate data processing at massive scale. DigitalOcean provides us the perfect set of tools to operate our SaaS business profitably, while not making us feel the need to become full time system administrators. We plan to move a lot of our apps to DigitalOcean App Platform and other fully managed products.” - Roman Svichar, CTO of Vidazoo","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://vidazoo.com/"}},{"start":187,"end":583,"type":"em"}]},{"type":"paragraph","text":"We believe in meeting customers where they are. If they already have an understanding of cloud infrastructure technologies, they should be able to leverage that knowledge and get started with our products without any further ramp up.","spans":[]},{"type":"list-item","text":"Whatfix is an enterprise SaaS provider that offers a digital adoption platform to businesses. The company helps enterprises gain the full value of their investments in enterprise applications by providing real-time, interactive, and contextual guidance to users of those applications. \n\n“What we really love about the DigitalOcean platform is the ease of use. We feel like we know infrastructure and can handle most of the configuration and management. What we needed from a cloud was not bells and whistles but efficiency and reliability. DigitalOcean provides us a platform to build our apps and then gets out of the way. Just how we like it.” - Achyuth Krishna, Director of Engineering of Whatfix","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://whatfix.com/blog/driving-the-future-now-were-excited-to-announce-our-90-million-series-d-funding/"}},{"start":287,"end":648,"type":"em"}]},{"type":"paragraph","text":"We understand that scaling while maintaining reliability of applications and profitability of business is important, so we provide robust solutions which minimize downtime.","spans":[]},{"type":"list-item","text":"Centra is a SaaS-based e-commerce platform for global direct-to-consumer and wholesale e-commerce brands. Centra provides a powerful e-commerce backend that lets brands build pixel-perfect, custom designed, online flagship stores. \n\n“How do we enable our customers to create differentiated online experiences? How do we ensure their e-commerce apps stay up and running at all times? How do we scale on-demand when traffic grows or new customers come in? These are the questions that we ask ourselves every day. Thankfully, we have a partner in DigitalOcean that provides just the platform to answer those questions enabling us to guarantee 99.9% uptime for our clients.” - Martin Jensen, CEO of Centra","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://centra.com/"}},{"start":233,"end":673,"type":"em"}]},{"type":"paragraph","text":"These are just a few examples of SaaS businesses finding success on DigitalOcean. We are constantly amazed by the creativity and innovation that software builders are utilizing our platform for. If you are interested in learning more about product updates, technical deep-dives and best practices for building SaaS products and businesses, please contact us to learn how we can help you get started. ","spans":[{"start":340,"end":357,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/migrate/?utmmedium=blog","target":"_blank"}}]},{"type":"paragraph","text":"Come build with DigitalOcean!","spans":[]},{"type":"paragraph","text":"Looking to migrate your SaaS to DigitalOcean? Leverage free infrastructure credits, robust training, and technical support to ensure a worry-free migration.","spans":[{"start":0,"end":156,"type":"strong"},{"start":0,"end":156,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/migrate/?utmmedium=blog","target":"_blank"}}]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"Raman Sharma","spans":[]},{"type":"paragraph","text":"Vice President, Product & Programs Marketing","spans":[]}],"tags":[{"tag1":{"__typename":"PRISMIC_Tag","tag":"Developer Relations","_linkType":"Link.document","_meta":{"uid":"developer-relations"}}}],"author":{"__typename":"PRISMIC_Author","author_name":"Raman Sharma","author_image":{"dimensions":{"width":512,"height":512},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/497b4b14-d192-493a-8b66-7ae176ba99f3_raman.png?auto=compress,format"},"_meta":{"uid":"raman-sharma"}},"_meta":{"uid":"how-to-scale-your-saas-product-without-breaking-the-bank"}}}}]}}},"pageContext":{"limit":12,"skip":0,"numAuthorPages":1,"currentPage":1,"uid":"john_gannon","data":[{"node":{"author":{"_linkType":"Link.document","author_name":"John Gannon","author_image":{"dimensions":{"width":188,"height":188},"alt":"John Gannon","copyright":null,"url":"https://images.prismic.io/www-static/c168397537fa6de301e8f96c1d3aa74bdd6b8e4b_john_gannon-02f76ff8.png?auto=compress,format"},"_meta":{"uid":"john_gannon"}},"blog_header_image":{"dimensions":{"width":1200,"height":600},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/1526400d-b1cf-4f42-a64c-b4b1ddb2e0a9_Marketplace_blog_header.jpg?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Build powerful WordPress websites without the hassle of database management","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"WordPress is one of the most popular content management system (CMS) solutions and is used by over 40% of the top 10 million websites in the world. ","spans":[{"start":99,"end":146,"type":"hyperlink","data":{"link_type":"Web","url":"https://en.wikipedia.org/wiki/WordPress"}}]},{"type":"paragraph","text":"DigitalOcean users are no different, commonly using WordPress to build their websites. To make it easy for users to get up and running, we provide WordPress 1-Click App in the DigitalOcean Marketplace. The WordPress 1-Click App uses MySQL database to store all the website data like user credentials, posts, comments, etc. Up until now, the onus of maintaining the MySQL database fell on you. But now, managing MySQL in the 1-Click App just got a lot simpler.","spans":[{"start":147,"end":200,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/wordpress"}}]},{"type":"paragraph","text":"We are excited to announce that the WordPress 1-Click App in DigitalOcean Marketplace now integrates with Managed Databases for MySQL. Managed Databases eliminates the worry associated with maintaining your MySQL database. We handle the provisioning, managing, scaling, updates, back ups, and security of your database clusters. This allows you to offload the complex database administration tasks to us and empowers you to focus on building your websites. ","spans":[{"start":36,"end":133,"type":"strong"},{"start":135,"end":152,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/managed-databases-mysql/"}}]},{"type":"embed","oembed":{"height":113,"width":200,"embed_url":"https://www.youtube.com/watch?v=5azO241i1jo","type":"video","version":"1.0","title":"Wordpress in One Click with Managed Databases","author_name":"DigitalOcean","author_url":"https://www.youtube.com/user/DigitalOceanVideos","provider_name":"YouTube","provider_url":"https://www.youtube.com/","cache_age":null,"thumbnail_url":"https://i.ytimg.com/vi/5azO241i1jo/hqdefault.jpg","thumbnail_width":480,"thumbnail_height":360,"html":"<iframe width=\"200\" height=\"113\" src=\"https://www.youtube.com/embed/5azO241i1jo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"}},{"type":"paragraph","text":"You can connect WordPress to Managed MySQL when you create a new 1-Click App. Currently, we do not support connecting existing WordPress instances to Managed MySQL. ","spans":[]},{"type":"paragraph","text":"The pricing for Managed MySQL starts at $15/month. We hope you will try out this new integration between WordPress and Managed MySQL and let us know what you think. ","spans":[{"start":4,"end":49,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/pricing#managed-databases"}}]},{"type":"paragraph","text":"If you’d like to have a conversation about using DigitalOcean in your business, please feel free to contact our sales team.","spans":[{"start":100,"end":122,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/company/contact/sales/"}}]},{"type":"paragraph","text":"Happy coding! ","spans":[]},{"type":"paragraph","text":"John Gannon,","spans":[]},{"type":"paragraph","text":"Principal Product Manager","spans":[]}],"blog_post_date":"2021-04-06","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"_meta":{"uid":"build-powerful-wordpress-websites-without-the-hassle-of-database-management"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"John Gannon","author_image":{"dimensions":{"width":188,"height":188},"alt":"John Gannon","copyright":null,"url":"https://images.prismic.io/www-static/c168397537fa6de301e8f96c1d3aa74bdd6b8e4b_john_gannon-02f76ff8.png?auto=compress,format"},"_meta":{"uid":"john_gannon"}},"blog_header_image":{"dimensions":{"width":1200,"height":600},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/72bd2f14-1db1-4e37-a5a1-8f71e4e1994b_latest-at-do-blog-img.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Latest products and features at DigitalOcean: November 2020 ","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"November was yet another exciting month at DigitalOcean, as we had deploy, our first 24 hour global virtual conference for developers. We announced several new products at the deploy conference, including Storage-Optimized Droplets, General Availability for DigitalOcean Container Registry, and the Deploy to DigitalOcean button. ","spans":[{"start":67,"end":133,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tags/deploy-2020"}},{"start":205,"end":231,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/introducing-storage-optimized-droplets-with-nvme-ssds"}},{"start":233,"end":289,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/container-registry-generally-available"}},{"start":299,"end":328,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/easily-deploy-open-source-apps-with-the-new-deploy-to-digitalocean-button-and-other-app-platform-enhancements"}}]},{"type":"paragraph","text":"Here are the highlights for this month:","spans":[]},{"type":"heading2","text":"Platform as a Service (PaaS)","spans":[{"start":0,"end":28,"type":"strong"}]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"Easily deploy open source apps with the new ‘Deploy to DigitalOcean’ button ","spans":[{"start":0,"end":76,"type":"strong"}]},{"type":"paragraph","text":"We are excited to introduce the ‘Deploy to DigitalOcean’ buttonwhich helps maintainers, contributors, and consumers of open source software save time with app deployment. You no longer have to worry about the mundane, time-consuming tasks of writing instructions for deploying your open source apps. Simply embed this button and associated link in the README.md files in your GitHub repositories, web pages, blogs, etc. – and let us handle the app deployment process. Check out the docsand deploy this sample app to see the button in action. ","spans":[{"start":32,"end":63,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/easily-deploy-open-source-apps-with-the-new-deploy-to-digitalocean-button-and-other-app-platform-enhancements"}},{"start":482,"end":486,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/app-platform/how-to/add-deploy-do-button/"}},{"start":502,"end":512,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/sample-python"}}]},{"type":"embed","oembed":{"type":"video","embed_url":"https://www.youtube.com/watch?v=7CqAbuCj_gg","title":"Deploy to DigitalOcean Button","provider_name":"YouTube","thumbnail_url":"https://i.ytimg.com/vi/7CqAbuCj_gg/hqdefault.jpg","provider_url":"https://www.youtube.com/","author_name":"DigitalOcean","version":"1.0","author_url":"https://www.youtube.com/user/DigitalOceanVideos","thumbnail_width":480,"thumbnail_height":360,"html":"<iframe width=\"480\" height=\"270\" src=\"https://www.youtube.com/embed/7CqAbuCj_gg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>","height":270,"width":480}},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"New features for DigitalOcean App Platform","spans":[{"start":0,"end":42,"type":"strong"}]},{"type":"paragraph","text":"We have made numerous enhancements to App Platform since we launched the product last month: ","spans":[{"start":38,"end":50,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/app-platform/"}}]},{"type":"list-item","text":"Released a jobs feature that allows you to run application code at a scheduled time","spans":[{"start":11,"end":23,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/app-platform/how-to/manage-jobs/"}}]},{"type":"list-item","text":"Support for root domains that make it much easier to transfer your domain to DigitalOcean","spans":[]},{"type":"list-item","text":"Support for wildcard domains so you can map any and all subdomains to your app with a single record ","spans":[]},{"type":"list-item","text":"Improved build caching for all App Platform build environments. Dependencies and other data are now cached and reused between builds to improve performance.","spans":[]},{"type":"list-item","text":"Added support for configuring a catch-all document that can be used by static sites to rewrite all requests to pages that are not found to the configured document ","spans":[]},{"type":"list-item","text":"Added support to services and static sites for configuring an ingress CORS policy","spans":[]},{"type":"list-item","text":"Added an App Platform environment variable binding with the CA certificate for managed databases in the users account","spans":[{"start":22,"end":50,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/app-platform/how-to/use-environment-variables/#using-bindable-variables-within-environment-variables"}}]},{"type":"paragraph","text":"Marketplace updates","spans":[{"start":0,"end":19,"type":"strong"}]},{"type":"paragraph","text":"We launched many preconfigured 1-Click Apps in the DigitalOcean Marketplace to help you save time and remove the hassle of provisioning servers.","spans":[]},{"type":"list-item","text":"CockroachDB - The most highly evolved cloud-native, distributed SQL database on the planet","spans":[{"start":0,"end":11,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/cockroachdb"}}]},{"type":"list-item","text":"Percona Monitoring and Management 2 - Percona Monitoring and Management (PMM) is a single pane of glass to help manage complex database environments in public, private, or on-premises environments","spans":[{"start":0,"end":35,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/percona-monitoring-and-management-2"}}]},{"type":"list-item","text":"Varnish Cache - An open source reverse HTTP proxy that can speed up a website by up to 1000%, by caching (or storing) a copy of a webpage the first time a user visits","spans":[{"start":0,"end":13,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/varnish-cache"}}]},{"type":"list-item","text":"Yacht - A web interface for managing docker containers with an emphasis on templating to provide easy deployments","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/yacht"}}]},{"type":"list-item","text":"OpenLiteSpeed Joomla - An accelerated and enormously scalable hosting platform for Joomla","spans":[{"start":0,"end":20,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/openlitespeed-joomla"}}]},{"type":"list-item","text":"ServerWand - A magical control panel for managing websites and servers","spans":[{"start":0,"end":11,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/serverwand"}}]},{"type":"list-item","text":"OpenCPU - Deploy R based APIs and web applications at scale with ease using the 1-Click OpenCPU app","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/opencpu"}}]},{"type":"list-item","text":"Traccar - An open source GPS tracking platform that supports a wide variety of GPS trackers","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/traccar"}}]},{"type":"list-item","text":"TRASA -A Zero Trust Service Access Platform","spans":[{"start":0,"end":5,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/trasa"}}]},{"type":"heading2","text":"Infrastructure as a Service (IaaS)","spans":[{"start":0,"end":34,"type":"strong"}]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"Introducing Storage-Optimized Droplets with NVMe SSDs","spans":[{"start":0,"end":53,"type":"strong"}]},{"type":"paragraph","text":"We are excited to launch Storage-Optimized Droplets! These Droplets have large amounts of NVMe SSD storage and memory, along with 100% dedicated vCPU. They are ideal for workloads that require a high number of transactions with low latency like extra large NoSQL databases (e.g. MongoDB, Elasticsearch, TimeScaleDB), monitoring software e.g. Prometheus, and other data warehouses.","spans":[{"start":25,"end":51,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/introducing-storage-optimized-droplets-with-nvme-ssds"}}]},{"type":"paragraph","text":"You can now create Storage-Optimized Droplets in AMS3, FRA1, LON1, NYC1, and SFO3 using the control panel, API, or CLI. These are the Storage-Optimized Droplets you can choose from:","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/39e2aada-7d33-4d44-ac8e-662fd2c869ad_storage+optimized+1x+ssd.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":2091,"height":1127}},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"Price cut for Memory-Optimized Droplets","spans":[{"start":0,"end":39,"type":"strong"}]},{"type":"paragraph","text":"Just over a year ago, we introduced Memory-Optimized Droplets. We recommend these VMs for use cases such as in-memory caches and real-time big data processing. With 8GB RAM for each dedicated vCPU (along with regular SSD), Memory-Optimized Droplets give you plenty of RAM to run such memory-intensive applications. We have reduced the prices of Memory-Optimized Droplets by about 11%. Existing Memory-Optimized Droplets will be charged at the lowered price from the month of November on, reflected in the December invoice.","spans":[{"start":36,"end":61,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/introducing-memory-optimized-droplets/"}},{"start":323,"end":383,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/pricing/#memory-optimized-droplets"}}]},{"type":"image","url":"https://images.prismic.io/www-static/52636808-867d-40bf-bc9f-542d015f118b_memory+optimized+droplets+1x+ssd.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":2070,"height":1016}},{"type":"paragraph","text":"Ability to change the default VPC network for a region: You can now change the default VPC network for a region. A Virtual Private Cloud (VPC) is a private network interface for collections of DigitalOcean resources. VPC networks provide a more secure connection between resources because the network is inaccessible from the public internet and other VPC networks. With this update, when you change the default VPC network for a region, the new default network will be automatically selected during applicable resource set ups unless otherwise specified.","spans":[{"start":0,"end":54,"type":"strong"},{"start":68,"end":111,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/networking/vpc/how-to/set-default-vpc/"}}]},{"type":"paragraph","text":"Base images for FreeBSD 12.2 UFS and ZFS: FreeBSD 12.2 UFS and ZFS base images are now available in the control panel and via the API. The image slug for the UFS FreeBSD image freebsd-12-x64 has been replaced with freebsd-12-x64-ufs. We will support 12.1 for three months after the release date of 12.2, which is currently scheduled for January 31, 2021.","spans":[{"start":0,"end":42,"type":"strong"},{"start":42,"end":54,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.freebsd.org/releases/12.2R/announce.html"}}]},{"type":"paragraph","text":"","spans":[]},{"type":"heading2","text":"Cloud native","spans":[{"start":0,"end":12,"type":"strong"}]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"DigitalOcean Container Registry is now in General Availability","spans":[{"start":0,"end":62,"type":"strong"}]},{"type":"paragraph","text":"We’re pleased to share that DigitalOcean Container Registry is now Generally Available. DigitalOcean Container Registry makes it easy to securely store and manage private container images, especially for use with DigitalOcean Kubernetes. Highlights of the release include:","spans":[{"start":28,"end":86,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/container-registry-generally-available"}},{"start":213,"end":236,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/kubernetes/"}}]},{"type":"list-item","text":"Three subscription plans that offer different allowances for repositories, storage, and bandwidth","spans":[{"start":6,"end":24,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/container-registry/#plans-and-pricing"}}]},{"type":"list-item","text":"1-click method to configure DigitalOcean Kubernetes Cluster to use the registry","spans":[{"start":18,"end":79,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/container-registry/how-to/use-registry-docker-kubernetes/#add-secret-control-panel"}}]},{"type":"list-item","text":"Garbage collection using the command line or the API","spans":[{"start":0,"end":18,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/container-registry/how-to/clean-up-container-registry/"}}]},{"type":"list-item","text":"Ability to see the current storage usage in the control panel","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/8cc7a19a-8ec8-40d8-94e1-4ade234864bc_digitalocean+container+registry.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1254,"height":986}},{"type":"paragraph","text":"Firewalls for Kubernetes clusters: On Kubernetes 1.19 and later we now provision two fully-managed firewalls for each new Kubernetes cluster. One firewall manages the connection between worker nodes and master nodes, and the other manages connections between worker nodes and the public internet.","spans":[{"start":0,"end":33,"type":"strong"},{"start":81,"end":140,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/kubernetes/resources/managed/#worker-node-firewalls"}}]},{"type":"paragraph","text":"","spans":[]},{"type":"heading2","text":"Developer experience","spans":[{"start":0,"end":20,"type":"strong"}]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"Doctl updates: We have released four new versions for doctl, the official DigitalOcean CLI:","spans":[{"start":0,"end":13,"type":"strong"},{"start":54,"end":59,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/doctl/"}}]},{"type":"list-item","text":"v1.49.0 - This release includes the ability to update the default VPC for a region, the ability to set an expiration time when downloading kubeconfig files, and more.","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/doctl/releases/tag/v1.49.0"}}]},{"type":"list-item","text":"v1.50.0 -  This release includes new doctl apps sub-commands to retrieve information about App Platform pricing plan tiers, instance sizes, and regions. The doctl registry sub-command now supports managing garbage collection for container registries.","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/doctl/releases/tag/v1.50.0"}}]},{"type":"list-item","text":"v1.51.0 -  This release adds support for managing DigitalOcean Container Registry subscriptions.","spans":[{"start":0,"end":8,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/doctl/releases/tag/v1.51.0"}}]},{"type":"list-item","text":"v1.52.0 -  This release adds a --force-rebuild flag to doctl apps create-deployment.","spans":[{"start":0,"end":8,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/doctl/releases/tag/v1.52.0"}}]},{"type":"paragraph","text":"DigitalOcean Terraform Provider updates: We have released the following versions of DigitalOcean Terraform Provider:","spans":[{"start":0,"end":39,"type":"strong"}]},{"type":"list-item","text":"v2.2.0 -  This release adds a new digitalocean_ssh_keys data source and a digitalocean_custom_image resource.","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/terraform-provider-digitalocean/releases/tag/v2.2.0"}}]},{"type":"list-item","text":"v2.1.0 - DigitalOcean Container Registry is now in general availability and requires a subscription plan. As a result, the digitalocean_container_registry resource now requires setting a subscription_tier_slug which is supported with this release.","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/terraform-provider-digitalocean/releases/tag/v2.1.0"}}]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"You can check out the release notes to get up to date information about product updates, and read about updates from the previous month here. ","spans":[{"start":22,"end":35,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/release-notes/"}},{"start":104,"end":140,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/blog/latest-products-and-features-at-digitalocean-october-2020"}}]},{"type":"paragraph","text":"We hope you’ll give the new products and updates a try. If you have an idea for improving our products or want to vote on other user ideas so they get prioritized, please submit your feedback. And if you have any questions, please feel free to ask them here. ","spans":[{"start":171,"end":191,"type":"hyperlink","data":{"link_type":"Web","url":"https://ideas.digitalocean.com/"}},{"start":244,"end":257,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/questions"}}]},{"type":"paragraph","text":"Until next month, ","spans":[]},{"type":"paragraph","text":"Happy coding!","spans":[]},{"type":"paragraph","text":"","spans":[]},{"type":"paragraph","text":"John Gannon,","spans":[]},{"type":"paragraph","text":"Principal Product Manager","spans":[]}],"blog_post_date":"2020-11-23","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"_meta":{"uid":"latest-products-and-features-at-digitalocean-november-2020"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"John Gannon","author_image":{"dimensions":{"width":188,"height":188},"alt":"John Gannon","copyright":null,"url":"https://images.prismic.io/www-static/c168397537fa6de301e8f96c1d3aa74bdd6b8e4b_john_gannon-02f76ff8.png?auto=compress,format"},"_meta":{"uid":"john_gannon"}},"blog_header_image":{"dimensions":{"width":784,"height":418},"alt":"user-interview-header-img","copyright":null,"url":"https://images.prismic.io/www-static/00442f8c-7ece-446b-be7f-f20c650670c4_conduct-user-interviews-1.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"How to conduct user interviews","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"As product designers and product managers, we spend a lot of time thinking about developers’ needs. We look at the data and analytics on how they’re using the products we build.","spans":[{"start":66,"end":74,"type":"em"}]},{"type":"paragraph","text":"But unless we get out of the building, we’ll never get the full picture of how and why developers use our products.","spans":[{"start":14,"end":37,"type":"hyperlink","data":{"link_type":"Web","url":"https://steveblank.com/2009/03/20/supermac-war-story-2-facts-exist-outside-the-building-opinions-reside-within-%e2%80%93-so-get-the-hell-outside-the-building/"}}]},{"type":"paragraph","text":"Our product and design teams speak with developers every single week. But with DigitalOcean’s rapid growth over the last few years, we realized we need to ensure that the whole company – not only product teams – had a consistent view of developers’ needs and their Jobs to be Done. An analytics console or SQL queries weren't enough: we needed to get in front of developers, face to face.","spans":[{"start":265,"end":280,"type":"hyperlink","data":{"link_type":"Web","url":"https://hbr.org/2016/09/know-your-customers-jobs-to-be-done"}}]},{"type":"paragraph","text":"So, in 2018, the Product Management, Product Design, and Customer Success teams kicked off a formal research effort called the Developer Landscape project to reach this understanding. The goal was twofold:","spans":[{"start":127,"end":154,"type":"strong"}]},{"type":"o-list-item","text":"Deepen our understanding of the needs and “Jobs to be Done” of the developers and teams that use our products, and;","spans":[]},{"type":"o-list-item","text":"Analyze and synthesize what we learn, and communicate that understanding to the rest of the company.","spans":[]},{"type":"paragraph","text":"By accomplishing these two things, we hoped we’d be in a great position in the coming years to give developers products and solutions that help them make their own products and solutions even better.","spans":[]},{"type":"paragraph","text":"Today, we want to share one of the processes we developed as part of the Developer Landscape project. It’s the playbook for how we found users to interview for the project – and how we ran those interviews.","spans":[{"start":178,"end":181,"type":"em"}]},{"type":"heading2","text":"How to find users to interview","spans":[]},{"type":"paragraph","text":"There’s a multibillion-dollar market research industry loaded with for-fee tools, services, and consultancies. But if you’re on a startup budget, don’t worry. There are lots of ways to recruit users for interviews – for little or no cost. Here are a few examples:","spans":[]},{"type":"list-item","text":"People who are conference speakers and panelists are often very interested in connecting with others in the industry (and they often like to talk!). So why not reach out with a nice, personalized email and see if they’ll talk to you?","spans":[{"start":229,"end":232,"type":"em"}]},{"type":"list-item","text":"Press releases from companies in your space (including competitors) can also be a place to source names of people who might be open to becoming research subjects. If your competitor quotes a VP of Engineering in a press release, and you hypothesize that a VP of Engineering is a potential buyer of your product, this person could be a great interview subject.","spans":[]},{"type":"list-item","text":"Reaching out (appropriately) via social media is always a solid option.","spans":[]},{"type":"list-item","text":"You can set up a dedicated page on your site for potential participants to opt in and sign up, just like our Research at DigitalOcean page.","spans":[{"start":105,"end":138,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/research/"}}]},{"type":"paragraph","text":"If your audience is very broad – maybe your product is a social media app or a photo sharing service – and you have a modest research budget available, then tools like UserTesting.com or Lookback.io are easy ways to find participants. Ethn.io is another useful tool for targeting actual site visitors.","spans":[{"start":168,"end":183,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.usertesting.com/"}},{"start":187,"end":198,"type":"hyperlink","data":{"link_type":"Web","url":"https://lookback.io/"}},{"start":235,"end":242,"type":"hyperlink","data":{"link_type":"Web","url":"https://ethn.io/"}}]},{"type":"paragraph","text":"If you’re targeting a hard-to-reach user base – or you’re looking to rapidly ramp up the volume of user interviews you’re doing – recruitment services like respondent.io might be a good choice. We used this service because we needed to conduct a large number of interviews in a short period of time. We found that it worked well when targeting a specialized international audience (like technical-minded software engineers interested in IoT), but not if screening by specific job titles or roles. If you’re mining your customer database, your CRM or LinkedIn might be the best way to find these folks.","spans":[{"start":156,"end":169,"type":"hyperlink","data":{"link_type":"Web","url":"http://respondent.io/"}}]},{"type":"paragraph","text":"What worked best for us? Personal connections and connections of our colleagues ended up making up the bulk of our user interviews. The takeaway is that individual tools and methods are only one part of a larger strategy for recruiting users. Even if you have a research budget, you should still ping friends and colleagues for help to broaden your network of participants.","spans":[]},{"type":"paragraph","text":"No matter how you approach recruiting, you’ll need to screen participants if you haven’t prequalified them. Here are some good tips for writing screeners so you can avoid spending time interviewing people who aren’t really your users.","spans":[{"start":108,"end":153,"type":"hyperlink","data":{"link_type":"Web","url":"https://uxmastery.com/how-to-write-screeners-for-better-ux-research-results/"}}]},{"type":"paragraph","text":"Once you source users, you then need to get prospects to actually agree to your request.","spans":[]},{"type":"paragraph","text":"There’s no one way to do this, but we kept these in mind when writing emails:","spans":[]},{"type":"list-item","text":"Make them feel special! Point out that they’re in a select group. (“You were selected from a list of our top customers.”) Or personalize your outreach. (“Hey, I saw that we went to the same university.”)","spans":[]},{"type":"list-item","text":"Use simple, accessible language and short sentences. Make it easy for them to say “Yes.” This can be as simple as asking the user to reply to your message, or including a link to a scheduling service like Calendly.","spans":[{"start":205,"end":213,"type":"hyperlink","data":{"link_type":"Web","url":"https://calendly.com/"}}]},{"type":"list-item","text":"They’re doing you a solid, so acknowledge that fact. You might also offer them a “thank you” after the interview in the form of cash or a gift. We offer DigitalOcean credits or gift cards – the longer the session, the higher the value.","spans":[]},{"type":"paragraph","text":"If you’re not getting the participants you need, try increasing the types and/or amounts of your incentives to better entice users.","spans":[]},{"type":"heading2","text":"How to prepare for interviews","spans":[]},{"type":"paragraph","text":"You'll have limited time with each user, so careful preparation is essential.","spans":[]},{"type":"paragraph","text":"Before each interview, we made sure the user had everything they needed to connect with us on the big day. We issued a lookback.io link via Google Calendar with a reminder configured. Lookback gave us the ability to record the interview, and let our teammates observe and comment in real time.","spans":[{"start":119,"end":130,"type":"hyperlink","data":{"link_type":"Web","url":"https://lookback.io/"}}]},{"type":"paragraph","text":"At the beginning of the project, we also gave our team access to a short discussion guide we prepared. The guide was stored as a Google Doc, allowing the team to make a copy of the file for each interview and easily add notes.","spans":[]},{"type":"paragraph","text":"Here’s a snippet from our discussion guide:","spans":[]},{"type":"preformatted","text":"Intro  \n* Thanks for joining the call\n* Intros\n* Purpose of call – to understand tools/solutions/processes you team is using so that we can better serve our customers\n* Reminder recording – internal purposes only, not to be shared\n* Reminder DO credit/incentive after filling out the Google form questionnaire\n\nBackground & Current Infra  \n* Company & Role: Tell me about your company and your role. What do you do? Who are your customers?\n* Skill: How did you get to where you are today?\n* How would you describe your current infrastructure? (Scope/State/Scale)\n","spans":[]},{"type":"heading2","text":"How to conduct interviews","spans":[]},{"type":"paragraph","text":"Beginning the call informally in nature can help establish a level of comfort with the user. And if there are remote colleagues sitting in to listen, be sure they remain in a listen-only state to avoid overcrowding your subject. When an interviewee is comfortable, they are far more likely to answer questions about their current challenges with their role, team, and company – openly and honestly. This is what that process looked like for us:\n* We started with warmup questions to help build a rapport and put the users at ease with the process. * We avoided leading questions, and instead focused on open-ended questions to solicit deeper insights than pointed questions would. * We didn’t follow the order of questions verbatim. If the participant started deep diving in a specific area, we went along with them. In some cases, we found that certain questions might not be applicable to an individual. In that case, we skipped the question and moved on.","spans":[]},{"type":"paragraph","text":"At every stage, we were careful to ask questions to get the answers we needed.","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/dcd0275b-00f3-4f2e-8e55-b6395ffdb7d8_conduct-user-interviews-2.jpg?auto=compress,format","alt":"user-interview-img-2","copyright":null,"dimensions":{"width":784,"height":418}},{"type":"heading3","text":"Who are they?","spans":[]},{"type":"paragraph","text":"Again, we started with easy, open-ended questions. We asked them to tell us a little bit about their company and their role. We asked how they ended up in this job at this company. And we asked them to tell us about their users and customers.","spans":[]},{"type":"heading3","text":"What’s their day to day like?","spans":[]},{"type":"paragraph","text":"We wanted to understand what jobs users are typically trying to do, and how they get those jobs done.","spans":[]},{"type":"list-item","text":"What’s your process for getting code from development to production?","spans":[]},{"type":"list-item","text":"What tools or services do you use to do that?","spans":[]},{"type":"list-item","text":"How do you feel about those tools, services, and processes?","spans":[]},{"type":"list-item","text":"Why did you pick those tools and services in the first place?","spans":[]},{"type":"list-item","text":"What was that process like?","spans":[]},{"type":"heading3","text":"What do they do when the going gets tough?","spans":[]},{"type":"paragraph","text":"You can learn a lot about a user by honing in on a difficult situation they’ve faced. By asking them to drill into a specific challenge they’ve recently faced, you can follow up:","spans":[]},{"type":"list-item","text":"Where do you look for solutions?","spans":[]},{"type":"list-item","text":"Whom do you ask for help?","spans":[]},{"type":"list-item","text":"Would you have preferred to select a different solution were it not for some other constraints?","spans":[]},{"type":"list-item","text":"What were you nervous or anxious about as you were selecting or implementing a solution?","spans":[]},{"type":"list-item","text":"How did you feel afterward? How do you currently feel about how things played out?","spans":[]},{"type":"list-item","text":"Are there more incremental improvements you plan to make? Why?","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/ce6f8a74-bae6-40c4-976b-2143433427cc_conduct-user-interviews-3.jpg?auto=compress,format","alt":"user-interview-img-3","copyright":null,"dimensions":{"width":784,"height":418}},{"type":"heading3","text":"What does the world look like when things are going great?","spans":[]},{"type":"paragraph","text":"We learned a lot by asking users to tell us about a tool, solution, or process that worked really well for them. Knowing what excites and makes them happy is important when trying to figure out how to build a product they’ll love. To dive deeper into these happier scenarios, you can use some of the questions from the previous section as well.","spans":[]},{"type":"heading3","text":"Why? (Why? Why?)","spans":[]},{"type":"paragraph","text":"Ask \"Why?\" as a followup question – frequently.","spans":[]},{"type":"list-item","text":"“Why is that important to you?”","spans":[]},{"type":"list-item","text":"“Can you tell me why you think that?”","spans":[]},{"type":"list-item","text":"“Just so I understand, why do you feel this way?”","spans":[]},{"type":"paragraph","text":"Asking \"Why?\" is a great way to demonstrate empathy. And it’s a great opportunity to dig deeper and gain insight into how your ideal user thinks about problems and solutions.","spans":[]},{"type":"paragraph","text":"Close the interview by giving a user a floor for aspiration\nAsk what their dream process or solution would look like if money and resources were no problem.","spans":[]},{"type":"paragraph","text":"And, most importantly, ask if there’s anything else you should know.","spans":[{"start":23,"end":68,"type":"strong"}]},{"type":"paragraph","text":"This is a great final question because it lets the customer share exactly what is on their mind. Maybe there’s something they wished you asked them, or something else they want to share. Either way, you might be surprised by what you learn when you cap off the interview with this open-ended question.","spans":[]},{"type":"heading2","text":"After interviewing","spans":[]},{"type":"paragraph","text":"Send the participant a thank-you followup as soon as possible after the interview, and give them instructions on accessing the incentive you promised. If there was anything you wanted to dive deeper on from the interview, this is a great time to ask.","spans":[]},{"type":"paragraph","text":"We sent a short survey with simple followup questions to each interviewee, along with a note letting them know we’d send their incentive once they completed the survey (which we informed them about prior to the interview).","spans":[]},{"type":"paragraph","text":"Next, share the raw notes from your interview with your team. Don’t worry if they are messy! You might even want to give a tl;dr version in your daily standup.","spans":[]},{"type":"heading2","text":"How to analyze, synthesize, and distribute interview results","spans":[]},{"type":"paragraph","text":"If you’ve run a good user interview process, you’ve completed several interviews, and have notes and recordings from each. Now you need to identify common themes throughout your interviews and synthesize the data into actionable conclusions for your team.","spans":[]},{"type":"paragraph","text":"The synthesis method you choose varies by the type of user research you're running. For instance, if you're running a usability test, a list of observed usability issues and pain points prioritized by severity and frequency will be more helpful and actionable to you than a word cloud.","spans":[]},{"type":"paragraph","text":"To get to the next level, present the insights (along with the customer quotes that contributed to them) in your team or company all-hands meeting. And include those insights in the onboarding materials for new hires. In many cases, it’s not hard to convert the customer’s journey into a single slide that’s easy to understand for both new and tenured team members.","spans":[]},{"type":"heading2","text":"Go forth and research!","spans":[]},{"type":"paragraph","text":"We hope this helps you start your own user research project – or provides a few tools and suggestions you can apply to existing projects.","spans":[]},{"type":"paragraph","text":"If you have questions or would like to share how you’re incorporating user interviews into your product development process, please leave a comment below. We’d love to hear about your user research needs and will try to answer any followup questions you might have.","spans":[]}],"blog_post_date":"2020-01-31","tags":[{"tag1":{"tag":"Design","_linkType":"Link.document","_meta":{"uid":"design"}}}],"_meta":{"uid":"how-to-conduct-user-interviews"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"John Gannon","author_image":{"dimensions":{"width":188,"height":188},"alt":"John Gannon","copyright":null,"url":"https://images.prismic.io/www-static/c168397537fa6de301e8f96c1d3aa74bdd6b8e4b_john_gannon-02f76ff8.png?auto=compress,format"},"_meta":{"uid":"john_gannon"}},"blog_header_image":{"dimensions":{"width":784,"height":418},"alt":"Singapore skyline illustration","copyright":null,"url":"https://images.prismic.io/www-static/98bd78d1be624b651993e370ce45ae9a7de221a7_singapore_spaces_blog_preview.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Spaces Now Available in Singapore (SGP1)","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"We’re excited to announce that Spaces is now available in our Singapore datacenter, giving developers and businesses global reach to affordable and scalable object storage. Since our initial launch in September, Spaces has grown in popularity with both existing and new customers—over one billion objects have been stored in Spaces—and it's no wonder; object storage is critical to delivering web assets, backing up data and even storing mission critical event logs in the cloud. Hosting storage close to your applications and customers will improve their overall experience.","spans":[{"start":31,"end":37,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/introducing-spaces-object-storage/"}},{"start":405,"end":420,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/importance-off-site-backups"}}]},{"type":"paragraph","text":"Here's what some customers have said about Spaces:","spans":[]},{"type":"preformatted","text":"Wow so far so amazing @digitalocean spaces 😍 easy to set up with #nodejs plus the UI is beautiful #happy\n— Codemzy (@codemzy) January 23, 2018","spans":[{"start":22,"end":35,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/digitalocean?ref_src=twsrc%5Etfw"}},{"start":65,"end":72,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/hashtag/nodejs?src=hash&amp;ref_src=twsrc%5Etfw"}},{"start":98,"end":104,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/hashtag/happy?src=hash&amp;ref_src=twsrc%5Etfw"}},{"start":126,"end":142,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/codemzy/status/955804457186586624?ref_src=twsrc%5Etfw"}}]},{"type":"preformatted","text":"Digital Ocean Spaces are actually neat, S3 API included.\n— Vollzeitkänguru (@MacYET) November 22, 2017","spans":[{"start":85,"end":102,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/MacYET/status/933402718844092416?ref_src=twsrc%5Etfw"}}]},{"type":"image","url":"https://images.prismic.io/www-static/7c497abd9df2cd3fc4d4dcbdeb5d0236a73935eb_image--1-.png?auto=compress,format","alt":"comment","copyright":null,"dimensions":{"width":797,"height":116}},{"type":"heading3","text":"What's New and Upcoming with Spaces","spans":[]},{"type":"paragraph","text":"Over the past four months, we’ve expanded into Europe by making Spaces available in AMS3, added CORS support, and an upgraded upload experience to the Control Panel.","spans":[]},{"type":"paragraph","text":"We’re currently working on other features and capabilities which will come out soon, including:","spans":[]},{"type":"list-item","text":"Launching the ability to use a custom domain with a Space and hosting static websites (sign up to take part in the Private Beta for these features),","spans":[{"start":87,"end":127,"type":"hyperlink","data":{"link_type":"Web","url":"http://do.co/2mZ7qWC"}}]},{"type":"list-item","text":"v4 pre-signed URL support, which allows more ecosystem tools and libraries to work with Spaces, and","spans":[]},{"type":"list-item","text":"Lifecycle delete via the API (to schedule deletion of objects).","spans":[{"start":25,"end":28,"type":"hyperlink","data":{"link_type":"Web","url":"https://developers.digitalocean.com/documentation/spaces/"}}]},{"type":"paragraph","text":"Spaces will launch in SFO2 by early Q2 2018, with Frankfurt and London to follow later in the year.","spans":[]},{"type":"heading4","text":"Create a Space in SGP1 today!","spans":[{"start":0,"end":29,"type":"hyperlink","data":{"link_type":"Web","url":"https://cloud.digitalocean.com/spaces/new?regionSlug=sgp1"}}]}],"blog_post_date":"2018-01-25","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"_meta":{"uid":"spaces-available-in-sgp1"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"John Gannon","author_image":{"dimensions":{"width":188,"height":188},"alt":"John Gannon","copyright":null,"url":"https://images.prismic.io/www-static/c168397537fa6de301e8f96c1d3aa74bdd6b8e4b_john_gannon-02f76ff8.png?auto=compress,format"},"_meta":{"uid":"john_gannon"}},"blog_header_image":{"dimensions":{"width":780,"height":416},"alt":"Illustration of night time buildings skyline","copyright":null,"url":"https://images.prismic.io/www-static/b3fb87675b25be6452dc05ffe5a9ba52306f5eb2_screen-shot-2017-11-06-at-3.51.41-pm.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Spaces Object Storage: Now Available in Amsterdam and New York","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Today we’re excited to announce the expansion of DigitalOcean Spaces to Amsterdam (AMS3).  Spaces is a simple, standalone object storage service that enables developers to store and serve any amount of data with automatic scalability, performance, and reliability.  With today’s announcement, Spaces now has locations in New York and Amsterdam, with more regions on the roadmap for early 2018.","spans":[{"start":49,"end":88,"type":"strong"}]},{"type":"paragraph","text":"Object storage has been one of the most requested products that we’ve been asked to  build. When we embarked on developing a scalable storage product that is abstracted from compute resources, we realized we had an opportunity to refactor and improve how developers solve this problem today.","spans":[]},{"type":"heading2","text":"Pricing","spans":[]},{"type":"paragraph","text":"We believe in simplifying our products to enable developers to build great software. To do that, we look at every opportunity to remove friction from the development process including spending less time estimating costs associated with storage, transfer, number of requests, pricing tiers, and regional pricing.","spans":[]},{"type":"paragraph","text":"Spaces is available for a simple $5 per month price and includes 250GB of storage and 1TB of outbound bandwidth. There are no costs per request and additional storage is priced at the lowest rate available: $0.01 per GB transferred and $0.02 per GB stored. Uploads are free.","spans":[{"start":33,"end":45,"type":"strong"},{"start":65,"end":70,"type":"strong"},{"start":86,"end":89,"type":"strong"},{"start":207,"end":219,"type":"strong"},{"start":236,"end":248,"type":"strong"}]},{"type":"paragraph","text":"Spaces provides cost savings of up to 10x along with predictable pricing and no surprises on your monthly bill.","spans":[{"start":16,"end":41,"type":"strong"}]},{"type":"heading2","text":"Scales with Your Data","spans":[]},{"type":"paragraph","text":"Spaces is designed to scale automatically; as your application data grows, you won't need to worry about scaling any storage infrastructure. Although your Space can be configured to be accessed from anywhere, we realize that some customers prefer to keep their data close to their customers or to their own compute nodes.","spans":[]},{"type":"paragraph","text":"To that end, Spaces is available in NYC3 and AMS3. More global regions will follow in early 2018—stay tuned for future updates.","spans":[]},{"type":"heading2","text":"Designed for Developers","spans":[]},{"type":"paragraph","text":"Our goal was to simplify the essential components of object storage into a clean design. We tested several designs with developers to ensure Spaces was easy to use and manage with deployed applications. With Spaces, you can:","spans":[]},{"type":"list-item","text":"Create a Space in two clicks; just give your Space a name and you’re off to the races.","spans":[]},{"type":"list-item","text":"Drag-and-drop uploads and use multi-select capabilities, with more improvements to come.","spans":[]},{"type":"list-item","text":"Quickly change permissions and metadata for one to many files at once. This comes in handy when you’re setting up your application to sit behind a CDN, or applying uniform permissions and metadata across a large number of files.","spans":[]},{"type":"paragraph","text":"You can use your favorite storage management tools and libraries with Spaces. A large ecosystem of S3-compatible tools and libraries can be used to manage your Space. (We’ve published articles about some of these tools on our Community site; find the links in the “Getting Started” section below.)","spans":[{"start":78,"end":165,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-migrate-from-amazon-s3-to-digitalocean-spaces-with-rclone"}}]},{"type":"heading2","text":"Secure, Reliable, and Performant","spans":[]},{"type":"paragraph","text":"Files you store in Spaces are encrypted on physical disks with 256-bit AES-XTS full-disk encryption. In addition, you can encrypt files with your own keys before uploading them to Spaces. You can limit access to Spaces and the files within using your Spaces API key(s) and permissioning.","spans":[]},{"type":"paragraph","text":"Files stored in Spaces are distributed using a fault-tolerant placement technique called erasure coding. Spaces can tolerate multiple host failures without blocking any client I/O or experiencing any data loss.","spans":[{"start":89,"end":103,"type":"hyperlink","data":{"link_type":"Web","url":"http://searchstorage.techtarget.com/definition/erasure-coding"}}]},{"type":"paragraph","text":"Spaces is designed to provide high availability for storing and serving web assets, media, backups, log files, and application data. At DigitalOcean, we use Spaces for a variety of applications including serving of web assets (html, images, js) for cloud.digitalocean.com, and for backups of data critical to our business. During the early access period, thousands of users stored millions of objects and Spaces performed as expected with high throughput.","spans":[]},{"type":"heading2","text":"Getting Started","spans":[]},{"type":"paragraph","text":"Join the hundreds of thousands of customers who already set up a Space since we’ve launched. Find out more about how your application could use Spaces for cost effective and scalable object storage by reading these articles and tutorials:","spans":[]},{"type":"heading4","text":"Overview","spans":[]},{"type":"list-item","text":"Object Storage vs. Block Storage","spans":[{"start":0,"end":32,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/object-storage-vs-block-storage-services"}}]},{"type":"list-item","text":"An Introduction to DigitalOcean Spaces","spans":[{"start":0,"end":38,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces"}}]},{"type":"heading4","text":"API Documentation","spans":[]},{"type":"list-item","text":"DigitalOcean Spaces API","spans":[{"start":0,"end":23,"type":"hyperlink","data":{"link_type":"Web","url":"https://developers.digitalocean.com/documentation/spaces/"}}]},{"type":"heading4","text":"Migrating","spans":[]},{"type":"list-item","text":"How to Migrate from Amazon S3 to DigitalOcean Spaces with rclone","spans":[{"start":0,"end":64,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-migrate-from-amazon-s3-to-digitalocean-spaces-with-rclone"}}]},{"type":"heading4","text":"Command-Line Clients","spans":[]},{"type":"list-item","text":"How To Configure s3cmd 2.x To Manage DigitalOcean Spaces","spans":[{"start":0,"end":56,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-configure-s3cmd-2-x-to-manage-digitalocean-spaces"}}]},{"type":"list-item","text":"How to Manage DigitalOcean Spaces with s3cmd: A Cheat Sheet","spans":[{"start":0,"end":59,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-manage-digitalocean-spaces-with-s3cmd"}}]},{"type":"heading4","text":"GUI Clients","spans":[]},{"type":"list-item","text":"How To Manage DigitalOcean Spaces with Transmit 4","spans":[{"start":0,"end":49,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-manage-digitalocean-spaces-with-transmit-4"}}]},{"type":"list-item","text":"How To Manage DigitalOcean Spaces with Cyberduck 6.2.x","spans":[{"start":0,"end":54,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-manage-digitalocean-spaces-with-cyberduck"}}]},{"type":"paragraph","text":"We’ll be adding new features and regions over the coming months and look forward to hearing your feedback!","spans":[]}],"blog_post_date":"2017-11-08","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"_meta":{"uid":"introducing-spaces-object-storage"}}}]}}}