{"componentChunkName":"component---src-templates-author-jsx","path":"/blog/author/digitalocean/2/","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":12,"numAuthorPages":10,"currentPage":2,"uid":"digitalocean","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":"An Update for Our Community","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"With a heavy heart, we're sharing the news that Mark Templeton has made the difficult decision to step back from his role as Chief Executive Officer due to a personal health issue. During the transition, Mark will continue as CEO to help identify the right successor and work closely with our executive team to guide strategic decisions for the company.","spans":[]},{"type":"paragraph","text":"Mark has made a tremendous impact since he joined DigitalOcean in June 2018. Under Mark’s leadership, we have made great strides towards our vision of making modern app development accessible and simple for developers everywhere. We’ve launched 10 new product offerings, including our Managed Databases, Managed Kubernetes, and Marketplace services. We’ve made our first-ever acquisition and diversified our go-to-market strategy with new partner offerings. And Mark has also recruited seasoned leaders to strengthen our executive team. We're very proud of all we've accomplished under his guidance.","spans":[]},{"type":"paragraph","text":"Mark is an incredible leader and an inspiration to all of us in the DigitalOcean family. We will continue on the path he’s set forth, and we remain as committed as ever to serving millions of next generation developers around the world.","spans":[]}],"blog_post_date":"2019-05-08","tags":[{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}}],"_meta":{"uid":"an-update-for-our-community"}}},{"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":{"dimensions":{"width":800,"height":600},"alt":"computer illustration","copyright":null,"url":"https://images.prismic.io/www-static/2406e46c6320ad83e8d9f275de03872e03b759ff_jarvis-company-of-one.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"How to 10X Your Web & WordPress Agency","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"This is a guest post from Lukas Hertig, SVP of Business Development at Plesk.","spans":[{"start":0,"end":77,"type":"em"},{"start":71,"end":76,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.plesk.com/"}}]},{"type":"paragraph","text":"Many agency owners struggle with burnout and profitability, mostly because of one key issue: they offer services on an automated time and material model. These agencies scale only by delivering more hours to customers, making growth cumbersome.","spans":[]},{"type":"paragraph","text":"It doesn’t have to be this way. In this post, you'll explore how to improve your web or WordPress agency's business model.","spans":[]},{"type":"heading2","text":"Leverage the 10X Rule in your Agency","spans":[]},{"type":"paragraph","text":"A cardinal rule in sales is to think big – 10X – for whatever you do in life and business. If you run an agency and are struggling to make it profitable, you can apply this rule to be more successful.","spans":[]},{"type":"paragraph","text":"As an agency owner and entrepreneur, you might want to use this thinking to:","spans":[]},{"type":"list-item","text":"10X the goals you are trying to achieve","spans":[]},{"type":"list-item","text":"10X the number of your clients","spans":[]},{"type":"list-item","text":"10X your income and revenue, especially recurring revenue","spans":[]},{"type":"list-item","text":"Save 10X of your time by automating 10X of your processes","spans":[]},{"type":"list-item","text":"Sleep 10X better because your client websites run on a secure and performant environment","spans":[]},{"type":"heading2","text":"Offer Recurring Value Instead of Time-based Services","spans":[]},{"type":"paragraph","text":"A modern option to help scale your agency by 10X is to implement as many services as possible as recurring services, in a value-based model instead of a time- and material-based model. In this model, you don’t sell your time; you sell results or outcomes.","spans":[]},{"type":"paragraph","text":"Tools such as Plesk and DigitalOcean's agency program have made it easy for smaller agencies to compete against larger firms by offering recurring value.","spans":[{"start":14,"end":19,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketplace.digitalocean.com/apps/plesk"}},{"start":24,"end":53,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/partners/agency-partners/"}}]},{"type":"paragraph","text":"Plesk manages your websites and WordPress instances in a graphical web interface. It’s everything you need to build, secure, and run websites and applications to simplify your life as a web professional.","spans":[]},{"type":"paragraph","text":"Here’s how this might work in practice:","spans":[]},{"type":"paragraph","text":"An auto retailer pays $5 per month for hosting their static website created by a website builder tool years ago. Their website is not optimized for performance, and they are interested in rebuilding it with WordPress and connecting it to a modern technical marketing stack with the goal of selling more cars.","spans":[]},{"type":"paragraph","text":"A traditional pricing model may look something like this: \nActivityCostWebsite development100 hours at $60/hour = $6,000Website content migration50 hours at $60/hour = $3,000Website hosting (shared, non-performant)$5 per monthWebsite monitoring & maintenance2 hours per month at $60/hour = $120 per monthSEO3 hours per month at $60/hour = $180 per monthSocial media marketing (inc ads)8 hours per month at $60/hour = $480 per monthTotal one-time costs$9,000Total monthly costs$785 per month\nLet’s compare that to a customer-centric, value-based approach with the same scope of work.","spans":[{"start":431,"end":451,"type":"strong"},{"start":451,"end":457,"type":"strong"},{"start":457,"end":476,"type":"strong"},{"start":476,"end":490,"type":"strong"}]},{"type":"paragraph","text":"You might begin by asking your customer what the averages sales value is per unit (in this case, a car). Let’s say it’s $25,000. At this price, the retailer may make an average margin of $5,000 per car.","spans":[]},{"type":"paragraph","text":"Therefore, if a website generates three additional sales per month for a customer, that would mean $900,000 additional revenue or $180,000 additional profit annually.","spans":[]},{"type":"paragraph","text":"Let’s say you charge 3% of this additional revenue as a one-time fee and 5% of it for recurring fees, per year. In return, you guarantee a minimum of three additional sales every month.","spans":[]},{"type":"paragraph","text":"Here's what the numbers look like:\nActivityPriceDevelopment fee (3% of AGR)$27,000Annual support fee (5% of AGR)$45,000Total one-time payment$27,000Total monthly payment$3,750 per month\nIncluded with support:","spans":[{"start":119,"end":141,"type":"strong"},{"start":141,"end":148,"type":"strong"},{"start":148,"end":169,"type":"strong"},{"start":169,"end":185,"type":"strong"}]},{"type":"list-item","text":"SEO monitoring and optimization","spans":[]},{"type":"list-item","text":"Ad creation and A/B testing","spans":[]},{"type":"list-item","text":"Social media engagement and management","spans":[]},{"type":"list-item","text":"Monthly reporting on KPIs","spans":[]},{"type":"paragraph","text":"Your one-time revenue just jumped by $18,000, and your recurring revenue increases by $2,965 every month!","spans":[]},{"type":"paragraph","text":"But that's not all:","spans":[]},{"type":"list-item","text":"The customer is happy – they get a guaranteed positive result, and they only spend more when they make more","spans":[]},{"type":"list-item","text":"You are happy – you get more revenue and can automate work, preserving more profit","spans":[]},{"type":"list-item","text":"Most costs for hosting and managing the website do not matter. You can charge whatever you like. Results are what count.","spans":[]},{"type":"paragraph","text":"Results may vary depending on industry and category, but there is almost always a way to create better offerings and maintain a more profitable business using recurring revenue.","spans":[]},{"type":"paragraph","text":"In these situations, your responsibility is to help the customer understand this as a necessary investment and not a cost. You need to demonstrate why your agency is the right team for the work. By focusing on results, you show that you understand the business as the customer does. You are not thinking about hours, as everyone else does.","spans":[]},{"type":"paragraph","text":"It’s crucial that you structure your offering thoughtfully. Here are some basic guidelines:","spans":[]},{"type":"list-item","text":"Target a certain niche with your services. Small and medium-sized businesses offer an armada of sub-niches you could target.","spans":[{"start":0,"end":42,"type":"strong"}]},{"type":"list-item","text":"Include relevant and proper maintenance and support services into your offering that the big agencies can’t.","spans":[{"start":0,"end":108,"type":"strong"}]},{"type":"list-item","text":"Never ever mention hours, days, or other time elements. Remember – you are providing value, not requesting a reimbursement for costs.\nSell your offerings by showing your customer how much value you provide.","spans":[{"start":0,"end":55,"type":"strong"}]},{"type":"list-item","text":"Combine hosting services with other metrics-based services such as social media marketing, content production, SEO, or paid advertising management. When combined with KPIs, reporting, maintenance and ongoing support, you’re delivering extraordinary value to your clients and creating loyal partnerships that will last for years to come.","spans":[{"start":0,"end":147,"type":"strong"}]},{"type":"paragraph","text":"Happy 10X’ing :-)","spans":[]},{"type":"paragraph","text":"Lukas is a born-in-the-cloud international senior business leader, investor, and speaker with 18+ years in IT – including 15+ years in the global cloud and hosting/IT service provider industry. He specializes in scaling tech startups, cloud, web hosting, WordPress, blockchain, entrepreneurship, investing and digital transformation.","spans":[{"start":0,"end":333,"type":"em"}]}],"blog_post_date":"2019-04-17","tags":[{"tag1":{"tag":"Marketplace","_linkType":"Link.document","_meta":{"uid":"marketplace"}}}],"_meta":{"uid":"how-to-10x-your-web-wordpress-agency"}}},{"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":{"dimensions":{"width":800,"height":600},"alt":"computer illustration","copyright":null,"url":"https://images.prismic.io/www-static/2406e46c6320ad83e8d9f275de03872e03b759ff_jarvis-company-of-one.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Catch Paul Jarvis's AMA on Why Intentional Growth Matters","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Writer and entrepreneur Paul Jarvis has advised professional athletes like Steve Nash and Shaquille O’Neal, corporate giants like Microsoft and Mercedes-Benz, and entrepreneurs like Danielle LaPorte, Marie Forleo, and Kris Carr. His latest book, Company of One, explores why a bigger digital business isn’t always better, and he recently shared his knowledge with our DigitalOcean community in an AMA.","spans":[{"start":246,"end":260,"type":"hyperlink","data":{"link_type":"Web","url":"ofone.co"}}]},{"type":"paragraph","text":"He spoke on the importance of “intentional growth,” being that not all growth is good, and should simply be questioned before proceeding. Growing intentionally means, as founders, that we get to determine the type of business we want to run, how we define enough, and what goals should matter.","spans":[]},{"type":"paragraph","text":"You can download the slides from the short talk here or watch the AMA replay here.","spans":[{"start":8,"end":52,"type":"hyperlink","data":{"link_type":"Web","url":"https://marketing.nyc3.cdn.digitaloceanspaces.com/Product-Emails/Marketplace/PaulJarvis-IntentionalGrowth.pdf"}},{"start":56,"end":81,"type":"hyperlink","data":{"link_type":"Web","url":"https://youtu.be/XidEqur_Eyw"}}]},{"type":"paragraph","text":"","spans":[{"start":0,"end":0,"type":"hyperlink","data":{"link_type":"Web","url":"https://youtu.be/XidEqur_Eyw"}}]},{"type":"image","url":"https://images.prismic.io/www-static/0a3b765f68cb1420651075391a7ca4b8f368a51c_pauljarvis.png?auto=compress,format","alt":null,"copyright":null,"dimensions":{"width":1036,"height":484}}],"blog_post_date":"2019-03-25","tags":[{"tag1":{"tag":"Marketplace","_linkType":"Link.document","_meta":{"uid":"marketplace"}}}],"_meta":{"uid":"paul-jarvis-ama"}}},{"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":{"dimensions":{"width":800,"height":600},"alt":"People illustrations connected by github cat illustration in the middle by lines","copyright":null,"url":"https://images.prismic.io/www-static/302d9b87195e6096e0f9398c4c1250528122862c_web-hosting-timeline-github.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Blasting Off to GitHub Universe","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"It's that magical time of the year again: GitHub Universe, being held October 16-17, 2018, in San Francisco!","spans":[{"start":42,"end":57,"type":"hyperlink","data":{"link_type":"Web","url":"https://githubuniverse.com"}}]},{"type":"paragraph","text":"Come check out our area, chat with our DevRel team, and take a picture with Sammy. For every attendee that shares their photo on Twitter or Instagram using the hashtag #DigitalOceanLovesOS, we’ll donate $5 to the Electronic Frontier Foundation (EFF), up to a maximum of $5,000. It’s just another way we can support the open source community, especially during this Hacktoberfest month!","spans":[{"start":213,"end":249,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.eff.org/"}},{"start":307,"end":340,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/open-source/"}},{"start":360,"end":384,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/hacktoberfest-is-back-for-year-5/"}}]},{"type":"paragraph","text":"Also make sure to check out Sneha's talk on October 17 at 3:20 PM, \"Observability pre-release: using Prometheus to test and fix new software.\"","spans":[]},{"type":"paragraph","text":"The pillars of observability have long been accepted as key components of any microservice-in-production. But what about those new products—those new features—that have yet to be released? Properly instrumenting and leveraging metrics at this stage is perhaps even more crucial. When a product is yet to be released, identifying and addressing early bugs is critical.","spans":[{"start":0,"end":367,"type":"em"}]},{"type":"paragraph","text":"See how the team at DigitalOcean leveraged Prometheus to properly instrument and test features within their software-defined networking pillar. This session will highlight instrumentation, key visualizations, and takeaways from their experience. You’ll also hear about areas for improvement and find out how to use these learnings for your own releases.","spans":[{"start":0,"end":353,"type":"em"}]}],"blog_post_date":"2018-10-15","tags":[{"tag1":{"tag":"Community","_linkType":"Link.document","_meta":{"uid":"community"}}}],"_meta":{"uid":"blasting-off-to-github-universe"}}},{"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":{"dimensions":{"width":784,"height":418},"alt":"Mentorship illustration","copyright":null,"url":"https://images.prismic.io/www-static/c46ee9ed2681cc2f82facb789cb95fd7f05de1b0_mentoringengineers_blog-1.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Diving into Düsseldorf for SREcon EMEA","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"SREcon EMEA is on now in Düsseldorf, Germany. If you're attending, make sure to check out our talks.","spans":[{"start":0,"end":11,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.usenix.org/conference/srecon18europe/"}}]},{"type":"paragraph","text":"Tom Spiegelman will share how he fosters mentorship at DigitalOcean, and Jaime Woo will talk about post-incident care. In addition, Emil Stolarsky co-chairs the lightning talks.","spans":[]},{"type":"paragraph","text":"On Wednesday, August 29, from 4:00 PM-4:30 PM, Jaime Woo presents \"Your System Has Recovered from an Incident, but Have Your Developers?\" in Rheinlandsaal Ballroom A.","spans":[]},{"type":"paragraph","text":"Mistakes are inevitable, and happen to the best of us. Our industry adopts a blame-free culture, but that doesn't negate the sting that occurs when we're at the heart of a mess-up.","spans":[{"start":0,"end":180,"type":"em"}]},{"type":"paragraph","text":"Developers continually raise the bar on how to prevent errors, mitigate damage for ones that arise, and wring out as many learnings as possible after the damage is done. But much of this work is focused on the products, and not the people. And given the high-stakes in SRE, the range of how a mistake psychologically impacts people can run the gamut from minor to the near-traumatic.","spans":[{"start":0,"end":383,"type":"em"}]},{"type":"paragraph","text":"Where are the game day exercises that simulate how to support a coworker who just caused 3 am pings and 20 hour work days? What resources should we share to help people understand the stages of emotions they'll feel after a major incident?","spans":[{"start":0,"end":239,"type":"em"}]},{"type":"paragraph","text":"The concept of psychological safety is well understood as a key predictor for high-performing teams, but what does that entail? Drawing from original research, and lessons from fields like sports, medicine, and even stand-up comedy, attendees will leave with a series of tangible actions and exercises to help restore team trust and rebuild a developer's confidence.","spans":[{"start":0,"end":366,"type":"em"}]},{"type":"paragraph","text":"On Wednesday, August 29, from 6:00 PM-7:00 PM, lightning talks, co-chaired by Emil Stolarsky, happen in Rheinlandsaal Ballroom A, with nine speakers sharing energetic presentations on a variety of SRE-related topics.","spans":[]},{"type":"paragraph","text":"On Thursday, August 30, from 12:00 PM-12:30 PM, Tom Spiegelman presents \"Building a Fellowship Program to Mentor and Grow Your SRE Team\" in Rheinlandsaal Ballroom A.","spans":[]},{"type":"paragraph","text":"Mentorship is invaluable at any point in your career. At DigitalOcean, we introduced an internal two-week fellowship program pairing any developer interested in learning more about what infrastructure did with a senior engineer. We followed the Tuckman 4-stages of group development of forming, storming, norming, and performing. We believe we create the best performing team when mentors and mentees go through the four stages together as a team. Two weeks may seem brief, but we were able to iterate quickly, and also it meant we could focus our energies on mentoring just one person at a time to limit straining the team’s bandwidth.","spans":[{"start":0,"end":636,"type":"em"}]},{"type":"paragraph","text":"The benefits were manifold: our infrastructure team gained a better perspective of what other teams go through and work on a daily basis which helps us build better tools and workflows to support them. Not only did participants strengthen their skills, but some joined infrastructure, realizing it was right for them. And for those that didn't join it was an excellent way to cross-pollinate ideas and build the infrastructure team's relationships with other teams. In this talk, attendees will hear about the theory, lessons learned, and how to create their own fellowship program.","spans":[{"start":0,"end":582,"type":"em"}]},{"type":"paragraph","text":"Also, in addition to being a bronze sponsor for SREcon EMEA, we're proud sponsors of the Diversity Grant. Visibility and representation matter, and congratulations to all of the successful applicants. See everyone at the conference!","spans":[{"start":67,"end":104,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.usenix.org/conference/srecon18europe/diversity-grant-application"}}]}],"blog_post_date":"2018-08-29","tags":[{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}}],"_meta":{"uid":"diving-into-dusseldorf-for-srecon-emea"}}},{"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":{"dimensions":{"width":5000,"height":2500},"alt":"OSCon letters with a dolphin, narwhal, and jellyfish popping out of the letters with the words 'See you there!' underneath illustration","copyright":null,"url":"https://images.prismic.io/www-static/f3efcf4db49e107ee21d7edf28add4c7c9c2fe18_oscon_seeyouthere.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Prepped for Portland and OSCON 2018","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"It's the 20th year of OSCON, held this week in Portland, Oregon, and we will be in attendance!","spans":[{"start":22,"end":27,"type":"hyperlink","data":{"link_type":"Web","url":"https://conferences.oreilly.com/oscon/oscon-or"}}]},{"type":"paragraph","text":"We have two great presentations lined up:","spans":[]},{"type":"list-item","text":"Lauren McCarthy and Tom Spiegelman will share DigitalOcean's approach to tackling the Spectre and Meltdown vulnerabilities, covering what the company chose to move forward with and why, and","spans":[]},{"type":"list-item","text":"Andrew Kim will be sharing a technical deep dive into how DigitalOcean uses anycast IPs, BGP, and Kubernetes to run globally distributed services on containers","spans":[]},{"type":"paragraph","text":"On Wednesday, July 18, from 11:50 AM-12:30 PM, Lauren McCarthy and Tom Spiegelman present \"DigitalOcean’s approach to Spectre and Meltdown\" in E143/144.","spans":[{"start":91,"end":138,"type":"hyperlink","data":{"link_type":"Web","url":"https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/71101"}},{"start":91,"end":138,"type":"strong"}]},{"type":"paragraph","text":"News of the security vulnerabilities Spectre and Meltdown gripped headlines earlier this year, and for good reason: the bugs affected an estimated three billion chips in use. The impact to cloud providers was substantial, and DigitalOcean was no exception.","spans":[{"start":0,"end":256,"type":"em"}]},{"type":"paragraph","text":"Lauren McCarthy and Tom Spiegelman share DigitalOcean’s approach to tackling the Spectre and Meltdown vulnerabilities—dubbed \"Smeltdown”—covering what the company chose to move forward with and why. This was one of the biggest challenges the company has dealt with in terms of complexity and scale. One of the key issues was timeliness: while the big cloud companies received advanced notice, DigitalOcean didn’t have that luxury. But it couldn’t use that as an excuse: it just meant working smarter and harder. Lauren and Tom discuss the hardships faced and how the chosen solution left the company with a more secure cloud infrastructure and ready move forward to work toward new offerings so that developers and their teams can focus on what matters: building software that changes the world.","spans":[{"start":0,"end":795,"type":"em"}]},{"type":"paragraph","text":"On Thursday, July 19, from 4:15 PM-4:55 PM, Andrew Kim presents \"Containers and anycast IPs at DigitalOcean\" in D139/140.","spans":[{"start":65,"end":107,"type":"hyperlink","data":{"link_type":"Web","url":"https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/67422"}},{"start":65,"end":107,"type":"strong"}]},{"type":"paragraph","text":"Today’s container networking technology has made it significantly easier to build distributed systems on top of container orchestrators such as Kubernetes, Mesosphere, and Docker Swarm. Container networking technologies use Linux primitives such as iptables and IPVS to provide load-balancing capabilities for network traffic across containers in a cluster. These simple yet powerful tools are a cornerstone to the success of containerized systems, as they provide highly available environments with little to no effort.","spans":[{"start":0,"end":520,"type":"em"}]},{"type":"paragraph","text":"Despite the many benefits of container networking, running containerized applications that must be latency sensitive and globally distributed is an extremely challenging task. Container networking is mainly scoped for in-cluster traffic, leaving little room to globally distribute an application across multiple clusters. Moreover, extending a container network for external traffic requires many additional layers of abstraction, usually introducing points of failures in a cluster and increasing end-to-end latency.","spans":[{"start":0,"end":517,"type":"em"}]},{"type":"paragraph","text":"Andrew Kim leads a technical deep dive into how DigitalOcean uses anycast IPs, BGP, and Kubernetes to run globally distributed services on containers. Along the way, Andrew discusses design considerations for scalability, architectural trade-offs, data center networking, lessons learned in production, and challenges to adopting containers for latency sensitive applications.","spans":[{"start":0,"end":376,"type":"em"}]},{"type":"paragraph","text":"You can also catch us at booth #101 at the following times:","spans":[{"start":25,"end":35,"type":"strong"}]},{"type":"list-item","text":"Wednesday, July 18 from 10:20 AM to 7:00 PM, and","spans":[]},{"type":"list-item","text":"Thursday, July 19 from 10:20 AM to 4:15 PM","spans":[]}],"blog_post_date":"2018-07-16","tags":[{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}},{"tag1":{"tag":"Developer Relations","_linkType":"Link.document","_meta":{"uid":"developer-relations"}}}],"_meta":{"uid":"oscon-2018"}}},{"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":{"dimensions":{"width":784,"height":418},"alt":"GDPR lock and EU stars illustration","copyright":null,"url":"https://images.prismic.io/www-static/e14514bbef8658da8b50cfae97309915a8d368fc_gdpr_blog.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"GDPR is Here, and We've Got You Covered","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Today, the new European General Data Protection Regulation (GDPR) goes into effect. (You might have received a few emails about it.) There are a lot of moving parts, but it’s an important step in protecting the fundamental right of privacy for European citizens, and it also raises the bar for data protection, security, and compliance in the industry. This post is here to guide you to our GDPR-related resources.","spans":[]},{"type":"paragraph","text":"We’ve created a new GDPR section on our website to go over what GDPR means for you and the steps we’ve taken to ensure the protection of your privacy.  In this section, you’ll find:","spans":[{"start":20,"end":47,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/security/gdpr/"}}]},{"type":"list-item","text":"An FAQ to help you understand GDPR and how it affects you as a DigitalOcean customer, which we regularly update as we receive questions.","spans":[{"start":3,"end":6,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/security/gdpr/faq/"}}]},{"type":"list-item","text":"The DigitalOcean Data Processing Agreement (DPA), which enables you to comply with your GDPR obligations.","spans":[{"start":17,"end":48,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/security/gdpr/data-processing-agreement/"}}]},{"type":"list-item","text":"A Data Portability section, which explains how to download your content/data from your DigitalOcean services.","spans":[{"start":2,"end":26,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/security/gdpr/data-portability/"}}]},{"type":"paragraph","text":"In addition, we updated our Privacy Policy and Terms of Service Agreement to comply with the new requirements of GDPR. If you’re interested in seeing what changed in the Privacy Policy and TOS, check out our GitHub repo where you can compare versions.","spans":[{"start":28,"end":42,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/legal/privacy/"}},{"start":47,"end":73,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/legal/terms/"}},{"start":204,"end":219,"type":"hyperlink","data":{"link_type":"Web","url":"https://github.com/digitalocean/tos"}}]},{"type":"paragraph","text":"We take this new regulation seriously, and we want to get you back to doing what you love—building great software.","spans":[]}],"blog_post_date":"2018-05-25","tags":[{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}}],"_meta":{"uid":"gdpr-resources"}}},{"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":{"dimensions":{"width":788,"height":425},"alt":"boat with fish and a jellyfish on it in the ocean illustration","copyright":null,"url":"https://images.prismic.io/www-static/75564900077400aa98d37b52387720140c8256b4_kubecon-1.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Catch Us in Copenhagen for KubeCon EU","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"UPDATE: Catch the talks, now embedded below!","spans":[{"start":0,"end":44,"type":"strong"}]},{"type":"paragraph","text":"Next week is KubeCon EU in Copenhagen, Denmark. We're already drooling at the idea of diving into smørrebrød, perhaps near the famed Little Mermaid statue.","spans":[{"start":13,"end":23,"type":"hyperlink","data":{"link_type":"Web","url":"https://events.linuxfoundation.org/kubecon-eu-2018/"}}]},{"type":"paragraph","text":"DigitalOcean will have two speakers and a booth at KubeCon EU:","spans":[]},{"type":"paragraph","text":"On Wednesday, May 2, from 2:45 PM-3:20 PM, Matt Layher presents \"How To Export Prometheus Metrics From Just About Anything.\"","spans":[{"start":43,"end":54,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/mdlayher"}},{"start":65,"end":122,"type":"hyperlink","data":{"link_type":"Web","url":"https://kccnceu18.sched.com/event/DquG/how-to-export-prometheus-metrics-from-just-about-anything-matt-layher-digitalocean-intermediate-skill-level"}}]},{"type":"paragraph","text":"Prometheus exporters bridge the gap between Prometheus and systems which cannot export metrics in the Prometheus format. During this talk, you will learn how to gather metrics from a wide variety of data sources, including files, network services, hardware devices, and system calls to the Linux kernel. You will also learn how to build a reliable Prometheus exporter using the Go programming language. This talk is intended for developers who are interested in bridging the gap between Prometheus and other hardware or software.","spans":[{"start":0,"end":529,"type":"em"}]},{"type":"paragraph","text":"Then, on Thursday, May 3, Andrew Kim speaks from 2:45PM-3:20PM on \"Global Container Networks on Kubernetes at DigitalOcean.\"","spans":[{"start":26,"end":36,"type":"hyperlink","data":{"link_type":"Web","url":"https://twitter.com/kimandrewsy"}},{"start":67,"end":122,"type":"hyperlink","data":{"link_type":"Web","url":"https://kccnceu18.sched.com/event/Dqv8/global-container-networks-on-kubernetes-at-digitalocean-andrew-sy-kim-digitalocean-intermediate-skill-level"}}]},{"type":"paragraph","text":"Building a container network that is reliable, fast and easy to operate has become increasingly important in DigitalOcean’s distributed systems running on Kubernetes. Today’s container networking technologies can be restrictive as Pod and Service IPs are not reachable externally which forces cluster administrators to operate load balancers. The addition of load balancers introduces new points of failure in a cluster and hinders observability since source IPs are either NAT’d or masqueraded.","spans":[{"start":0,"end":495,"type":"em"}]},{"type":"paragraph","text":"This talk will be a deep dive of how DigitalOcean uses BGP, Anycast and a variety of open source technologies (kube-router, CNI, etc) to achieve a fast and reliable container network where Pod and Service IPs are reachable from anywhere on DigitalOcean’s global network. Design considerations for scalability, lessons learned in production and advanced use cases will also be discussed.","spans":[{"start":0,"end":386,"type":"em"}]},{"type":"paragraph","text":"You can also catch us in Hall C, at booth number G-C06. We’ll be tending the booth, where we'll be giving demos and answering questions:","spans":[]},{"type":"list-item","text":"Wednesday, May 2 from 10:30 AM-8:30 PM","spans":[]},{"type":"list-item","text":"Thursday, May 3 from 10:30 AM-5:30 PM, and","spans":[]},{"type":"list-item","text":"Friday, May 4 from 10:30 AM-4:00 PM","spans":[]},{"type":"paragraph","text":"Vi snakkes ved!","spans":[]}],"blog_post_date":"2018-04-27","tags":[{"tag1":{"tag":"Developer Relations","_linkType":"Link.document","_meta":{"uid":"developer-relations"}}},{"tag1":{"tag":"Engineering","_linkType":"Link.document","_meta":{"uid":"engineering"}}}],"_meta":{"uid":"kubecon-eu-2018"}}},{"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":{"dimensions":{"width":784,"height":418},"alt":"buildings illustration","copyright":null,"url":"https://images.prismic.io/www-static/9647f2e68851ff5dec70c90be344ba7e62bbf48f_blockstorage_nyc3_lon1_blog--1-.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"Block Storage Comes to NYC3 and LON1; One More Data Center on the Way!","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Today, we're excited to share that Block Storage is available to Droplets in NYC3 and LON1. With Block Storage, you can scale your storage independently of your compute and have more control over how you grow your infrastructure, enabling you to build and scale larger applications more easily. Block Storage has been a key part of our overall focus on strengthening the foundation of our platform to increase performance and enable our customers to scale.","spans":[{"start":35,"end":48,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/storage/"}}]},{"type":"paragraph","text":"We've seen incredible engagement since our launch last July. Users have created Block Storage volumes in SFO2, NYC1, FRA1, SGP1, TOR1, and BLR1 to scale databases, take backups, store media, and much more; NYC3 and LON1 are our seventh and eighth datacenters with Block Storage respectively.","spans":[{"start":50,"end":59,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/block-storage-more-space-to-scale/"}},{"start":147,"end":162,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04"}},{"start":178,"end":189,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-move-the-data-directory-for-owncloud-on-ubuntu-16-04"}},{"start":195,"end":204,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-configure-an-encrypted-zfs-pool-with-digitalocean-block-storage-on-freebsd"}}]},{"type":"paragraph","text":"As we continue to upgrade and augment our other data centers, we'll be ensuring that Block Storage is added too. In order to help you plan your deployments, we've finalized the timeline for AMS3. Here is the schedule we're targeting for Block Storage rollout:","spans":[]},{"type":"list-item","text":"Singapore (SGP1): Now!","spans":[{"start":0,"end":9,"type":"strong"}]},{"type":"list-item","text":"Toronto (TOR1): Now!","spans":[{"start":0,"end":7,"type":"strong"}]},{"type":"list-item","text":"Bangalore (BLR1): Now!","spans":[{"start":0,"end":9,"type":"strong"}]},{"type":"list-item","text":"New York City (NYC3): Now!","spans":[{"start":0,"end":13,"type":"strong"}]},{"type":"list-item","text":"London (LON1): Now!","spans":[{"start":0,"end":6,"type":"strong"}]},{"type":"list-item","text":"Amsterdam (AMS3): Now!","spans":[{"start":0,"end":9,"type":"strong"},{"start":18,"end":22,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.digitalocean.com/block-storage-in-ams3/"}}]},{"type":"paragraph","text":"Inside LON1, our London datacenter region.","spans":[{"start":0,"end":42,"type":"em"}]},{"type":"image","url":"https://images.prismic.io/www-static/1b7272508d1104d80bc89267201bf449c9102255_digitaloceandatacentrelondon-6601.jpg?auto=compress,format","alt":"Inside LON1, our London datacenter region","copyright":null,"dimensions":{"width":1600,"height":1067}},{"type":"paragraph","text":"Additionally, Kubernetes now offers support for DigitalOcean Block Storage thanks to StackPointCloud. Learn more about it here.","spans":[{"start":122,"end":126,"type":"hyperlink","data":{"link_type":"Web","url":"https://blog.stackpoint.io/stackpointcloud-extends-kubernetes-to-provision-full-set-of-digitalocean-services-49c356c19f6e"}}]},{"type":"paragraph","text":"Thanks to everyone who has given us feedback and used Block Storage so far. Please keep it coming. You can create your first Block Storage volume in NYC3 or LON1 today!","spans":[{"start":149,"end":153,"type":"hyperlink","data":{"link_type":"Web","url":"https://cloud.digitalocean.com/droplets/new?distro=ubuntu&amp;distroImage=ubuntu-16-04-x64&amp;size=2gb&amp;region=nyc3"}},{"start":157,"end":161,"type":"hyperlink","data":{"link_type":"Web","url":"https://cloud.digitalocean.com/droplets/new?distro=ubuntu&amp;distroImage=ubuntu-16-04-x64&amp;size=2gb&amp;region=lon1"}}]},{"type":"paragraph","text":"Please note: For our NYC3 region, we recommend that you add a volume at the time you create your Droplet to ensure access to Block Storage.","spans":[{"start":0,"end":11,"type":"strong"}]},{"type":"paragraph","text":"—DigitalOcean Storage Team","spans":[]}],"blog_post_date":"2017-09-28","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"_meta":{"uid":"block-storage-comes-to-singapore"}}},{"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":{"dimensions":{"width":784,"height":418},"alt":"droplets with graphs illustration","copyright":null,"url":"https://images.prismic.io/www-static/01fd5d62fe33bee721babce0248161bc0727aa51_monitoring-alerts-notifications-blog-am-v2.2.png?auto=compress,format"},"blog_headline":[{"type":"heading1","text":"DigitalOcean Monitoring","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"We designed DigitalOcean Monitoring and its service alerts to provide insight into overall Droplet performance. In this post, we’ll cover key design decisions on Droplet-level Monitoring so you can better understand the choices we have made and how you can best use this service.","spans":[{"start":12,"end":35,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/products/monitoring/"}}]},{"type":"heading2","text":"CPU Measurement: Use a consistent scale regardless of the number of CPUs","spans":[]},{"type":"paragraph","text":"When a server has more than one CPU, there are two main ways to display CPU utilization in a single metric. One option is to have each CPU counted as 100% value, so that a two CPU server has a maximum capacity of 200%, while an eight CPU server has a maximum capacity of 800%. The other option is to display the total capacity as 100%, which is what you'll find with DigitalOcean Monitoring.","spans":[]},{"type":"paragraph","text":"We used the 0-100 scale on DigitalOcean because it provides a consistent way to think about capacity. For example, when setting up Monitoring, you'll choose 70% when you want to know that 70% of the server's total CPU capacity is being used. This is regardless of the number of processors, so you'll see usage displayed on the same scale.","spans":[]},{"type":"heading2","text":"Notification Thresholds: Prefer certainty over early detection","spans":[]},{"type":"paragraph","text":"Just as there are multiple ways to display CPU utilization there are multiple ways to display notification thresholds. At one end of the spectrum, administrators may wish to be notified at the very first sign of an issue. This allows for intervention at the earliest possible moment and can therefore reduce the impact of a problem. Erring on this side, however, can lead to a \"server that cried wolf\" situation where most notifications may not actually indicate an issue. When false alarms regularly get mixed into reports of real problems, time and attention is spent on non-issues. If this happens often enough, notifications of real emergencies may be ignored.","spans":[]},{"type":"paragraph","text":"At the other end of the spectrum, administrators may wish to receive notifications only when there is solid indication of a real issue. Sometimes, a temporary situation may resolve itself prior to the administrator even receiving a notification. This can increase trust that the notification requires action, but it also means that users may experience disruption before the situation is brought to an administrator's attention.","spans":[]},{"type":"paragraph","text":"We decided to address this question by creating alerts when a server is experiencing a sustained problem. To accomplish this, data is measured each minute and an average of the data points is used. For example, if a service alert is set to send email when the CPU usage is above 90% during a 5-minute interval, the average of those data points must exceed 90% before the notification is triggered. As each minute passes, the oldest datapoint of the interval is dropped, the newest data point is added, and the average is recalculated.","spans":[]},{"type":"heading2","text":"Notification Frequency: Prefer signal over noise","spans":[]},{"type":"paragraph","text":"With service alerts, it is important to balance information sharing with meaningful notifications. For notifications to be useful and actionable, it is important that they do not become too prolific.","spans":[]},{"type":"paragraph","text":"We set up DigitalOcean service alerts to send a single notification when a threshold is reached. No additional notifications are sent until the situation is resolved. For example, when the average over 5 minutes drops below 90%, a notification will be sent that the situation is resolved. This, too, is intended to avoid notification fatigue and ensure notifications are more significant.","spans":[]},{"type":"paragraph","text":"To learn more about DigitalOcean alerts and notifications, you can get a detailed overview in An Introduction to Monitoring. To create your first alerts, see How to Set Up Service Alerts with DigitalOcean Monitoring. You might also like to explore one of our many tutorials for installing and configuring your own monitoring services.","spans":[{"start":94,"end":123,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-monitoring"}},{"start":158,"end":215,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tutorials/how-to-set-up-alerts-with-digitalocean-monitoring"}},{"start":255,"end":333,"type":"hyperlink","data":{"link_type":"Web","url":"https://www.digitalocean.com/community/tags/monitoring?type=tutorials"}}]},{"type":"paragraph","text":"We always welcome feedback! If there are other design decisions we have made that you would like to hear more about, let us know in the comments or open a request on our UserVoice.","spans":[{"start":170,"end":179,"type":"hyperlink","data":{"link_type":"Web","url":"http://digitalocean.uservoice.com/"}}]}],"blog_post_date":"2017-05-10","tags":[{"tag1":{"tag":"Product Updates","_linkType":"Link.document","_meta":{"uid":"product-updates"}}}],"_meta":{"uid":"digitalocean-monitoring-insight-into-key-decisions"}}},{"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":"Update on the April 11th SFO2 Power Outage","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"On April 11th at 06:43 UTC, DigitalOcean's SFO2 region experienced an outage of compute and networking services. The catalyst of this incident was the failure of multiple redundant power distribution units (PDU) within the datacenter. Complications during the recovery effort prolonged the incident and caused intermittent failures of our control panel and API. We'd like to apologize, share more details about exactly what happened, and talk about how we are working to make sure it doesn't happen again.","spans":[]},{"type":"heading2","text":"The Incident","spans":[]},{"type":"paragraph","text":"The initial power loss affected SFO2 including the core networking infrastructure for the region. As power and connectivity were restored, our event processing system was placed under heavy load from the backlog of in-progress events. The database backing this system was unable to support the load of the SFO2 datacenter recovery in addition to our normal operational load from other datacenters. This temporarily disabled our control panel and API. We then proceeded with recovery on multiple fronts.","spans":[]},{"type":"heading2","text":"Timeline of Events","spans":[]},{"type":"paragraph","text":"06:15 UTC - A datacenter-level PDU in the building housing our SFO2 region suffered a critical failure. Hardware automatically began drawing power from a secondary PDU.","spans":[]},{"type":"paragraph","text":"06:40 UTC - The secondary PDU also suffered a failure.","spans":[]},{"type":"paragraph","text":"06:43 UTC - Multiple alerts indicated that SFO2 was unreachable and initial investigations were undertaken by our operations and network engineering teams.","spans":[]},{"type":"paragraph","text":"07:00 UTC - After finding that all circuits in the region were down, we opened a ticket with the facility operator.","spans":[]},{"type":"paragraph","text":"07:49 UTC - A DigitalOcean datacenter engineer arrived and confirmed the power outage.","spans":[]},{"type":"paragraph","text":"08:27 UTC - The facility operations staff arrived and began restoring power to the affected racks.","spans":[]},{"type":"paragraph","text":"09:04 UTC - Recovery commenced and both management servers and hypervisors containing customer Droplets began to come back online.","spans":[]},{"type":"paragraph","text":"09:49 UTC - After an initial \"inception problem\" where portions of our compute infrastructure which were self-hosted couldn't bootstrap themselves, services began to recover.","spans":[]},{"type":"paragraph","text":"09:53 UTC - Customer reports and alerts indicated that our control panel and API had become inaccessible. Our event processing system became overloaded attempting to process the backlog of pending events while also supporting the normal operational load of our other regions. Work commenced to slow-roll activation of services.","spans":[]},{"type":"paragraph","text":"16:32 UTC - All services activated in SFO2 and event processing re-enabled; customers able to start deploying new Droplets. Existing Droplets not yet restarted. Work began to re-start Droplets in controlled way.","spans":[]},{"type":"paragraph","text":"19:43 UTC - 50% of all Droplets restored.","spans":[]},{"type":"paragraph","text":"20:15 UTC - All Droplets and services fully restored.","spans":[]},{"type":"heading2","text":"Future Measures","spans":[]},{"type":"paragraph","text":"There were a number of major issues that contributed to the cause and duration of this outage and we are committed to providing you with the stable and reliable platform you require to launch, scale, and manage your applications.","spans":[]},{"type":"paragraph","text":"During this incident, we were faced with conditions from our provider that were outside of our control. We're working to implement stronger safeguards and validation of our power management system to ensure this power failure does not reoccur.","spans":[]},{"type":"paragraph","text":"In addition, we're conducting a review of our datacenter recovery procedures to ensure that we can move more quickly in the event that we do lose power to an entire facility.","spans":[]},{"type":"paragraph","text":"Finally, we will be adding additional capacity to our event processing system to ensure it is able to sustain significant peaks in load, such as the one that occurred here.","spans":[]},{"type":"heading2","text":"In Conclusion","spans":[]},{"type":"paragraph","text":"We wanted to share the specific details around this incident as quickly and accurately as possible to give you insight into what happened and how we handled it. We recognize this may have had a direct impact on your business and for that we are deeply sorry. We will be issuing SLA credits to affected users, which will be reflected on their May 1st invoice, and we will continue to explore better ways of mitigating future customer impacting events. The entire team at DigitalOcean thanks you for your understanding and patience.","spans":[]}],"blog_post_date":"2017-04-13","tags":[{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}}],"_meta":{"uid":"update-on-the-april-11th-sfo2-power-outage"}}},{"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":"Update on the April 5th, 2017 Outage","spans":[]}],"blog_post_content":[{"type":"paragraph","text":"Today, DigitalOcean's control panel and API were unavailable for a period of four hours and fifty-six minutes. During this time, all running Droplets continued to function, but no additional Droplets or other resources could be created or managed. We know that you depend on our services, and an outage like this is unacceptable. We would like to apologize and take full responsibility for the situation. The trust you've placed in us is our most important asset, so we'd like to share all of the details about this event.","spans":[]},{"type":"paragraph","text":"At 10:24 AM EDT on April 5th, 2017, we began to receive alerts that our public services were not functioning. Within three minutes of the initial alerts, we discovered that our primary database had been deleted. Four minutes later we commenced the recovery process, using one of our time-delayed database replicas. Over the next four hours, we copied and restored the data to our primary and secondary replicas. The duration of the outage was due to the time it took to copy the data between the replicas and restore it into an active server.","spans":[]},{"type":"paragraph","text":"At 3:20 PM EDT the primary database was completely restored, and no data was lost.","spans":[]},{"type":"heading2","text":"Timeline of Events","spans":[]},{"type":"list-item","text":"T0.00 - 10:24 EDT - First observation of issues","spans":[]},{"type":"list-item","text":"T0.03 - 10:27 EDT - Verified that production database had been deleted on master","spans":[]},{"type":"list-item","text":"T0.10 - 10:34 EDT - Began recovery from time-delayed replica","spans":[]},{"type":"list-item","text":"T1.29 - 11:53 EDT - Backup of time-delayed replica completed","spans":[]},{"type":"list-item","text":"T2.10 - 12:34 EDT - Copy of backup to master completed; recovery commencing","spans":[]},{"type":"list-item","text":"T3.07 - 13:31 EDT - Recovery of master completed; copy of backups to replicas ongoing","spans":[]},{"type":"list-item","text":"T4.56 - 15:20 EDT - All systems restored","spans":[]},{"type":"heading2","text":"Future Measures","spans":[]},{"type":"paragraph","text":"The root cause of this incident was a engineer-driven configuration error. A process performing automated testing was misconfigured using production credentials. As such, we will be drastically reducing access to the primary system for certain actions to ensure this does not happen again.","spans":[]},{"type":"paragraph","text":"As noted above, duration of the incident was primarily influenced by the speed of our network while reloading the data into our database. While it should be a rare occurrence that this type of action would happen again, we are in the process of upgrading our network connectivity between database servers and also updating our hardware to improve the speed of recovery. We expect these improvements to be completed over the next few months.","spans":[]},{"type":"heading2","text":"In Conclusion","spans":[]},{"type":"paragraph","text":"We wanted to share this information with you as soon as possible so that you can understand the nature of the outage and its impact. In the coming days, we will continue to assess further safeguards against developer error, work to improve our processes around data recovery, and explore ways to provide better real time information during future customer impacting events. We take the reliability of our service seriously and are committed to delivering a platform that you can depend on to run your mission-critical applications. The entire team at DigitalOcean thanks you for your understanding and, again, we apologize for the impact of this incident.","spans":[]}],"blog_post_date":"2017-04-04","tags":[{"tag1":{"tag":"News","_linkType":"Link.document","_meta":{"uid":"news"}}}],"_meta":{"uid":"update-on-the-april-5th-2017-outage"}}}]}}}