{"componentChunkName":"component---src-templates-blog-list-jsx","path":"/blog/9/","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":96,"numPages":33,"currentPage":9,"data":[{"node":{"author":{"_linkType":"Link.document","author_name":"DigitalOcean","author_image":{"dimensions":{"width":600,"height":600},"alt":"Sammy avatar","copyright":null,"url":"https://images.prismic.io/www-static/a10e3c2eb15b74ee43f872be3044313423b1c9a9_sammy_avatar.png?auto=compress,format"},"_meta":{"uid":"digitalocean"}},"blog_header_image":null,"blog_headline":[{"type":"heading1","text":"Meet Microweber: Open source, drag & drop website builder for ecommerce entrepreneurs","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"This is a guest post from Boris Sokolov and Peter Ivanov, cofounders of Microweber. Microweber is featured as a 1-Click App on the DigitalOcean Marketplace.","spans":[{"start":0,"end":156,"type":"em"},{"start":112,"end":123,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/microweber"}},{"start":131,"end":155,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/"}}]},{"type":"paragraph","text":"If you're looking to launch an ecommerce venture, you probably have lots of questions. Is it going to be too complicated? Take too much time? Need too many plugins and add-ons?","spans":[]},{"type":"paragraph","text":"That’s why we created Microweber. It's an open source, drag-and-drop website builder specifically tailored to address the needs of ecommerce entrepreneurs.","spans":[]},{"type":"heading2","text":"Why we built Microweber","spans":[]},{"type":"paragraph","text":"We noticed that most existing website builders and CMS platforms felt clunky and lacked simple drag-and-drop capabilities. Meanwhile, platforms that did use drag-and-drop tended to lock users into their ecosystem, were expensive, and didn't offer a built-in online store function.","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/5ca697bc-90d3-4510-862b-74aac095f84b_image1.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":948,"height":969}},{"type":"paragraph","text":"We saw an enormous opportunity to create an all-in-one platform for setting up websites and online stores. We wanted it to be so dead simple that anyone without any web experience could launch an ecommerce business in a matter of minutes.","spans":[]},{"type":"heading2","text":"Making it simple – even for beginners","spans":[]},{"type":"paragraph","text":"To make things easier for you, Microweber runs on a smooth technological duo: our Drag and Drop and special Live Edit features, which fit perfectly into our modular architecture.","spans":[]},{"type":"paragraph","text":"Drag and drop means that you can use your mouse to drag any element or module – text fields, images, videos, layouts, you name it. This makes arranging or rearranging anything from blog posts to e-commerce catalogs easy and intuitive.","spans":[]},{"type":"paragraph","text":"Pairing this functionality with Live Edit mode makes it particularly powerful. With Live Edit, you can work live on your page. No pop-ups, no infuriating navigation or inter-page loading times. Take a look at how it works:","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/a978f2fd-c037-4adc-b661-ad17a1c16e3e_mwcreate.gif?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":774,"height":477}},{"type":"paragraph","text":"Even users who consider themselves bad with technology find Microbrewer intuitive to use.","spans":[]},{"type":"heading2","text":"Building in a rich online store","spans":[]},{"type":"paragraph","text":"Building an online storefront can be taxing. Existing platforms either require external plugins or charge you a flat fee plus additional transaction fees for using their online store functions.","spans":[]},{"type":"paragraph","text":"We didn't think that was fair. So we decided to give Microweber a built-in online store that doesn't cost you anything extra.","spans":[]},{"type":"paragraph","text":"To make it easier, we have included various e-commerce features such as:","spans":[{"start":44,"end":63,"type":"hyperlink","data":{"link_type":"Web","url":"https://microweber.org/e-commerce"}}]},{"type":"list-item","text":"Multiple payment methods accepted (Paypal, Stripe, Authorize.net, Payza etc.)","spans":[]},{"type":"list-item","text":"Management and tracking of orders inside Microweber","spans":[]},{"type":"list-item","text":"Automated emails after customer purchases","spans":[]},{"type":"list-item","text":"A variety of shipping options","spans":[]},{"type":"list-item","text":"Custom product fields – sizes, colors, prices, and numbers, among others","spans":[]},{"type":"list-item","text":"Social network linking","spans":[]},{"type":"list-item","text":"Currency options and setting your taxes as a merchant","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/ef7ad84a-0d1d-47cf-bf01-ad1d0ae1c8f3_image2.jpg?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1141,"height":768}},{"type":"paragraph","text":"Everything's inside Microweber, so you don't need to deal with external plugins or suffer from additional costs when you're bootstrapping.","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/b8a9492d-ba5d-4767-bcb7-83f5e034bf5d_image5.jpg?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1139,"height":938}},{"type":"heading2","text":"Open-source and self-hosted: because privacy, flexibility and security matter","spans":[]},{"type":"paragraph","text":"As the Open Source Initiative notes, open source equals reliability. With open source you benefit from a whole community rigorously testing your software for bugs, vulnerabilities, or anything else that might affect the platform. Microweber has always been open source, and our own community is constantly on the watch to give us their input. The CMS has more than 50,000 downloads and installations around the world.","spans":[{"start":230,"end":268,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/microweber/microweber"}}]},{"type":"paragraph","text":"Microweber is also self-hosted. You can use us as your hosting provider, but you're also free to use any other provider on the Web. We don't lock you in, because we believe that you deserve choice and flexibility when it comes to installations.","spans":[]},{"type":"paragraph","text":"We are also proud to be part of the DigitalOcean Marketplace! You can find us in the Blogs and Forums category, or try out our app with just one click.","spans":[{"start":36,"end":60,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/"}},{"start":85,"end":110,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/category/blogs-and-forums"}},{"start":115,"end":150,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/microweber"}}]},{"type":"heading2","text":"What about the templates?","spans":[]},{"type":"paragraph","text":"Let's be honest: functionality alone doesn't cut it. You want beautiful customization at your fingertips. In a competitive environment, appealing templates play a big role in capturing your customers' attention.","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/3d6b81c6-79a2-4236-863d-c32d66d8de74_image4.jpg?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1363,"height":1015}},{"type":"paragraph","text":"We've got good news – although we offer free and paid (premium) templates, as a DigitalOcean customer you gain free access to all templates!","spans":[]},{"type":"paragraph","text":"Stay tuned, because we are continually adding to our template portfolio, tailoring it to the needs of ecommerce entrepreneurs.","spans":[]},{"type":"paragraph","text":"We hope this was a useful introduction to what Microweber can do for you! We'd be thrilled if you give our CMS a try and share your feedback with us.","spans":[{"start":121,"end":148,"type":"hyperlink","data":{"link_type":"Web","url":"https://microweber.com/contact-us"}}]}],"blog_post_date":"2019-11-08","tags":[{"tag1":{"tag":"Marketplace","_linkType":"Link.document","_meta":{"uid":"marketplace"}}}],"_meta":{"uid":"meet-microweber"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Jamon Camisso","author_image":{"dimensions":{"width":512,"height":512},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/8269b2a0-30d3-44c4-be2b-c6bc9307a671_jamon.jpeg?auto=compress,format"},"_meta":{"uid":"jamon_camisso"}},"blog_header_image":{"dimensions":{"width":1200,"height":628},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/bd5f2a4c-71ff-45bc-b0be-560210369fe3_MLH_Header_PR.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"App Deployment & Security with DigitalOcean & Major League Hacking","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Self-sufficiency. Participation. Collaboration. On their own, these terms may seem simple. But when used together, they become something more. These core values are the principles of digital inclusion that promote technical literacy and empower developers to build software that can change the world.","spans":[{"start":169,"end":200,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalinclusion.org/definitions/"}}]},{"type":"paragraph","text":"Whether it’s in a classroom, at home, at work, or with friends, learning about technology with a supportive community is not only engaging and interesting, it can be highly rewarding. That’s why we are very excited to announce our new partnership with MLH Localhost – a program that helps students self-organize, while teaching them how to lead workshops with their peers on a variety of technical topics that will help them level-up professionally.","spans":[{"start":252,"end":265,"type":"hyperlink","data":{"link_type":"Web","url":"https://localhost.mlh.io/"}}]},{"type":"paragraph","text":"We’ve worked closely with MLH to design a two-hour workshop called App Deployment & Security with DigitalOcean that covers the fundamentals of DevOps, as well as how to run apps and code on a DigitalOcean Droplet. After all, if you’re at a hackathon and build something that only runs locally, how can you encourage others to try it, provide feedback, and collaborate with you?","spans":[{"start":67,"end":110,"type":"hyperlink","data":{"link_type":"Web","url":"https://localhost.mlh.io/activities/digitalocean/"}}]},{"type":"heading2","text":"The Challenge & Lessons: Using Technology to Clean Up Polluted Beaches","spans":[]},{"type":"paragraph","text":"Workshop hosts and participants will collaborate and deploy a sample application that helps find beach cleanup days in a given area. By deploying the app, participants will learn how to:","spans":[]},{"type":"list-item","text":"Create a DigitalOcean Droplet (a virtual server) to host an application","spans":[]},{"type":"list-item","text":"Install Node.js and npm remotely on a Droplet","spans":[]},{"type":"list-item","text":"Deploy an app to a Droplet using Git","spans":[]},{"type":"list-item","text":"Restrict access to an app using a firewall","spans":[]},{"type":"list-item","text":"Monitor application health and create alerts for app downtime","spans":[]},{"type":"list-item","text":"Set up load balancing to ensure app availability and help with scaling","spans":[]},{"type":"paragraph","text":"By the end of the workshop, attendees will be familiar with fundamental DevOps principles, and will know how to create, monitor, and deploy highly available servers to host their hackathon apps. Students who are new to DigitalOcean will also receive a $50 credit to keep their app running (or to build something new on their own Droplets).","spans":[]},{"type":"paragraph","text":"We are really looking forward to hearing about the amazing things that participants and organizers will create after the workshop. We hope you’ll organize or join an MLH Localhost workshop in your area.","spans":[]},{"type":"heading2","text":"Ready to host a workshop of your own?","spans":[]},{"type":"paragraph","text":"Visit the DigitalOcean MLH page and fill out the pre-registration form. An MLH Localhost representative will contact you with presentation material and send you assorted stickers and swag from Major League Hacking for your event.","spans":[{"start":0,"end":31,"type":"hyperlink","data":{"link_type":"Web","url":"https://localhost.mlh.io/activities/digitalocean/"}}]},{"type":"paragraph","text":"You can register for the workshop here, and share a link to your app or code repo with us on Instagram or Twitter!","spans":[{"start":34,"end":38,"type":"hyperlink","data":{"link_type":"Web","url":"https://localhost.mlh.io/activities/digitalocean/"}},{"start":93,"end":102,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.instagram.com/thedigitalocean/"}},{"start":106,"end":113,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/digitalocean"}}]}],"blog_post_date":"2019-11-07","tags":[{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}}],"_meta":{"uid":"digitalocean-partners-with-major-league-hacking"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Karan Chhina","author_image":{"dimensions":{"width":554,"height":550},"alt":"Karan Chhina","copyright":null,"url":"https://images.prismic.io/www-static/b43a85223ca42f817f454615a86497acf668d7c3_karan.png?auto=compress,format"},"_meta":{"uid":"karan_chhina"}},"blog_header_image":{"dimensions":{"width":1800,"height":960},"alt":"Memory-Optimized Droplets","copyright":null,"url":"https://images.prismic.io/www-static/e5aa9a9b-d618-463a-94d7-b64ede76be1b_Droplet_Social_Blog_Email.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Memory-Optimized Droplets are Now Generally Available","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"This past September we introduced Memory-Optimized Droplets, which feature a generous 8GB of RAM for each dedicated vCPU. Memory-Optimized Droplets are best for memory-intensive applications, like high-performance SQL or NoSQL databases, large in-memory caches and indexes, real-time big data processing, and applications with large JVM requirements.","spans":[{"start":0,"end":59,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/introducing-memory-optimized-droplets/"}}]},{"type":"paragraph","text":"Memory-Optimized Droplets are production ready, and so today we’re making them Generally Available in the following data centers: New York (NYC1, NYC3), San Francisco (SFO2), and Amsterdam (AMS3). We expect to add these Droplet types in Singapore (SGP1) over the next few weeks, and other data centers in the coming months.","spans":[]},{"type":"heading2","text":"Choosing the Right Type of Droplet","spans":[]},{"type":"paragraph","text":"The sort of machine you use to run your app can have a significant effect on your app’s performance. That’s why, over the past few years, we’ve introduced General Purpose, CPU-Optimized, and Memory-Optimized Droplets, in addition to our first offering, the Standard Droplet.","spans":[]},{"type":"paragraph","text":"Droplets are now a great fit for nearly all kinds of business or personal applications. The chart below can help you make an informed decision about which type to use and when. In short, a dedicated CPU ensures fast, consistent performance. And if your app skews toward being more RAM-hungry than it is CPU-intensive, go with a Memory-Optimized Droplet.","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/818ea1b5-4e4c-4b8e-a132-3261f696b2ed_choosing-right-type-of-droplet.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1197,"height":669}},{"type":"paragraph","text":"\n For more detailed guidance, check out our documentation regarding choosing the right type of Droplet.","spans":[{"start":44,"end":102,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/droplets/resources/choose-plan/"}}]},{"type":"paragraph","text":"Memory-Optimized Droplets are available in the following configurations:\n","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/514b9b39-2514-4a3b-aab6-02f33db97963_image--2-.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":732,"height":546}},{"type":"paragraph","text":"You can also check out the pricing page for more details.","spans":[{"start":27,"end":39,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/pricing/#memory-optimized-droplets-pricing-table"}}]},{"type":"heading2","text":"Try Memory-Optimized Droplets today","spans":[]},{"type":"paragraph","text":"You can spin up Memory-Optimized Droplets just like any other Droplet type – simply sign into your account and click \"Create\" or programmatically provision them via our API or CLI.","spans":[{"start":77,"end":125,"type":"hyperlink","data":{"link_type":"Web","url":"https://cloud.digitalocean.com/droplets/new"}},{"start":169,"end":172,"type":"hyperlink","data":{"link_type":"Web","url":"https://developers.digitalocean.com/documentation/v2/#create-a-new-droplet"}},{"start":176,"end":179,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/doctl"}}]},{"type":"paragraph","text":"If you’d like to speak with someone who can advise you regarding the use of Memory-Optimized Droplets and other DigitalOcean products, we invite you to contact our sales team.","spans":[]},{"type":"paragraph","text":"Happy coding!\nKaran Chhina\nSenior Product Manager, Compute","spans":[]}],"blog_post_date":"2019-10-30","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"_meta":{"uid":"memory-optimized-droplets-generally-available"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Antonio Rosales","author_image":null,"_meta":{"uid":"antonio_rosales"}},"blog_header_image":{"dimensions":{"width":1200,"height":628},"alt":"Marketplace","copyright":null,"url":"https://images.prismic.io/www-static/ac7642d1-0418-4949-a43e-8ba84d3b6cbe_Kubernetes_Marketplace_Header_PR.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"How we launched our Marketplace using DigitalOcean Kubernetes – Part 1","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"The mission of the DigitalOcean Marketplace team is to provide a platform to distill operational knowledge into sharable and repeatable software through community collaboration. We work together with DigitalOcean users and vendors to identify solutions, whether they’re single or multiple pieces of software, and encode best practices into single-click software easily deployable on a Droplets or Kubernetes infrastructure. Ultimately, we want to enable DigitalOcean users to focus 100% of their energy on developing, iterating, and perfecting their project.","spans":[{"start":19,"end":43,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/"}},{"start":385,"end":393,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/droplets/"}},{"start":397,"end":407,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/kubernetes/"}}]},{"type":"paragraph","text":"This post is the first in a multipart series describing how the DigitalOcean team built marketplace.digitalocean.com on DigitalOcean Kubernetes. If you have questions or ideas, we’d love to continue the conversation with you about deploying and operating resilient, scalable Kubernetes-based architectures on DigitalOcean Community Questions.","spans":[{"start":306,"end":341,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/questions/thoughts-on-deploying-and-operating-resilient-scalable-kubernetes-based-architectures"}}]},{"type":"heading2","text":"The three core components of Marketplace","spans":[]},{"type":"paragraph","text":"The design of the Marketplace platform needed to be performant, globally available, resilient, and scalable to user demand and growth of Marketplace platform features. To meet the latency and availability requirements of our global user base, we selected three main infrastructure components:","spans":[]},{"type":"o-list-item","text":"DigitalOcean Kubernetes for the core infrastructure","spans":[{"start":0,"end":23,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/kubernetes/"}}]},{"type":"o-list-item","text":"OpenChannel for the catalog API and data warehouse","spans":[{"start":0,"end":11,"type":"hyperlink","data":{"link_type":"Web","url":"https://openchannel.io/"}}]},{"type":"o-list-item","text":"Cloudflare for CDN and load-balancing","spans":[{"start":0,"end":10,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.cloudflare.com/"}}]},{"type":"paragraph","text":"We deploy production and staging for Kubernetes clusters in DigitalOcean’s regional data centers located in:","spans":[{"start":60,"end":96,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/platform/availability-matrix/"}}]},{"type":"list-item","text":"San Francisco, United States","spans":[]},{"type":"list-item","text":"New York City, United States","spans":[]},{"type":"list-item","text":"Frankfurt, Germany","spans":[]},{"type":"list-item","text":"Bangalore, India","spans":[]},{"type":"list-item","text":"Singapore","spans":[]},{"type":"paragraph","text":"We then configure Cloudflare to determine which Kubernetes cluster has the lowest latency from the user’s perspective. Thus, when a user goes to marketplace.digitalocean.com, the Kubernetes cluster with the least amount of latency is selected to deliver the Marketplace catalog, increasing performance. This configuration also improves availability as unhealthy Kubernetes clusters are removed from the Cloudflare load balancer and Marketplace traffic continues to be served from the next most performant Kubernetes cluster. This configuration is represented in the following figure.","spans":[{"start":145,"end":173,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/"}}]},{"type":"image","url":"https://images.prismic.io/www-static/0cdf15cc-300b-409f-b456-bb3b654d4741_image2-1.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1238,"height":812}},{"type":"heading2","text":"The benefits of GitOps workflows","spans":[]},{"type":"paragraph","text":"We configure and deploy each Kubernetes cluster in an identical fashion in each region. Our Kubernetes deployment and service config is kept in GitHub in an effort to manage our Kubernetes deployment and operations through Git. This gives us multiple benefits, such as:","spans":[]},{"type":"o-list-item","text":"Safe upgrades: With this GitOps approach, we can redeploy clusters when we need to upgrade. If a cluster or service upgrade needs to be performed, we bring up a new staging cluster and verify operations through integration tests. If that goes well, we bring up a new cluster in a canary deploy fashion and run another integration test to confirm expected behavior. Once we are confident, we move the DNS mapping to the new cluster IP address and roll out the new clusters to all of the other regions.","spans":[{"start":0,"end":13,"type":"strong"},{"start":25,"end":31,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/webinar-series-gitops-tool-sets-on-kubernetes-with-circleci-and-argo-cd"}},{"start":280,"end":293,"type":"hyperlink","data":{"link_type":"Web","url":"https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#canary-deployments"}}]},{"type":"o-list-item","text":"Repeatable environment: Development, staging, and production clusters are able to be repeatedly deployed, mirroring production with minimal effort by the developer for testing new features, learning, or bug fixes.","spans":[{"start":0,"end":22,"type":"strong"}]},{"type":"o-list-item","text":"Rollbacks: If we ever have an issue with a new deployment we can revert a commit and return back to a viable operating state.","spans":[{"start":0,"end":9,"type":"strong"}]},{"type":"o-list-item","text":"Automation: Git provides a central place with intuitive tools and process to initiate automated unit testing, integration, and deployments.","spans":[{"start":0,"end":10,"type":"strong"}]},{"type":"o-list-item","text":"Central source of truth and transparency: With staging and production clusters running globally in five regions, and numerous development clusters, the central truth is always the master branch. This also provides transparency to other teams, and new team members can simply examine the source while they are onboarding without affecting production environments.","spans":[{"start":0,"end":40,"type":"strong"}]},{"type":"heading2","text":"What’s on our clusters","spans":[]},{"type":"paragraph","text":"Our Kubernetes clusters run a variety of open source packages, including:","spans":[]},{"type":"list-item","text":"Prometheus (metrics)","spans":[{"start":0,"end":10,"type":"hyperlink","data":{"link_type":"Web","url":"https://prometheus.io/"}}]},{"type":"list-item","text":"FluentD (logging)","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.fluentd.org/"}}]},{"type":"list-item","text":"Fluent Bit (logging)","spans":[{"start":0,"end":10,"type":"hyperlink","data":{"link_type":"Web","url":"https://fluentbit.io/"}}]},{"type":"list-item","text":"Nginx (ingress and OpenChannel Proxy)","spans":[{"start":0,"end":5,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.nginx.com/"}},{"start":7,"end":14,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/kubernetes/ingress-nginx"}}]},{"type":"list-item","text":"Apollo, GraphQL, Node (front end)","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.apollographql.com/"}},{"start":8,"end":15,"type":"hyperlink","data":{"link_type":"Web","url":"https://graphql.org/"}},{"start":17,"end":21,"type":"hyperlink","data":{"link_type":"Web","url":"https://nodejs.org/en/"}}]},{"type":"list-item","text":"cert-manager and Let’s Encrypt (certification management)","spans":[{"start":0,"end":12,"type":"hyperlink","data":{"link_type":"Web","url":"https://docs.cert-manager.io/en/latest/"}},{"start":17,"end":30,"type":"hyperlink","data":{"link_type":"Web","url":"https://letsencrypt.org/"}}]},{"type":"image","url":"https://images.prismic.io/www-static/a6b5eaa8-4f36-44a8-b298-7a558f4499e6_image1-2.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1999,"height":1478}},{"type":"paragraph","text":"In support of the clusters we run/utilize the following services outside of the cluster:","spans":[]},{"type":"list-item","text":"Grafana and Runscope (monitoring)","spans":[{"start":0,"end":7,"type":"hyperlink","data":{"link_type":"Web","url":"https://grafana.com/"}},{"start":12,"end":20,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.runscope.com/"}}]},{"type":"list-item","text":"Docker Hub (image repositories)","spans":[{"start":0,"end":10,"type":"hyperlink","data":{"link_type":"Web","url":"https://hub.docker.com/"}}]},{"type":"list-item","text":"Kustomize (templating config and passing environmental variables to deploys)","spans":[{"start":0,"end":9,"type":"hyperlink","data":{"link_type":"Web","url":"https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/"}}]},{"type":"list-item","text":"GitHub (code hosting)","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/"}}]},{"type":"list-item","text":"Kibana (log aggregation, viewing, and searching)","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.elastic.co/products/kibana"}}]},{"type":"list-item","text":"DigitalOcean Spaces for Marketplace assets (graphics for front end)","spans":[{"start":0,"end":19,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/spaces/"}}]},{"type":"list-item","text":"Shipit (automated deploys to staging and production from Git commits)","spans":[{"start":0,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/Shopify/shipit-engine"}}]},{"type":"list-item","text":"Codefresh (automated unit and integration testing on Git commits)","spans":[{"start":0,"end":9,"type":"hyperlink","data":{"link_type":"Web","url":"https://codefresh.io/"}}]},{"type":"heading2","text":"What’s next","spans":[]},{"type":"paragraph","text":"There is a lot to unpack here in terms of how we configure and operate the various pieces of our DigitalOcean Kubernetes-based environment.","spans":[]},{"type":"paragraph","text":"You may be asking:","spans":[]},{"type":"list-item","text":"How do we use Kustomize to pass environment variables?","spans":[]},{"type":"list-item","text":"How is Cloudflare configured to do global load balancing across multiple DigitalOcean Kubernetes clusters?","spans":[]},{"type":"list-item","text":"How does Codefresh enable speedy and accurate automated integration tests?","spans":[]},{"type":"list-item","text":"How are secrets managed?","spans":[]},{"type":"paragraph","text":"We will be addressing each of these topics in the next articles where we’ll cover those questions, as well as questions about:","spans":[]},{"type":"list-item","text":"Deployment and GitOps workflows","spans":[]},{"type":"list-item","text":"Metrics and logging","spans":[]},{"type":"list-item","text":"Automated unit and integration testing","spans":[]},{"type":"list-item","text":"Multi-region and Cloudflare set up","spans":[]},{"type":"paragraph","text":"As we learn from our deployments, we are also working to distill our operational knowledge for our monitoring infrastructure in the DigitalOcean Kubernetes 1-Click Monitoring Stack. Give it a try and let us know what you think.","spans":[{"start":132,"end":180,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/kubernetes-monitoring-stack"}},{"start":212,"end":226,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/marketplace-kubernetes/issues"}}]},{"type":"paragraph","text":"And please let us know what area you would like to see in the next blog post, or ask us a question here.","spans":[{"start":81,"end":103,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/questions/thoughts-on-deploying-and-operating-resilient-scalable-kubernetes-based-architectures"}}]}],"blog_post_date":"2019-10-25","tags":[{"tag1":{"tag":"Marketplace","_linkType":"Link.document","_meta":{"uid":"marketplace"}}}],"_meta":{"uid":"how-we-launched-our-marketplace-using-digitalocean-kubernetes-part-1"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Hollie Haggans","author_image":{"dimensions":{"width":400,"height":400},"alt":"Hollie Haggans","copyright":null,"url":"https://images.prismic.io/www-static/7793109e3fed5f875dc50b8866c8e631bd51d5b5_0bfbced-1.jpg?auto=compress,format"},"_meta":{"uid":"hollie_haggans"}},"blog_header_image":{"dimensions":{"width":1000,"height":591},"alt":"Line graphic with the words 'The Spin Up' inside of an illustration of a record on a record player","copyright":null,"url":"https://images.prismic.io/www-static%2F8d25737a-0a16-4131-9525-54d114ce663f_spinup_2--1-.gif?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Meet the Spin Up, a Student Program for Tomorrow’s Technologists","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"DigitalOcean has always been committed to giving back to our developer community, and today we’re excited to announce an educational initiative to support inclusion in technology. In partnership with a16z’s Cultural Leadership Fund, we’ve built the Spin Up: an educational program aimed at supporting the next generation of developers and entrepreneurs. The Spin Up program introduces students to cloud computing and software development through a series of hands-on workshops.","spans":[{"start":207,"end":231,"type":"hyperlink","data":{"link_type":"Web","url":"https://a16z.com/2018/08/22/introducing-the-cultural-leadership-fund/"}},{"start":245,"end":256,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/the-spin-up/"}}]},{"type":"paragraph","text":"Over the summer, we launched our program in private beta with SocialWorks, a Chicago-based nonprofit established by Chance the Rapper. Local students learned about the cloud, built and deployed part of a web app, and explored ComplexCon with our team.","spans":[{"start":62,"end":73,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.socialworkschi.org/"}}]},{"type":"paragraph","text":"The Spin Up will focus on expanding opportunities for historically underrepresented communities in the technology industry. Because we believe that technology should serve all communities, we’re stepping up to make sure more people know how to participate in the software development process.","spans":[]},{"type":"paragraph","text":"We’re planning on scaling up the Spin Up in the next few months. If you work for a nonprofit, an educational institution, or a technology company that would be interested in partnering with us to bring the Spin Up to your community, drop us a line through this form. If you are interested in hearing more, sign up to learn what’s happening next!","spans":[{"start":256,"end":265,"type":"hyperlink","data":{"link_type":"Web","url":"https://sammydigitalocean.typeform.com/to/dEl346"}},{"start":306,"end":313,"type":"hyperlink","data":{"link_type":"Web","url":"https://sammydigitalocean.typeform.com/to/ccNuUR"}}]}],"blog_post_date":"2019-10-10","tags":[],"_meta":{"uid":"meet-the-spin-up"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Phil Dougherty","author_image":{"dimensions":{"width":573,"height":557},"alt":"Phil Dougherty","copyright":null,"url":"https://images.prismic.io/www-static/ef89c36114b5e1872e8de0b79eb679b9be5b3765_phil.png?auto=compress,format"},"_meta":{"uid":"phil_dougherty"}},"blog_header_image":{"dimensions":{"width":1200,"height":640},"alt":"Kubernetes illustration","copyright":null,"url":"https://images.prismic.io/www-static/2eab4b7f7d2151828cb671bca7a9fb03d683b7cc_image7.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"New on DigitalOcean Kubernetes: Fresh Features & 1-Click Apps","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"It’s our privilege to help you run your containerized apps with DigitalOcean Kubernetes, and we’re always eager to hear your feedback about the product. To that end, we thought we’d provide an update on some of our projects that address common customer comments.","spans":[{"start":64,"end":87,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/kubernetes/"}}]},{"type":"paragraph","text":"As of today, DigitalOcean Kubernetes, which we affectionally call \"DOKS,\" now supports cluster autoscaling, tokenized authentication, minor version upgrades, and the latest Kubernetes release (version 1.15). In addition, you can now install the first Kubernetes 1-Click Apps from the DigitalOcean Marketplace.","spans":[{"start":251,"end":274,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/category/kubernetes"}},{"start":284,"end":308,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/"}}]},{"type":"heading2","text":"Automatically scale your cluster to ensure fast performance while controlling costs","spans":[]},{"type":"paragraph","text":"It’s common to use Kubernetes to run your app as a collection of loosely coupled services, with each service being scalable independently of others. Each service typically corresponds to a pool of identically sized nodes (Droplets on DOKS), with each node executing an instance of the same containerized service. One challenge, then, becomes provisioning and deprovisioning nodes so that you have an appropriate number – enough that your service runs quickly, but not so many that you’re wasting lots of money.","spans":[]},{"type":"paragraph","text":"That’s why we’ve enhanced DOKS to support automatic horizontal scaling based on CPU and memory usage triggers. When you enable autoscaling, DOKS continuously monitors CPU and memory usage within your node pools. The service then automatically adds nodes when your application requires more resources. DOKS will, conversely, deactivate nodes when your application’s load declines, saving you money.","spans":[{"start":120,"end":138,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/kubernetes/how-to/configure-autoscaling/"}}]},{"type":"paragraph","text":"At present, you can enable autoscaling through the CLI and API. The UI is coming soon.","spans":[{"start":20,"end":38,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/kubernetes/how-to/configure-autoscaling/"}},{"start":51,"end":54,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/tools-and-integrations/#tools-and-integrations-cli/"}},{"start":59,"end":62,"type":"hyperlink","data":{"link_type":"Web","url":"https://developers.digitalocean.com/documentation/"}}]},{"type":"heading2","text":"Connect to your Kubernetes clusters with an access token (or with certificates)","spans":[]},{"type":"paragraph","text":"We know that many of you who have used DOKS have felt the pinprick of disappointment each time you’ve had to download a new certificate to connect to your clusters.","spans":[]},{"type":"paragraph","text":"With today’s release, you can now connect to your DigitalOcean Kubernetes clusters using your DigitalOcean API access token, in addition to the previously supported certificates. Unlike certificates that expire weekly and cannot be revoked by project administrators, access tokens are owned by individual users, do not expire, and can be revoked instantly by admins. We hope that you enjoy this easier, more manageable method of connecting to your clusters.","spans":[{"start":34,"end":123,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/"}}]},{"type":"heading2","text":"Seamlessly upgrade your Kubernetes clusters to new minor versions, including 1.15","spans":[]},{"type":"paragraph","text":"The Kubernetes project continues to evolve quickly with the recent release of 1.15, introducing 25 new enhancements focused on continuous improvement and extensibility.","spans":[{"start":60,"end":82,"type":"hyperlink","data":{"link_type":"Web","url":"https://kubernetes.io/blog/2019/06/19/kubernetes-1-15-release-announcement/"}}]},{"type":"paragraph","text":"We enhanced DigitalOcean Kubernetes to support 1.15 a few weeks ago. As of today, you can upgrade your cluster to the latest minor version via the DigitalOcean control panel or API. Note that in order to upgrade minor releases (eg 1.14 to 1.15), you must first apply the latest patches to your cluster.","spans":[]},{"type":"heading2","text":"Easily deploy software to your cluster with the first of our Kubernetes 1-Click Apps","spans":[]},{"type":"paragraph","text":"Manually setting up software on Kubernetes clusters can be a time-consuming and tricky process as you need to install and configure your application across several nodes.","spans":[]},{"type":"paragraph","text":"That’s why we’re pleased to introduce the first of our Kubernetes 1-Click Apps in DigitalOcean Marketplace. With Kubernetes 1-Click Apps, you can easily create clusters that run preconfigured container images, as specified by a kubectl configuration or a Helm chart – all in a single click.","spans":[{"start":55,"end":106,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/category/kubernetes"}},{"start":228,"end":235,"type":"em"},{"start":255,"end":265,"type":"hyperlink","data":{"link_type":"Web","url":"https://helm.sh/"}}]},{"type":"paragraph","text":"DigitalOcean Marketplace now includes seven Kubernetes 1-Click Apps specifically built for deployment in Kubernetes clusters:","spans":[]},{"type":"paragraph","text":"table, tr, th, td {\n\n  border: none!important;\n  word-break: break-word!important;\n}\nLinkerd","spans":[{"start":85,"end":92,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/linkerd"}}]},{"type":"image","url":"https://images.prismic.io/www-static/d92c2bb435f076ae498db5197948afd7e0e925a8_image6.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":90,"height":90}},{"type":"paragraph","text":"An ultralight service mesh for Kubernetes that gives you observability, metrics, reliability, and security without requiring any code changes.\n\nMonitoring Stack","spans":[{"start":144,"end":160,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/kubernetes-monitoring-stack"}}]},{"type":"image","url":"https://images.prismic.io/www-static/ada91de7ad50db5ef2416aa015d5eafb031bcac6_image1.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":90,"height":90}},{"type":"paragraph","text":"An integrated stack – composed of Prometheus, Grafana, and metrics-server – for Kubernetes cluster monitoring.\n\nOpenFaaS","spans":[{"start":112,"end":120,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/openfaas-kubernetes"}}]},{"type":"image","url":"https://images.prismic.io/www-static/728808551edf8fa6c744d5df5cc9f5efeaf6a089_image5.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":120,"height":120}},{"type":"paragraph","text":"A Functions as a Service framework for building serverless functions with Docker and Kubernetes.\n\nMetrics Server","spans":[{"start":98,"end":112,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/kubernetes-metrics-server"}}]},{"type":"image","url":"https://images.prismic.io/www-static/ee3c23d6a643b577e2b612b381fb3f0727e35722_image1-1.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":90,"height":90}},{"type":"paragraph","text":"An open source stack that gives you fast, simple access to cluster resource usage data, such as CPU and memory usage.\n\nMoon","spans":[{"start":119,"end":123,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/moon"}}]},{"type":"image","url":"https://images.prismic.io/www-static/c410ed3fe7e77689c01c6b3a8804b6c512b540a4_image3.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":90,"height":90}},{"type":"paragraph","text":"An enterprise Selenium WebDriver browser automation solution for Kubernetes.\n\n1Password SCIM Bridge","spans":[{"start":14,"end":40,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.w3.org/TR/webdriver/"}},{"start":78,"end":99,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/1password-scim-bridge"}}]},{"type":"image","url":"https://images.prismic.io/www-static/d6de951f229722bd2c4cbf303a02c1ed5fc93b4a_image2.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":46,"height":46}},{"type":"paragraph","text":"A service that automates common administrative tasks using the 1Password SCIM protocol to connect with existing identity providers\n\nNetdata","spans":[{"start":132,"end":139,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/netdata"}}]},{"type":"image","url":"https://images.prismic.io/www-static/cc2a8775ac3ab1d46cc25d2f18f543a089ce0465_image4.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":150,"height":150}},{"type":"paragraph","text":"A highly optimized monitoring agent that provides real-time insights using highly interactive web dashboards.","spans":[]},{"type":"paragraph","text":"If you’re a software vendor interested in listing your application in the DigitalOcean Marketplace, see our instructions for submitting your app.","spans":[{"start":104,"end":144,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/vendors"}}]},{"type":"heading2","text":"Spin up your Kubernetes clusters today","spans":[]},{"type":"paragraph","text":"We hope that you’re excited by the enhancements we’re announcing today, and we promise we’ve got much more in store.","spans":[]},{"type":"paragraph","text":"In the meantime, we hope you’ll give DOKS a try. Or, if you’re a business interested in learning more about how DOKS can help you achieve your goals, we invite you to contact our sales team.","spans":[{"start":32,"end":47,"type":"hyperlink","data":{"link_type":"Web","url":"https://cloud.digitalocean.com/kubernetes/clusters/new"}},{"start":167,"end":189,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/company/contact/sales/"}}]}],"blog_post_date":"2019-10-03","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}},{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}}],"_meta":{"uid":"new-on-digitalocean-kubernetes"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Daniel Zaltsman","author_image":{"dimensions":{"width":188,"height":188},"alt":"Daniel Zaltsman","copyright":null,"url":"https://images.prismic.io/www-static/663d428f56c46eeb165c811add8f1f60402aa451_daniel_zaltsman-c47f4847.png?auto=compress,format"},"_meta":{"uid":"daniel_zaltsman"}},"blog_header_image":{"dimensions":{"width":1537,"height":769},"alt":null,"copyright":null,"url":"https://images.prismic.io/www-static/555f9c96daad823db7ec1bb1b3a361b3023482e2_hf_19_social_1537x769png.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Hacktoberfest Is Back for Year Six!","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"It’s that time of year again when we come together to support and celebrate the open source technologies we use and love.","spans":[]},{"type":"paragraph","text":"For the sixth straight year, Hacktoberfest will bring together people representing more than 150 countries, both online and in person. And while the mission stays the same, the size of the community and the number of contributions continue to grow year over year. In 2018, precisely 105,341 of you signed up and contributed 401,231 pull requests to projects on GitHub. This year we’re expecting closer to 150,000 participants. We hope you’ll be one of them. And we can’t wait to see what each of you contribute!","spans":[{"start":29,"end":42,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/"}}]},{"type":"paragraph","text":"For those just joining us, welcome! Hacktoberfest is a monthlong celebration of open source software. It was started at DigitalOcean as a way to foster a sense of community and encourage more participation in open source projects. To reward Hacktoberfest contributors, we’ve designed a limited edition T-shirt for those who complete the challenge each year. This year, the first 50,000 participants will be eligible to receive the limited edition shirt.","spans":[]},{"type":"paragraph","text":"The program is open to both beginners and veterans, and we welcome all communities. We value learning, being respectful of those before and after us, and prioritizing quality over quantity. Whether you're new or not, please observe the Code of Conduct for Hacktoberfest.","spans":[{"start":236,"end":269,"type":"hyperlink","data":{"link_type":"Web","url":"https://do.co/hacktoberconduct"}}]},{"type":"heading2","text":"Making new friends in familiar places","spans":[]},{"type":"paragraph","text":"One of the enticing elements of this celebration is that you don’t have to leave the comfort of your office or home to participate. But each year, more and more Hacktoberfest events have been organized since we introduced the Event Kit. In 2018 alone, there were 251 Hacktoberfest events. All of these took place during October and happened in 50 countries. With October five days away, we’re already expecting to exceed last year’s number of events! Wow.","spans":[{"start":226,"end":235,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/eventkit"}}]},{"type":"paragraph","text":"Image credit: https://hallofrankfurt.de/hacktoberfestffm-2019-f8f500989493","spans":[{"start":0,"end":74,"type":"em"},{"start":14,"end":74,"type":"hyperlink","data":{"link_type":"Web","url":"https://hallofrankfurt.de/hacktoberfestffm-2019-f8f500989493"}}]},{"type":"image","url":"https://images.prismic.io/www-static/d7733cf7748fb258140661ef1e5f5dc653061e48_image3-1.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1999,"height":1333}},{"type":"paragraph","text":"What can you expect from a Hacktoberfest event? It’s a great opportunity to meet other developers in your local communities and work towards a shared goal. You can find the full list of events on our Events page. If you’re planning to organize an event, be sure to read the entire Event Kit and submit your event via the event submission form. Lastly, if you’re in or around New York City, we invite you to join us at the Hacktoberfest kickoff celebration at the DigitalOcean headquarters.","spans":[{"start":200,"end":211,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/events"}},{"start":281,"end":290,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/eventkit"}},{"start":321,"end":342,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/eventkit/#form"}},{"start":422,"end":455,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.eventbrite.com/e/hacktoberfest-2019-official-kick-off-celebration-tickets-71109054095?aff=eac2"}}]},{"type":"heading2","text":"Participating for the right reasons","spans":[]},{"type":"paragraph","text":"Why did we create Hacktoberfest? And why does DigitalOcean invest so much into the event? The truth may surprise you. We believe in using our resources to broaden awareness of open source projects and in reinvesting in our communities. As customers and creators of open source software, this is just one of the ways we reinvest in the people and technology we believe in. It’s also why we try to improve the experience every year, focusing on quality of learning and participation over the quantity of pull requests.","spans":[{"start":331,"end":370,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community"}}]},{"type":"paragraph","text":"In an effort to encourage thoughtful contributions, we’ve introduced a one-week review period for project maintainers. When a user submits a new PR (ready-to-review, not a draft), we give it a seven-day “grace period” before it becomes a valid Hacktoberfest contribution. This allows time for maintainers to label any spammy PRs as invalid.","spans":[]},{"type":"heading2","text":"What else is new?","spans":[]},{"type":"paragraph","text":"Since they launched, we’ve been huge fans of the work being done by the team at DEV. They’ve created a community that’s informative, inclusive, and inspirational where programmers can share ideas and help each other grow. That’s why we’re so excited to announce that DEV will be the co-sponsor of Hacktoberfest 2019. Partnering with DEV means there will be another home for discussing Hacktoberfest, sharing projects, and celebrating wins. If you’re not already using DEV, we hope you’ll participate in the Hacktoberfest chatter on their platform too.","spans":[{"start":68,"end":83,"type":"hyperlink","data":{"link_type":"Web","url":"https://dev.to"}}]},{"type":"image","url":"https://images.prismic.io/www-static/04086d2fdf068d4fc25429c9829957fe7d290d78_image1-2.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":523,"height":699}},{"type":"image","url":"https://images.prismic.io/www-static/61eb118cd4406d5b02525b833040e34aeca21ca6_image2-2.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":522,"height":700}},{"type":"paragraph","text":"Screenshots from DEV.to","spans":[{"start":0,"end":23,"type":"em"}]},{"type":"heading2","text":"Changing the world – one PR at a time","spans":[]},{"type":"paragraph","text":"This year, we’re also hoping to drive awareness of the negative impacts many people around the world are experiencing due to the many environmental crises we’re faced with – and encourage participation in projects that are targeting these causes. We’ve identified a handful of projects on GitHub that focus on supporting the environment, which you can find in our Climate section. We hope you’ll consider contributing to some of the impactful work being done by activists, scientists, and mission-driven organizations around the globe.","spans":[{"start":357,"end":379,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/#climate"}}]},{"type":"heading2","text":"Final considerations","spans":[]},{"type":"paragraph","text":"As always, please make sure you read through the Details and FAQs for Hacktoberfest, not only to educate yourself but to be able to help others along the way. Even though many of you live and breathe open source every day, we were all beginners once. Here’s an encouraging reminder of this from last year:","spans":[{"start":49,"end":56,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/details"}},{"start":61,"end":65,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/faq"}}]},{"type":"preformatted","text":"I did it! 🤩 I completed the @digitalocean #Hacktoberfest challenge! Most importantly, I proved myself I was knowledgeable enough and very capable of contributing to #oss! 🙏 Me: 5 / Imposter Syndrome: 0 🔥 pic.twitter.com/67kIsnoC6X\n— José Postiga (@josepostiga) October 14, 2018","spans":[]},{"type":"paragraph","text":"With all of that said, it’s time to get started. Let's join forces to make a difference! Here is the shiny new Hacktoberfest website we created for you all to enjoy. We hope you’ll get your project and/or company involved, attend an event, and maybe even contribute to something that helps the environment (or any other amazing project). And most importantly, have a happy Hacktoberfest!","spans":[{"start":101,"end":132,"type":"hyperlink","data":{"link_type":"Web","url":"https://hacktoberfest.digitalocean.com/"}}]},{"type":"paragraph","text":"Happy Hacking,","spans":[]},{"type":"paragraph","text":"Daniel Zaltsman","spans":[]},{"type":"paragraph","text":"Senior Manager, Developer Relations","spans":[]}],"blog_post_date":"2019-09-25","tags":[{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}},{"tag1":{"tag":"Community","_linkType":"Link.document","_meta":{"uid":"community"}}}],"_meta":{"uid":"hacktoberfest-is-back-for-year-six"}}},{"node":{"author":{"_linkType":"Link.document","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"}},"blog_header_image":{"dimensions":{"width":784,"height":418},"alt":"Managed Databases illustration with dolphin and cool octopus ","copyright":null,"url":"https://images.prismic.io/www-static/9397e9af87dcfd94b12cb315f03dc525621df4bd_image3.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Metrics for Managed Redis are now available","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"We recently launched Managed Databases for MySQL and Redis to further give developers the ability to focus on building apps while spending less time on managing their infrastructure. Our Managed Databases allow you to spin up clusters with just a few clicks without having to worry about configuring, managing, scaling, updating, and securing your databases.","spans":[{"start":21,"end":58,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/take-the-worry-out-of-managing-your-mysql-redis-databases/"}}]},{"type":"paragraph","text":"There’s been a lot of excitement for Managed MySQL and Redis in our community, and we’re really thankful to our users who have shared positive feedback for these offerings.","spans":[]},{"type":"paragraph","text":"Here are some of our favorite responses:","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/4bebf7a2c3bcf0e42a514beccdb01e35ad017c57_image10.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":886,"height":292}},{"type":"image","url":"https://images.prismic.io/www-static/de2392aac2251dd3795feecc0bc6a39330ab9667_image7.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":892,"height":295}},{"type":"image","url":"https://images.prismic.io/www-static/7db4db356d09c9acb1cd31f67a3dd975ff68df92_image4.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":889,"height":388}},{"type":"paragraph","text":"With this response in mind, we're very excited to announce that Managed Redis is now generally available and provides metrics to monitor performance and the health of your clusters. The following metrics are available for Managed Redis clusters:","spans":[]},{"type":"list-item","text":"CPU usage: Shows the minimum, maximum, and average percentage of processing power being used across all cores\n","spans":[{"start":0,"end":9,"type":"strong"}]},{"type":"list-item","text":"Load average: Displays 1-, 5-, and 15-minute load averages, averaged across all primary and standby nodes. It measures the processes that are either being handled by the processor or are waiting for processor time.\n","spans":[{"start":0,"end":12,"type":"strong"}]},{"type":"list-item","text":"Memory usage: Presents the minimum, maximum, and average percentage of memory consumption across all nodes\n","spans":[{"start":0,"end":12,"type":"strong"}]},{"type":"list-item","text":"Disk usage: Shows the minimum, maximum, and average percentage of disk space consumed across all primary and standby nodes. It's best practice to maintain disk usage below 90%.\n","spans":[{"start":0,"end":10,"type":"strong"}]},{"type":"image","url":"https://images.prismic.io/www-static/00ceddbddbe3120ca7eea697939076075748801c_image8.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1678,"height":643}},{"type":"image","url":"https://images.prismic.io/www-static/133ddc926a360fcfba4270f6da01cd9f4aa6900b_image12.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1689,"height":646}},{"type":"image","url":"https://images.prismic.io/www-static/4a413d4b3f48c71107c4e60d59ba50898b6b87e7_image5.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1672,"height":639}},{"type":"image","url":"https://images.prismic.io/www-static/cf35941993712747484c169cc36ef9ba6e0d9615_image1-1.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1698,"height":654}},{"type":"paragraph","text":"In addition, we also provide metrics to monitor the performance of the database itself. This data can help assess the health of the database, pinpoint performance bottlenecks, and identify unusual use patterns that may indicate an application bug or security breach.","spans":[]},{"type":"list-item","text":"Connection status: The number of successful and rejected client connections in relation to the connection limit\n","spans":[{"start":0,"end":17,"type":"strong"}]},{"type":"list-item","text":"Throughput: The rate of commands processed per second\n","spans":[{"start":0,"end":10,"type":"strong"}]},{"type":"list-item","text":"Key evictions: The number of keys removed by Redis due to memory constraints\n","spans":[{"start":0,"end":13,"type":"strong"}]},{"type":"list-item","text":"Memory fragmentation: The ratio of the memory allocated by the operating system to Redis to the memory used by Redis\n","spans":[{"start":0,"end":20,"type":"strong"}]},{"type":"list-item","text":"Cache hit ratio: The ratio of keyspace hits to the number of keyspace hits and misses, which is a measure of cache usage efficiency\n","spans":[{"start":0,"end":15,"type":"strong"}]},{"type":"list-item","text":"Replication status: The number of connected standby nodes\n","spans":[{"start":0,"end":18,"type":"strong"}]},{"type":"image","url":"https://images.prismic.io/www-static/6a5cdd0e55f5aa496f0b3aee3da0ddb664f4dc29_image2-1.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1684,"height":643}},{"type":"image","url":"https://images.prismic.io/www-static/728cf6404d4a571125c9c8f4ed21d9748c7e8724_image15.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1642,"height":631}},{"type":"image","url":"https://images.prismic.io/www-static/22b812c17d923286ef80372dec69b119eb74b750_image11.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1711,"height":658}},{"type":"image","url":"https://images.prismic.io/www-static/da4ce527831d6c571174e497ca09c62a47c92a8c_image13.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1636,"height":627}},{"type":"image","url":"https://images.prismic.io/www-static/f44c2ba1b87b7769fc711b69320d8e38b9bab04c_image9.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1696,"height":652}},{"type":"image","url":"https://images.prismic.io/www-static/68504c7f04c4bf3d6d72ba0f82690f4a4c0b5587_replication_status_new.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1620,"height":551}},{"type":"heading3","text":"Availability in all regions","spans":[]},{"type":"paragraph","text":"There is huge demand for Managed MySQL and Redis among developers. In order to provide the best user experience, we did a phased rollout of these engines. At the time of launch, only three data centers were supported. Today, all nine data centers now support Managed MySQL and Redis. \n","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/86baf2caa76729dd1834b7fa22bb28774b084b24_image6.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1891,"height":484}},{"type":"paragraph","text":"We hope you are excited about Managed Databases and will give the service a try. If you’re ready to get started, spin up your first database cluster! If you have any questions about using DigitalOcean and Managed Databases in your business, please feel free to contact our sales team.","spans":[{"start":113,"end":148,"type":"hyperlink","data":{"link_type":"Web","url":"http://cloud.digitalocean.com/databases"}},{"start":261,"end":283,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/company/contact/sales/"}}]}],"blog_post_date":"2019-09-24","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}},{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}},{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}}],"_meta":{"uid":"metrics-for-managed-redis-are-now-available"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"DigitalOcean","author_image":{"dimensions":{"width":600,"height":600},"alt":"Sammy avatar","copyright":null,"url":"https://images.prismic.io/www-static/a10e3c2eb15b74ee43f872be3044313423b1c9a9_sammy_avatar.png?auto=compress,format"},"_meta":{"uid":"digitalocean"}},"blog_header_image":null,"blog_headline":[{"type":"heading1","text":"Helping Remote Developers Avoid Burnout","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"This is a guest post from Debbie Chew of Arc.","spans":[{"start":0,"end":45,"type":"em"},{"start":41,"end":44,"type":"hyperlink","data":{"link_type":"Web","url":"https://arc.dev/"}}]},{"type":"paragraph","text":"Ever feel like the code you write is never good enough? Or that you’re constantly tired from working, but your workload doesn’t seem to ever decrease?","spans":[]},{"type":"paragraph","text":"You’re not alone! Being a developer can be exhausting. To help rebuild your willpower and rediscover your sense of identity, there are lots of ways you can manage, overcome, and avoid burnout.","spans":[]},{"type":"paragraph","text":"Burnout is a reality for thousands of developers, and it also affects those working remotely. In fact, DigitalOcean's recently published report, Currents: A Seasonal Report on Developer Trends in the Cloud – Remote Work Edition, revealed that 66% of remote developers suffer from burnout symptoms. And the percentage is even higher (82%) for developers in the United States.","spans":[{"start":0,"end":48,"type":"hyperlink","data":{"link_type":"Web","url":"https://hn.algolia.com/?query=burnout&amp;sort=byPopularity&amp;prefix&amp;page=1&amp;dateRange=all&amp;type=story"}},{"start":145,"end":227,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/currents/july-2019/"}}]},{"type":"heading2","text":"The burnout problem is real","spans":[]},{"type":"paragraph","text":"The report is worrying. It reveals that burnout is a slightly higher risk (+2%) for remote developers than for in-house developers. Fortunately, working remotely can improve work-life balance, with remote developers rating their work-life balance at 7.02 out of 10 on average (as opposed to on-site developers, who score lower at 6.95).","spans":[]},{"type":"paragraph","text":"So what are the biggest contributors to burnout?","spans":[]},{"type":"list-item","text":"Working longer hours than expected","spans":[]},{"type":"list-item","text":"Feeling like management expects you to contribute more than in-house developers","spans":[]},{"type":"list-item","text":"Increased levels of stress and anxiety","spans":[]},{"type":"paragraph","text":"The most significant danger is that burnout can creep in slowly and unannounced. You find yourself working longer hours, spending more time on work, feeling more stressed, and not knowing when (or how) to stop.","spans":[]},{"type":"paragraph","text":"If you think this might be happening to you or someone you know, there is help available. This guide will help you understand burnout and give you practical tips that will allow you to prevent or overcome it.","spans":[]},{"type":"heading2","text":"Solving the problem of burnout","spans":[]},{"type":"paragraph","text":"These tips will help you protect your passion for coding, be more productive, and avoid burnout:","spans":[]},{"type":"heading4","text":"1. Assume responsibility for your time","spans":[]},{"type":"paragraph","text":"When working in-house, someone else is often responsible for directly managing you. But when you work remotely, this responsibility falls on you. If you don't manage your time, no one will (at least until it’s time for your performance review). Don't be your own worst enemy!","spans":[]},{"type":"paragraph","text":"Everything your manager previously did for you, you must now do for yourself. This includes setting your schedule – deciding when you work and for how long, when you take breaks, and more. What's most important is sticking to the decisions you make: without being disciplined, you will create additional stress for yourself.","spans":[]},{"type":"heading4","text":"2. Set clear boundaries","spans":[]},{"type":"paragraph","text":"You must understand your nonnegotiables. What are the things that, as a remote developer, you would not be happy doing? Maybe working in the middle of the night is one of them. Or perhaps you're not happy with your employer demanding that you work during specific hours.","spans":[]},{"type":"paragraph","text":"In \"A Programmer Burnout Story,\" Lorenzo Pasqualis recommends active communication to help remote developers remain on the same page as the rest of their team. This will help combat any potential expectation that you have to contribute more than you physically can.","spans":[{"start":3,"end":32,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.coderhood.com/a-programmer-burnout-story-how-to-recognize-it-and-avoid-it/"}}]},{"type":"paragraph","text":"Communicating nonnegotiables with your team will help set boundaries in regards to your availability and what you're willing to do.","spans":[]},{"type":"heading4","text":"3. Set a fixed working schedule & stick to it","spans":[]},{"type":"paragraph","text":"DigitalOcean's report also reveals that 52% of remote developers find themselves working longer hours than they thought they would. One of the reasons may be a lack of time management skills.","spans":[]},{"type":"paragraph","text":"The best thing to do to start learning how to manage your time better is to begin setting a fixed schedule. After you communicate your working times to your remote team, diligently stick to them. By doing so, you will avoid straying from what you need to do.","spans":[]},{"type":"paragraph","text":"Also resist the urge to check email or lurk on Slack outside your working schedule. You may feel that doing so means you're contributing more, but usually this isn't the case.","spans":[]},{"type":"heading4","text":"4. Create a routine","spans":[]},{"type":"paragraph","text":"If you don't establish a routine to help reduce the amount of information you have to process, your stress levels may increase. A routine helps you always know what you need to be doing next.","spans":[]},{"type":"paragraph","text":"It's good to have a routine in the early morning when you wake up, and also before going to bed. This helps your mind separate work from other activities, while helping you maintain work-life balance.","spans":[{"start":13,"end":27,"type":"hyperlink","data":{"link_type":"Web","url":"https://zapier.com/blog/daily-routines/"}}]},{"type":"paragraph","text":"Another good practice is not checking your email first thing in the morning. It's better to wake up and prepare your breakfast, and only then check email. You can also use this time to prioritize your tasks for the day.","spans":[]},{"type":"heading4","text":"5. Take multiple breaks","spans":[]},{"type":"paragraph","text":"Making time for multiple scheduled breaks from coding during the day is essential to increase productivity and reduce stress levels. Planning these breaks will help you develop the discipline to actually sign off when the time comes. Even going for a short walk around the block or doing a small task in the home can help.","spans":[]},{"type":"heading4","text":"6. Exercise daily","spans":[]},{"type":"paragraph","text":"Daily exercise is phenomenal for your health. You should set aside 30 minutes to an hour every day for exercise. It's a great way to de-stress and unplug – 61% of developers find that physical activity lowers their stress levels. Science backs this up. So take advantage of those endorphins!","spans":[{"start":230,"end":252,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.mayoclinic.org/healthy-lifestyle/stress-management/in-depth/exercise-and-stress/art-20044469"}}]},{"type":"heading4","text":"7. Don't eat while you're working","spans":[]},{"type":"paragraph","text":"Cooking and eating are great activities to save for your breaks. Taking the time to eat will help your mind unplug from work and relax. Enjoy the process of making your food, and take a moment to savor it. You'll find that you return to your monitor more refreshed and ready to take on the challenges that await.","spans":[]},{"type":"paragraph","text":"It's also a good idea to prepare healthy food, which gives you an energy boost and keeps your mind sharp.","spans":[]},{"type":"heading4","text":"8. Don't forget about friends & family","spans":[]},{"type":"paragraph","text":"When you're in work mode, it's easy to forget to set time aside for friends and family. To avoid this, try to schedule social events ahead of time. They will help you disconnect from work and make your life about more than just what pays the bills.","spans":[]},{"type":"paragraph","text":"It’s important to remember that keeping in touch with loved ones will make you more fulfilled, help prevent stress, and ultimately make you happier and more productive at work. According to the DigitalOcean Currents report, 67% of developers say spending time with friends and family is the best way for developers to de-stress. (And let’s not forget pets too!)","spans":[]},{"type":"heading4","text":"9. Make time for yourself","spans":[]},{"type":"paragraph","text":"Don’t forget to have some \"me time\" too. Leaving some time in the day for yourself will help you do other things that you enjoy. Playing video games, reading, or listening to music are all great de-stressors.","spans":[]},{"type":"paragraph","text":"Another thing to consider is pursuing a hobby or other creative endeavor and learn more in this time. You can even study a different tech stack and improve your skills – even if you’re an experienced developer.","spans":[{"start":170,"end":209,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.codementor.io/blog/updating-your-best-practices-7gzzfh3vrx"}}]},{"type":"heading4","text":"10. Take vacations","spans":[]},{"type":"paragraph","text":"Lastly, taking a vacation is a very effective way to disconnect from work and recharge your batteries.","spans":[]},{"type":"paragraph","text":"Unfortunately, most remote workers take limited vacation, often out of fear that they are not working enough compared to their counterparts.","spans":[]},{"type":"paragraph","text":"You should take a vacation if you feel like you need one. Your productivity will actually increase after taking necessary time off, making it a win-win for you and your employer.","spans":[]},{"type":"heading2","text":"Remote work should be enjoyable","spans":[]},{"type":"paragraph","text":"By establishing healthy routines and boundaries, along with prioritizing your wellness, health, and both personal and professional relationships, you’ll learn to manage and overcome burnout – which will help you become a happier, more productive developer. You’ll get to truly enjoy remote work and all its benefits (flexible schedule, no commuting, ability to work from anywhere, and more) without the downside.","spans":[]},{"type":"paragraph","text":"Arc (formerly CodementorX) is a platform that connects developers with top companies hiring great developer talent. If you're a remote developer looking for your next opportunity, consider joining the Arc network.","spans":[{"start":0,"end":213,"type":"em"},{"start":180,"end":212,"type":"hyperlink","data":{"link_type":"Web","url":"http://bit.ly/2lYPQUQ"}}]}],"blog_post_date":"2019-09-18","tags":[{"tag1":{"tag":"Culture","_linkType":"Link.document","_meta":{"uid":"culture"}}},{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}},{"tag1":{"tag":"Community","_linkType":"Link.document","_meta":{"uid":"community"}}}],"_meta":{"uid":"avoiding-burnout"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Jeff Giannetti","author_image":null,"_meta":{"uid":"jeff_giannetti"}},"blog_header_image":{"dimensions":{"width":1540,"height":866},"alt":"Solutions Partner Program illustration with arrows","copyright":null,"url":"https://images.prismic.io/www-static/60dcf341d5b718ae9cf49f97e587dd73c68fa658_spp_blog_2.jpg?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Introducing Our Solutions Partner Program","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Our mission is to empower developers around the world to build the applications of tomorrow. Today, we’re proud to announce the next step in enhancing access to developers: the DigitalOcean Solutions Partner Program (SPP).","spans":[]},{"type":"paragraph","text":"The SPP enables companies to partner with DigitalOcean in order to deploy and modernize their client’s infrastructure. Partners will receive the tools their development teams need to get clients up and running seamlessly. This allows smaller businesses, who may lack the technical capabilities or staffing to self-manage infrastructure, to access DigitalOcean’s technology and support at an attractive price point.","spans":[]},{"type":"paragraph","text":"To kick off, we want to work closely with companies that are selling and servicing their clients' infrastructure, including managed service providers, agencies and development shops, DevOps as a Service providers, cloud resellers, and platform builders.","spans":[]},{"type":"paragraph","text":"In March, we launched a pilot program during which we onboarded more than 400 partners from 55 different countries. So far, the program has shown promising results.","spans":[]},{"type":"paragraph","text":"“We’ve seen great outcomes from the Solutions Partner Program. Partnering with DigitalOcean allowed us to build out a new product line quickly, and we have been blown away when it comes to performance and reliability,” says Ronnie Burt, Chief Business Officer at Incsub. “This makes us look good with our customers and gives us confidence that the partnership will help power our long-term success.”","spans":[{"start":263,"end":269,"type":"hyperlink","data":{"link_type":"Web","url":"https://incsub.com/"}}]},{"type":"paragraph","text":"Since launching the pilot, we’ve learned from our partners. We understand what their priorities are, and we’ve honed our program to match their needs.","spans":[]},{"type":"paragraph","text":"Based on those learnings and conversations, we are announcing the next phase of the program. We’ve built out the program in a way that works optimally for our partners, and that continues to emphasize the transparency, simplicity, and service that have underpinned DigitalOcean’s reputation in the developer community.","spans":[]},{"type":"paragraph","text":"Partners can expect new benefits and support that make it easy for them to get started with the program and grow once they join:","spans":[]},{"type":"list-item","text":"A partner portal that houses all of the resources you need to kick off, as well as partner-specific training materials","spans":[]},{"type":"list-item","text":"New migration support from DO experts to make getting started free of headaches","spans":[]},{"type":"list-item","text":"Access to members of our product team through live webinars, AMAs, and office hours","spans":[]},{"type":"list-item","text":"Enablement resources, including go-to-market and use-case guides","spans":[]},{"type":"list-item","text":"Marketing benefits to help you grow – such as event, PR, and meetup support along with content for your site to help you speak to DigitalOcean’s capabilities","spans":[]},{"type":"list-item","text":"Opportunity to get listed on a new DigitalOcean Partner Directory","spans":[]},{"type":"paragraph","text":"As the program evolves, partners can expect additional benefits.","spans":[]},{"type":"paragraph","text":"We view our SPP partners as extensions of our company. We intend to ensure that our partners have what they need from us to spread DigitalOcean's mission and values to tens of thousands of small and medium-sized businesses. We’re excited to extend our famous “DO Love” to partners who are as invested in the developer community as we are.","spans":[]},{"type":"paragraph","text":"If you are interested in learning more or joining the program, visit our SPP page. You’ll find more information about the benefits you can expect from the program and a link to the short application.","spans":[{"start":63,"end":81,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/partners/solutions-partners/"}}]}],"blog_post_date":"2019-09-17","tags":[{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}}],"_meta":{"uid":"introducing-our-solutions-partner-program"}}},{"node":{"author":{"_linkType":"Link.document","author_name":"Karan Chhina","author_image":{"dimensions":{"width":554,"height":550},"alt":"Karan Chhina","copyright":null,"url":"https://images.prismic.io/www-static/b43a85223ca42f817f454615a86497acf668d7c3_karan.png?auto=compress,format"},"_meta":{"uid":"karan_chhina"}},"blog_header_image":{"dimensions":{"width":1800,"height":960},"alt":"DO droplets image with penguins ","copyright":null,"url":"https://images.prismic.io/www-static/55a6952c497c528b09c99495df6cb564f2b84671_droplet_social_blog_email.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Introducing Memory-Optimized Droplets with 8GB RAM for Each Dedicated vCPU","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"At DigitalOcean, a core part of our mission is to support you as you grow – from idea, to business, and beyond. This means giving you more specialized solutions that enable you to run your applications with performance and stability you can trust. That’s why, over the past few years, we’ve introduced both General Purpose Droplets and CPU-Optimized Droplets. Both types of Droplet provide memory and dedicated compute, in ratios of 4GB:1vCPU and 2GB:1vCPU, respectively.","spans":[{"start":307,"end":331,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/general-purpose-droplets-let-you-do-more/"}},{"start":336,"end":358,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/introducing-high-cpu-droplets/"}}]},{"type":"paragraph","text":"While these new Droplet types make DigitalOcean a great fit for all sorts of new use cases, they don’t address every business need. So today we’re introducing one more virtual machine instance type: the Memory-Optimized Droplet, with memory and dedicated compute in a ratio of 8GB:1vCPU.","spans":[]},{"type":"paragraph","text":"Memory-Optimized Droplets are now in Limited Availability in our NYC3 and AMS3 (Amsterdam) data centers.","spans":[]},{"type":"heading2","text":"Why you might need Memory-Optimized Droplets","spans":[]},{"type":"paragraph","text":"Simply put, the same thing happens when your cloud-based virtual machine runs low on RAM as happens on your personal computer: applications slow down considerably, or even crash due to OOMs – dreaded \"Out of Memory\" errors.","spans":[{"start":192,"end":222,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/b0rk/status/1133216877839360001?s=20"}}]},{"type":"paragraph","text":"Considering lofty user expectations of near instantaneous performance and rock solid stability, you should consider Memory-Optimized Droplets, especially for these sorts of workloads:","spans":[]},{"type":"list-item","text":"high-performance SQL or NoSQL databases","spans":[]},{"type":"list-item","text":"web scale in-memory caches and indexes","spans":[]},{"type":"list-item","text":"real-time big data processing","spans":[]},{"type":"list-item","text":"resource-intensive or mission-critical business apps","spans":[]},{"type":"paragraph","text":"To learn more about choosing the right type of Droplet for your application, check out these guidelines about choosing the right Droplet plan.","spans":[{"start":93,"end":141,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/droplets/resources/choose-plan/"}}]},{"type":"heading2","text":"How much Memory-Optimized Droplets cost","spans":[]},{"type":"paragraph","text":"Many developers and businesses love DigitalOcean in part due to our simple and predictable pricing structure, and we’ve brought these same principles to Memory-Optimized Droplets. Virtual machines with 2vCPUs, 16GB of RAM, 50 GB SSD, and 4TB transfer cost $90 per month, plain and simple. Pricing scales from there as you add compute, memory, storage, and bandwidth.","spans":[]},{"type":"image","url":"https://images.prismic.io/www-static/5a75c2e7a1aa7314c5861fba7ce3d14fa2fda7e6_image--2-.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":732,"height":546}},{"type":"heading2","text":"The Droplet developer experience you know & love","spans":[]},{"type":"paragraph","text":"Memory-Optimized Droplets are tightly integrated into DigitalOcean, so you can create them just as you can any other type of Droplet, both through an easy-to-use graphical interface and via the Droplet API.","spans":[{"start":194,"end":205,"type":"hyperlink","data":{"link_type":"Web","url":"https://developers.digitalocean.com/documentation/v2/#droplets"}}]},{"type":"paragraph","text":"All Droplet types – Memory-Optimized, General Purpose, CPU-Optimized, and Standard – include features such as blazing-fast SSD storage, optional backups and snapshots, monitoring and alerts, network firewalls, and more.","spans":[]},{"type":"heading2","text":"Spin up some Memory-Optimized Droplets today","spans":[]},{"type":"paragraph","text":"After signing into your DigitalOcean account, you’ll see the option to create Memory-Optimized Droplets. From there, you can spin up your VMs in just 55 seconds or less.","spans":[]},{"type":"paragraph","text":"Or, if you’d like to have a conversation about using DigitalOcean and Memory-Optimized Droplets in your business, feel free to contact our sales team.","spans":[{"start":127,"end":149,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/company/contact/sales/"}}]},{"type":"paragraph","text":"We hope you give Memory-Optimized Droplets a try, and that you never never run out of RAM ever again!","spans":[]},{"type":"paragraph","text":"Happy coding!","spans":[]},{"type":"paragraph","text":"Karan Chhina","spans":[]},{"type":"paragraph","text":"Senior Product Manager, Compute","spans":[]}],"blog_post_date":"2019-09-10","tags":[],"_meta":{"uid":"introducing-memory-optimized-droplets"}}},{"node":{"author":{"_linkType":"Link.document","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"}},"blog_header_image":{"dimensions":{"width":784,"height":418},"alt":"Dolphin and cool sunglasses octopus illustration ","copyright":null,"url":"https://images.prismic.io/www-static/7c9f7b73a465dfe2513468f11776703999b00736_mysql_redis_blogheader_lockup.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Take the worry out of managing your MySQL & Redis databases","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Our mission at DigitalOcean is to simplify the cloud so you can focus more on building apps and less on managing the underlying infrastructure. To that end, we introduced Managed Databases for PostgreSQL earlier this year, which removes many of the hassles in maintaining PostgreSQL databases. Our team has been hard at work these past few months, and we are so excited to finally launch Managed Databases for MySQL and Redis! You can now spin up MySQL and Redis database clusters with just a few clicks, without having to worry about configuring, managing, scaling, updating, and securing your databases.","spans":[{"start":171,"end":203,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/announcing-managed-databases-for-postgresql/"}},{"start":410,"end":415,"type":"hyperlink","data":{"link_type":"Web","url":"https://do.co/mysql"}},{"start":420,"end":425,"type":"hyperlink","data":{"link_type":"Web","url":"https://do.co/redis"}}]},{"type":"paragraph","text":"Managed Databases for MySQL & Redis now available. (PostgreSQL support launched February 2019.)","spans":[{"start":0,"end":95,"type":"em"}]},{"type":"image","url":"https://images.prismic.io/www-static/7dd6999b71da769c6f500aa56fe468107932ab43_3_engines--1-.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":859,"height":183}},{"type":"heading2","text":"Why you need Managed Databases","spans":[]},{"type":"paragraph","text":"If you are building a modern app or website, it’s very likely you will need a database. Databases are one of the most critical components of an application. They should provide terabytes of storage, be able to process thousands of I/O operations per second, and allow data access with minimum latency. If your app usage grows, the database needs to scale easily and quickly to support millions of users.","spans":[]},{"type":"paragraph","text":"Relational databases such as MySQL and PostgreSQL are widely used in the market. Typical use cases include traditional CRUD websites that need persistent storage and an ability to quickly retrieve data from the database.","spans":[{"start":0,"end":20,"type":"hyperlink","data":{"link_type":"Web","url":"https://en.wikipedia.org/wiki/Relational_database"}},{"start":29,"end":34,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.mysql.com/"}},{"start":39,"end":49,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.postgresql.org/"}}]},{"type":"paragraph","text":"Redis has gained a lot of momentum in the last few years as an open source, in-memory data structure store, used as a database, cache, and message broker. Typical use cases include apps with real-time analytics, high-speed transactions, and machine learning.","spans":[{"start":0,"end":5,"type":"hyperlink","data":{"link_type":"Web","url":"https://redis.io/"}}]},{"type":"paragraph","text":"Whether you are using MySQL, Redis, or PostgreSQL, building and managing database clusters from the ground up is a herculean task. Developers often spend valuable time and resources on database management, which prevents them from focusing on building and enhancing apps.","spans":[]},{"type":"paragraph","text":"We introduced Managed Databases to simplify the lives of developers by addressing these common challenges:","spans":[]},{"type":"list-item","text":"Determining the optimal infrastructure needed to host your databases is time-intensive","spans":[]},{"type":"list-item","text":"Scaling the infrastructure that supports your database is often a slow and expensive task","spans":[]},{"type":"list-item","text":"Implementing reliable failover processes is difficult","spans":[]},{"type":"list-item","text":"Over-provisioning of underlying infrastructure leads to increased costs","spans":[]},{"type":"list-item","text":"Setting up a complete and reliable backup and recovery process requires a lot of effort","spans":[]},{"type":"list-item","text":"Maintaining and updating databases often needs dedicated personnel","spans":[]},{"type":"heading3","text":"How Managed Databases work","spans":[]},{"type":"paragraph","text":"We're proud to extend the simplicity that DigitalOcean is known for to Managed Databases. Developers of all skill levels, even those with no prior experience in databases, can spin up database clusters with just a few clicks. Select the database engine, storage, vCPU, memory, and standby nodes and we take care of the rest. The following database engines are currently supported:","spans":[]},{"type":"list-item","text":"MySQL (version 8)NEW","spans":[]},{"type":"list-item","text":"Redis (version 5)NEW","spans":[]},{"type":"list-item","text":"PostgreSQL (version 10 and 11)","spans":[]},{"type":"paragraph","text":"Managed Databases are built on top of our core compute platform and use local SSD storage, which makes them lightning fast. In addition to a simple dashboard, you can manage your database clusters programmatically with the DigitalOcean API.","spans":[{"start":223,"end":239,"type":"hyperlink","data":{"link_type":"Web","url":"https://developers.digitalocean.com/documentation/v2/#databases"}}]},{"type":"image","url":"https://images.prismic.io/www-static/12a097782406d270de32d27f5236859e5d6a3dd0_swatch?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":100,"height":54}},{"type":"heading2","text":"Simple, predictable pricing","spans":[]},{"type":"paragraph","text":"Just like all DigitalOcean products, Managed Databases provide 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 high-availability cluster with a standby node for $50/ month. Pricing is the same for MySQL, PostgreSQL, and Redis engines. Backups are free and included as part of the service. Ingress bandwidth is always free, and egress fees ($0.01/GB per month) will be waived for 2019.","spans":[{"start":63,"end":90,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/pricing/#anchor--Databases"}}]},{"type":"heading2","text":"Benefits of Managed Databases","spans":[]},{"type":"paragraph","text":"Worry-free setup & maintenance: Save time by launching a database cluster with just a few clicks. Never worry again about security patches to the OS or database engine – once a new version or patch is available, simply click a button to enable it.","spans":[{"start":0,"end":30,"type":"strong"}]},{"type":"paragraph","text":"High scalability to support your growth: You can scale up at any time with no impact to your application. You have flexibility, so you can spin up read-only nodes to scale read operations or remove compute overhead from reporting requirements. This also keeps expenses in check as you reduce overprovisioning of infrastructure.","spans":[{"start":0,"end":39,"type":"strong"}]},{"type":"paragraph","text":"Free daily backups with point-in-time recovery: We automatically back up your databases every day. If things go wrong, you can easily restore data to any point within the past seven days.","spans":[{"start":0,"end":46,"type":"strong"}]},{"type":"paragraph","text":"Automated failover to maximize availability: In the event of a failure, Managed Databases will automatically fail over to a standby node and minimize downtime for your customers.","spans":[{"start":0,"end":43,"type":"strong"}]},{"type":"paragraph","text":"End-to-end security: Databases run in your account’s private network, which isolates communication at the account or team level. You can restrict requests to your database from the public internet by whitelisting specific inbound sources. Data is encrypted when at rest and in transit to prevent cyberattacks.","spans":[{"start":0,"end":19,"type":"strong"}]},{"type":"heading2","text":"Regional availability","spans":[]},{"type":"paragraph","text":"There is a huge demand for Managed MySQL and Redis among customers. In order to provide the best user experience, we plan to do a phased roll out of these engines. The table below provides tentative timeline for the data center availability. Please refer to our release notes for the most up-to-date information. \nAugust 20August 27September 4NYC1AMS3SGP1FRA1LON1BLR1SFO2NYC3TOR1\n## What’s next","spans":[{"start":258,"end":275,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/docs/platform/release-notes/"}}]},{"type":"paragraph","text":"We hope that you are excited about this release and will give the service a try. Managed Databases for MySQL and Redis are currently in Limited Availability (LA) and will move to General Availability (GA) in a few weeks. Managed Redis will include database-level metrics to monitor performance, usage, and errors after it moves to GA.","spans":[]},{"type":"paragraph","text":"Ready to create a database? Try Managed Databases now.","spans":[{"start":0,"end":54,"type":"hyperlink","data":{"link_type":"Web","url":"http://cloud.digitalocean.com/databases"}}]},{"type":"paragraph","text":"If you’d like to have a conversation about using DigitalOcean and Managed Databases in your business, please feel free to contact our sales team.","spans":[{"start":122,"end":144,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/company/contact/sales/"}}]}],"blog_post_date":"2019-08-20","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}},{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}},{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}},{"tag1":{"tag":"Developer Relations","_linkType":"Link.document","_meta":{"uid":"developer-relations"}}}],"_meta":{"uid":"take-the-worry-out-of-managing-your-mysql-redis-databases"}}}]}}}