Safe Software Deployment: The 180 Rule
In my last post , I talked about the anxiety developers feel when they deploy software, and the negative impact that fear has on innovation. Today, I’m offering the first of four methods I’ve used to help teams overcome that fear: The 180 Rule. Developers need to be able to get software into production, and if it doesn’t work, back it out of production as quickly as possible and return the system to its prior working state. If they have confidence that they can detect problems and fix them, they can feel more confident about deploying. All deployments have the same overall stages: Deployment: You roll the software from staging to production, either in pieces -- by directing more and more transactions to it -- or by flipping a switch. This involves getting binaries or configuration files reliably to production and having the system start using them. Monitoring: How does the system behave under live load? Do we have signals that the software is behaving correctly and performantly? It’s essential that this monitoring focuses more on the existing functionality than just the “Happy Path” of the new functionality. In other words, did we damage the system through the rollout? Rollback: If there is any hint that the system is not working correctly, the change needs to be quickly rolled back from production. In a sense, a rollback is a kind of deployment, because you’re making another change to the live system: returning it to a prior state. The “180” in the name of the rule has a double meaning. Of course, we’re referring here to the “180 degree” about-face of a rollback. But it’s also a reference to an achievable goal of any deployment. I believe that any environment should be able to deploy software to production and roll it back if it doesn’t work in three minutes, or 180 seconds. This gives 60 seconds to roll binaries to the fleet and point your customers to them, 60 seconds to see if the transaction loads or your canaries see problems, and then 60 seconds to roll back the binaries or configurations if needed. Of course, in your industry or for your product, you might need this to be shorter. But the bottom line is that a failed software deployment should not live in production for more than three minutes. Developers follow these three stages all the time, and they often do it manually. I know what you’re thinking: “How can any human being deploy, monitor, and roll back software that fast?” And that is the hidden beauty of the 180 Rule. The only way to meet this requirement is by automating the process. Instead of making the decisions, we must teach the computers how to gather the information and make the decisions themselves. Sadly, this is a fundamental change for many companies. But it’s a necessary change. Because the alternative is hoping things will work while fearing that they will not. And that makes developers loath to deploy software. Sure, there are a lot of tools out there that help with deployments. But this is not an off-the-shelf, set-it-and-forget-it scenario. You, as the developer, must provide those tools with the right metrics to monitor and the right scripts to both deploy the software and possibly roll it back. The 180 Rule does not specify which tools to use. Instead it forces developers to create rigorous scripts and metrics, and ensure they can reliably detect and fix problems quickly. There’s a gotcha that many of you are thinking of: The 180 Rule is not applicable if the deployment is not reversible. For example, deploying a refactored relational schema can be a big problem, because a new schema might introduce information loss that prevents a roll-back. Or the deployment might delete some old config files that aren’t used by the new software. I’ll talk more about how to avoid wicked problems like these in my subsequent posts. But for now, I’m interested to hear what you think of The 180 Rule, and whether you’re using any similar heuristics in your approach to safe deployment.
Safe Software Deployment: Overcoming the Fear and Loathing of Pushing to Prod
Over the course of my career, I’ve had the privilege of deploying many different types of software. I’ve shipped CDs. I’ve pushed customer software over the web. I’ve updated database instances and control planes. And I’ve live-updated large, running, mission-critical systems. I call this a privilege because getting software into the hands of end users is what software engineers love most. But deployments are not all fun and games. And while each deployment presents its own unique challenges, there is one thing they all have in common: fear. Those of you responsible for significant software deployments know exactly what I’m talking about. You work, you prepare, you test. But when the day finally comes for your software to set sail, you are left hoping and praying it proves seaworthy on the Ocean of Production. In most companies, production is so different from your development and staging environments, that it’s almost impossible to know whether the code that worked in staging is going to succeed in production. Yet one thing is certain: if your software fails, everybody is going to know about it. Hence the fear. When it comes to understanding the effects of fear on the developer, I think Frank Herbert, author of the epic science-fiction saga Dune, said it best: “Fear is the mind-killer.” Fear undermines experimentation and the entrepreneurial spirit. It discourages risk-taking and leads to bad habits, like avoiding deployment for months. And worst of all, fear slows down the innovation process. (See my post on the Innovation Tax many organizations are paying, and don’t know it.) Pushing to production is undeniably scary. But over the last 30 years, working with my peers, I’ve developed a few methods for creating the conditions for safe, confident deployments. And my next four blogs in this series will unpack each of them in turn: · The 180 Rule - Enabling fast, automated, easily reversible deployments · Z Deployments - Limiting downtime from failed rollbacks · The Goldilocks Gauge - Making the size and frequency of deployments just right . Through the Looking Glass - Ensuring alignment between Dev, Stage, and Prod environments These methodologies aren’t perfect and they won’t guarantee you a bug-free deployment. But they’re the best practices I’ve seen. And they help create a culture of confidence within an engineering team, which is the foundation of meaningful innovation. To get started, my next blog will explain the “180 Rule” to help you reduce outage minutes in production. In the meantime, feel free to share your own tips and techniques for safe deployments with @MarkLovesTech .
Take Advantage of Low-Latency Innovation with MongoDB Atlas, Realm, and AWS Wavelength
Build a Single View of Your Customers with MongoDB Atlas and Cogniflare's Customer 360
The key to successful, long-lasting commerce is knowing your customers. If you truly know your customers, then you understand their needs and wants and can identify the right product to deliver to them—at the right time and in the right way. However, for most B2C enterprises, building a single view of the customer poses a major hurdle due to copious amounts of fragmented data. Businesses gather data from their customers in multiple locations, such as ecommerce platforms, CRM, ERP, loyalty programs, payment portals, web apps, mobile apps and more. Each data set can be structured, semi-structured or unstructured, delivered as stream or require batch processing, which makes compiling already fragmented customer data even more complex. This has led some organizations to bespoke solutions, which still only provide a partial view of the customer. Siloed data sets make running operations like customer service, targeted marketing and advanced analytics—such as churn prediction and recommendations—highly challenging. Only with a 360 degree view of the customer can an organization deeply understand their needs, wants and requirements, as well as how to satisfy them. A single view of that 360 data is therefore vital for a lasting relationship. In this blog, we’ll walk through how to build a single view of the customer using MongoDB’s database and Cogniflare’s Calledio Customer 360 tool. We’ll also explore a real-world use case focused on sentiment analysis. Building a single view with Calleido's Customer 360 With a Customer 360 database, organizations can access and analyze various individual interactions and touchpoints to build a holistic view of the customer. This is achieved by acquiring data from a number of disparate sources. However, routing and transforming this data is a complex and time-consuming process. Many of the existing Big Data tools often aren’t compatible with cloud environments. These challenges inspired Cogniflare to create Calleido . Figure 1: Calleido Customer 360 Use Case Architecture Calleido is a data processing platform built on top of battle-tested open source tools such as Apache NiFi. Calleido comes with over 300 processors to move structured and unstructured data from and to anywhere. It facilitates batch and real-time updates, and handles simple data transformations. Critically, Calleido seamlessly integrates with Google Cloud and offers one-click deployment. It uses Google Kubernetes Engine to scale up and down based on the demand, and provides an intuitive and slick low-code development environment. Figure 2: Calleido Data Pipeline to Copy Customers From PostgreSQL to MongoDB A real-world use case: Sentiment analysis of customer emails To demonstrate the power of Cogniflare’s Calleido , MongoDB Atlas , and the Customer 360 view, consider the use case of conducting a sentiment analysis on customer emails. To streamline the build of a Customer 360 database, the team at Cogniflare created flow templates for implementing data pipelines in seconds. In the upcoming sections, we’ll walk through some of the most common data movement patterns for this Customer 360 use case and showcase a sample dashboard. Figure 3: Sample Customer Dashboard The flow commences with a processor pulling IMAP messages from an email server (ConsumeIMAP). Each new email that arrives into the chosen inbox (e.g. customer service), triggers an event. Next, the process extracts email headers to determine topline details about the email content (ExtractEmailHeaders). Using the sender's email, Calleido identifies the customer (UpdateAttribute) and extracts the full email body by executing a script (ExecuteScript). Now, with all the data collected, a message payload is prepared and published through Google Cloud Platform (GCP) Pub/Sub (Kafka can also be used) for consumption by downstream flows and other services. Figure 4: Translating Emails to Cloud PubSub Messages The GCP Pub/Sub messages from the previous flow are then consumed (ConsumeGCPPubSub). This is where the power of MongoDB Atlas integration comes in as we verify each sender in the MongoDB database (GetMongo). If a customer exists in our system, we pass the email data to the next flow. Other emails are ignored. Figure 5: Validating Customer Email with MongoDB and Calleido Analysis of the email body copy is then conducted. For this flow, we use a processor to prepare a request body, which is then sent to Google Cloud Natural Language AI to assess the tone and sentiment of the message. The results from the Language Processing API then go straight to MongoDB Atlas so they can be pulled through into the dashboard. Figure 6: Making Cloud AutoML Call with Calleido End result in the dashboard: The Customer 360 database can be used in internal back-office systems to supplement and inform customer support. With a single view, it’s quicker and more effective to troubleshoot issues, handle returns and resolve complaints. Leveraging information from previous client conversations ensures each customer is given the most appropriate and effective response. These data sets can then be fed into analytics systems to generate learnings and optimizations, such as associating negative sentiment with churn rate. How MongoDB's document database helps In the example above, Calleido takes care of copying and routing data from the business source system into MongoDB Atlas, the operational data store (ODS). Thanks to MongoDB’s flexible data structure, we can transfer data in its original format, and subsequently implement necessary schema transformations in an iterative manner. There is no need to run complex schema migrations. This allows for the quick delivery of a single view database. Figures 7 & 8: Calleido Data Pipelines to Copy Products and Orders From PostgreSQL to MongoDB Atlas Calleido allows us to make this transition in just a few simple steps. The tool runs a custom SQL query (ExecuteSQL) that will join all the required data from outer tables and compile the results in order to parallelize the processing. The data arrives in Avro format, then Calleido converts it into JSON (ConvertAvroToJSON) and transforms it to the schema designed for MongoDB (JoltTransformJSON). End result in the Customer 360 dashboard: MongoDB Atlas is the market-leading choice for the Customer 360 database. Here are the core reasons for its world-class standard: MongoDB can efficiently handle non-standardized schema coming from legacy systems and efficiently store any custom attributes. Data models can include all the related data as nested documents. Unlike SQL databases, MongoDB avoids complicated join queries, which are difficult to write and not performant. MongoDB is rapid. The current view of a customer can be served in milliseconds without the need to introduce a caching layer. The MongoDB flexible schema model enables agility with an iterative approach. In the initial extraction, the data can be copied nearly exactly as its original shape. This drastically reduces latency. In subsequent phases, the schema can be standardized and the quality of the data can be improved without complex SQL migrations. MongoDB can store dozens of terabytes of data across multiple data centers and easily scale horizontally. Data can be shared across multiple regions to help navigate compliance requirements. Separate analytics nodes can be set up to avoid impacting performance of production systems. MongoDB has a proven record of acting as a single view database, with legacy and large organizations up and running with prototypes in two weeks and into production within a business quarter. MongoDB Atlas can autoscale out of the box, reducing costs and handling traffic peaks. The data can be encrypted both in transit and at rest, helping to accomplish compliance with security and privacy standards, including GDPR, HIPAA, PCI-DSS, and FERPA. Upselling the customer: Product recommendations Upselling customers is a key part of modern business, but the secret to doing it successfully is that it’s less about selling and more about educating. It’s about using data to identify where the customer is in the customer journey, what they may need, and which product or service can meet that need. Using a customer's purchase history, Calleido can help prepare product recommendations by routing data to the appropriate tools such as BigQuery ML. These recommendations can then be promoted through the call center and marketing teams for both online or mobile app recommendations. There are two flows to achieve this: preparing training data and generating recommendations: Preparing training data First, appropriate data from PostgreSQL to BigQuery is transferred using the ExecuteSQL processor. The data pipeline is scheduled to execute periodically. In the next step, appropriate data is fetched from PostgreSQL, dividing it to 1K row chunks with the ExecuteSQLRecord processor. These files are then passed to the next processor which uses load balancing enabled to utilize all available nodes. All that data then gets inserted to a BigQuery table using the PutBigQueryStreaming processor. Figure 9: Copying Data from PostgreSQL to BigQuery with Calleido Generating product recommendations Next, we move on to generating product recommendations. First, you must purchase Big Query capacity slots, which offer the most affordable way to take advantage of BigQuery ML features. Here, Calleido invokes an SQL procedure with the ExecuteSQL processor, then ensures that the requested BigQuery capacity is ready to use. The next processor (ExecuteSQL) executes an SQL query responsible for creating and training the Matrix Factorization ML model using the data copied by the first flow. Next in the queue, Calleido uses the ExecuteSQL processor to query our trained model to acquire all the predictions and store them in a dedicated BigQuery table. Finally, the Wait processor waits for both capacity slots to be removed, as they are no longer required. Figure 10 & 11: Generating Product Recommendations with Calleido Then, we remove old recommendations through the power of two processors. First, the ReplaceText processor updates the content of incoming flow files, setting the query body. This is then used by the DeleteMongo processor to perform the removal action. Figure 12: Remove Old Recommendations The whole flow ends with copying Recommendations to MongoDB. The ExecuteSQL processor fetches and aggregates the top 10 recommendations per user, all in chunks of 1k rows. Then, the following two processors (ConvertAvroToJSON and ExecuteScript) prepare data to be inserted into the MongoDB collection, by the PutMongoRecord processor. Figure 13: Copy Recommendations to MongoDB End result in the Customer 360 dashboard (the data used here in this example is autogenerated): Benefits of Calleido's 360 customer database on MongoDB Atlas Once the data is available in a centralized operational data store like MongoDB, Calleido can be used to sync it with an analytics data store such as Google BigQuery. Thanks to the Customer 360 database, internal stakeholders can then use the data to: Improve customer satisfaction through segmentation and targeted marketing Accurately and easily access compliance audits Build demand planning forecasts and analyses of market trends Reward customer loyalty and reduce churn Ultimately, a single view of the customer enables organizations to deliver the right message to prospective buyers, funneling those at the brand awareness stage into the conversion stage and ensures retention and post sales mechanics are working effectively. Historically, a 360 view of the customer was a complex and fragmented process, but with Cogniflare’s Calleido and MongoDB Atlas, a Customer 360 database has become the most powerful and cost efficient data management stack that an organization can harness.
MongoDB Employees Share Their Coming Out Stories: (Inter)National Coming Out Day 2021
National Coming Out Day is celebrated annually on October 11 and is widely recognized in the United States. MongoDB proudly supports and embraces the LGBTQIA+ community across the globe, so we’ve reimagined this celebration as (Inter)National Coming Out Day. In our yearly tradition of honoring (Inter)National Coming Out Day, we asked employees who are members of the LGBTQIA+ community to share their coming out experiences. These are their stories. Jamie Ivanov , Escalation Manager For as long as I can remember, I always wanted to play with dolls and felt closer to my female cousins. This was rather difficult for someone who is a male at birth being brought up in a fairly conservative family. At a young age, I knew that I was different but lacked a way to describe it. I certainly didn't have the support I needed, so I was brought up as a male. My father went out of his way to “make a man out of me” and toughen me up in ways that weren't exactly the most productive. Going through school, I still knew that I was different because I kept feeling attracted to both genders, but I was too afraid to admit to it. I found a youth group for LGBT teenagers that gave me a safe place to be myself and admit to people who I really was. Outside of that group was still pretty scary; I knew that I had to be straight or I would risk being beaten up or harassed, so I tried to push my queerness aside. In my 30s, after going through the Army and having three children, I realized that I couldn't keep pretending anymore -- who I was wasn't the true me. I started telling people that I was bisexual and hoping that they wouldn't see me as less of a person. Most of the responses I received were "yeah, we kinda figured.” Having that weight off of my shoulders was immensely relieving but something still wasn't quite right; while admitting that helped explain who I was interested in, it still didn't explain who I was. Through a series of fortunate unfortunate events, a lot of the facade I had built up for so many years came down, and I realized that who I was didn't match the body that I was given. It was terrifying to talk to anyone about how I was feeling or who I was, but I finally told people that I am a transgender woman. It was one of the scariest things that I have ever done. Some people didn't understand, and I did lose some family over it, but most people accepted me for who I am with open arms! Since being true to myself, more weight has been lifted off of me, and my only regret is not having the resources and courage to admit who I really was years and years ago. Since I've come out as bi/pansexual and a transgender woman, I've built stronger relationships and felt much more comfortable with myself, even to the point of liking photos of myself (which is something I've always hated and realized it was because it wasn't the real me). When a MongoDB recruiter reached out to me, I asked him the same question I asked other recruiters: "How LGBT friendly is MongoDB (with an emphasis on the transgender part)?" The response I got back from my technical recruiter Bryan Spears was the best response I had received from ANY recruiter, or company, and was the deciding factor in why I chose to work at MongoDB. Here’s what he said: “MongoDB is a company that truly does its best to follow our values like embracing the power of differences; we have many employees who identify as LGBTQ+ or are allies of the LGBTQ+ community. We also have two ERGs, MongoDB Queeries and UGT (Underrepresented Genders in Tech), which both aim to create and maintain a safe environment for those identifying as LGBTQ+ or questioning. From a benefits standpoint, we have expanded the amount of WPATH Standards of Care services available for people who identify as Transgender, Gender Nonconforming, or Transsexual through Cigna. While I know none of the information I have shared tells you what life is like at MongoDB, I hope that it shows we are doing our best to make sure that everyone feels respected and welcome here.” I didn't always have the support I needed to be myself at some previous jobs but MongoDB has raised the bar to a level that is hard to compete with. I'm happy to finally find a place that truly accepts me for who I am. Ryan Francis , VP of Global Demand Generation & Field Marketing Growing up in the 90s in what I used to call “the buckle of the Bible Belt,” I did not believe coming out was in the cards. In fact, I would sit up at night to devise my grand escape to New York City after being disowned (how I planned on paying for said escape remains unknown). I was, however, out to my best friend, Maha. During the summer between my Sophomore and Junior years of high school, I spent time with her family in Egypt. On the return trip, I bought a copy of The Advocate to learn about the big gay life that awaited me after my great escape. Later that month, my mother stumbled upon that magazine when she was cleaning the house. She waited six months to bring it up, but one day in January sat me down in the living and asked, “Are you gay?” I paused for a moment and said… “yup.” She started crying and thanked me for being honest with her. A month later, she picked up a rainbow coffee mug at a yard sale and has been Mrs. PFLAG ever since, organizing pride rallies in our little Indiana hometown and sitting on the Episcopal church vestry this year in order to push through our parish’s blessing of same-sex marriage. Needless to say, I didn’t have to escape. My father was also unequivocally accepting. This is a good thing because my sister Lindsay is a Lesbian, so they sure would have had a tough time given 100% of their kids turned out gay. Lindsay is the real hero here who stayed in our homeland to raise her children with her wife, changing minds every day so that, hopefully, there will be fewer and fewer kids who actually have to make that great escape. Angie Byron , Principal Community Manager Growing up in the Midwest in the 80s and 90s, I was always a “tomboy;” as a young kid, I gravitated to toys like Transformers and He-Man and refused to wear pink or dresses. Since we tended to have a lot in common, most of my best friends growing up were boys; I tended to feel awkward and shy around girls and didn’t really understand why at the time. I was also raised both Catholic and Bahá’í, which led to a very interesting mix of perspectives. While both religions have vastly different belief and value systems, the one thing they could agree on was that homosexuality was wrong (“intrinsically immoral and contrary to the natural law” in the case of Catholicism, and “an affliction that should be overcome” in the case of Bahá’í). Additionally, being “out” as queer at that time in that part of the United States would generally get you made fun of, if not the everlasting crap kicked out of you, so finding other queer people felt nearly impossible. As a result, I was in strong denial about who I was for most of my childhood and gave several valiant but ultimately failed attempts at the whole “trying to date guys” thing as a teenager (I liked guys just fine as friends, but when it came to kissing and stuff it was just, er… no.). In the end, I came to the reluctant realization that I must be a lesbian. I knew no other queer people in my life, and so was grappling with this reality alone, feeling very isolated and depressed. So, I threw myself into music and started to find progressively more and more feminist/queer punk bands whose songs resonated with my experiences and what I was feeling: Bikini Kill, Team Dresch, The Need, Sleater-Kinney, and so on. I came out to my parents toward the end of junior high, quite by accident. Even though I had no concrete plan for doing so, I always figured Mom would be the more accepting one, given that she was Bahá’i (a religion whose basic premise is the unity of religions and equality of humanity), and I’d have to work on Dad for a bit, since he was raised Catholic and came from a family with more conservative values from an even smaller town in the midwest. Imagine my surprise when one day, Mom and I were watching Ricky Lake or Sally Jesse Raphael or one of those daytime talk shows. The topic was something like “HELP! I think my son might be gay!” My mom said something off-handed like “Wow, I don’t know what I would do if one of you came out to me as gay...” And, in true 15-year old angsty fashion, I said, “Oh YEAH? Well you better FIGURE IT OUT because I AM!” and ran into my room and slammed the door. I remember Mom being devastated, wondering what she did wrong as a parent, and so on. I told her, truly, nothing. My parents were both great parents; home was my sanctuary from bullying at school, and my siblings and I were otherwise accepted exactly as we were, tomboys or otherwise. After we’d finished talking, she told me that I had better go tell my father, so I begrudgingly went downstairs. “Dad… I’m gay.” Instead of a lecture or expressing disdain, he just said, “Oh really? I run a gay support group at your Junior High!” and I was totally mind blown. Bizarro world. He was the social worker at my school, so this makes sense, but it was the exact opposite reaction that I was expecting. An important life lesson in not prejudging people. When I moved onto high school, we got… drumroll ... the Internet. Here things take a much happier turn. Through my music, I was able to find a small community of fellow queers (known as Chainsaw), including a ton of us from various places in the Midwest. I was able to learn that I was NOT a freak, I was NOT alone, there were SO many other folks who felt the exact same way, and they were all super rad! We would have long talks into the night, support each other through hardships, and more than a few of us met each other in person and hung out in “real life.” Finding that community truly saved my life, and the lives of so many others. (Side-note: This is also how I got into tech because the chat room was essentially one gaping XSS vulnerability, and I taught myself HTML by typing various tags in and seeing how they rendered.) I never explicitly came out to anyone in my hometown. I was too scared to lose important relationships (it turns out I chose my friends well, and they were all completely fine with it, but the prospect of further isolating myself as a teenager was too terrifying at the time). Because of that, when I moved to a whole new country (Canada) and went to college, the very first thing I did on my first day was introduce myself as “Hi, I’m Angie. I’ve been building websites for fun for a couple of years. Also, I’m queer, so if you’re gonna have a problem with that, it’s probably best we get it out of the way now so we don’t waste each others’ time.” Flash forward to today, my Mom is my biggest supporter, has rainbow stickers all over her car, and has gone to dozens of Pride events. Hacking together HTML snippets in a chat room led to a full-blown career in tech. I gleaned a bit more specificity around my identity and now identify as a homoromantic asexual . Many of those folks I met online as a teenager have become life-long friends. And, I work for a company that embraces people for who they are and celebrates our differences. Life is good. Learn more about Diversity & Inclusion at MongoDB Interested in joining MongoDB? We have several open roles on our teams across the globe and would love for you to transform your career with us!
Get Started in No-Code App Development with Unqork and MongoDB
Classic application development can be a long haul process. Even using Agile methodologies, teams of developers still work to build, test, and launch applications in a series of sprints, using many of the same programming languages and approaches as they have for years. That was until the concept of low and no-code app development arrived. Aiming to cut development cycles and empower non-developers, no-code in particular is gaining traction as a go-to-market strategy for modern apps. No-code is an alternative to traditional application and software development processes, allowing apps to be built through a simplified, interactive UI, rather than writing code from scratch. While the concept of no-code tools has been around for a while - from Visual Basic to WYSIWYG web editors like Wix and “super spreadsheets” like Airtable - newer no-code-based application development platforms take the concept a step further, dramatically simplifying the application development process itself. In the booming world of no-code, one company stands above the rest, Unqork. Unqork invented the first completely visual, no-code application platform to help enterprises build custom software faster, with higher quality and lower costs than traditional approaches––all without a single line of code. And with Unqork freeing organizations from the traditional constraints of developing with code, it was only natural that the pioneer of no-code application development partnered with MongoDB to also free them from the constraints of database design and management. Syncing Unqork with MongoDB Atlas Building out a new no-code application with Unqork is efficient and simple. From the database side of things, MongoDB has everything that a business needs with functionality to store, manage, and analyze data. MongoDB and Unqork are each functional and powerful in their own capacity, but when used together, an organization can truly improve and innovate their application development experience. Fig 1: Unqork syncs seamlessly with MongoDB Atlas Use Case Example: Mortgage Approval Application Large financial institutions have many separate functions and applications in use. A typical large bank will employ many different applications and microservices, all of which rely on many different data sources. This can quickly lead to complexity for their software infrastructure. The bank must make intelligent choices for their app development to stay lean and agile and not add unnecessary complexity. In this example, a bank decides to build out a new mortgage approval application as part of their loan origination infrastructure; an otherwise complex process that requires a variety of data, from bank information to customer background information, and data enrichment. The bank wants to build a portal where customers can log on, request a certain amount of money, and the application can decide whether or not they want to approve the mortgage quickly. In theory, the application objective is simple, however it needs to pull on the greater customer database for data collection and analysis. Let's break down the simple steps of this integration process. Step 1: Create an Unqork application Since Unqork is a no-code application, it’s simple to drag and drop objects into the format wanted. For this example, text fields were used for users to input their data into the application. This app is a mortgage approval application, so we wanted to look at the customer’s information as well as how much money they are looking to borrow. Fig 2: Creating an Unqork application The creation of the application is a single screen that allows users to define the overall concept and functions of the mortgage approval application, and manage the influx and outflow of data. Fig 3: Screenshot of our Unqork application for mortgae approval In Figure 3 we see elements and functions simply on the left side of the screen, representing the available functions, that can be dragged into the user screen and put into context with their execution. Step 2: Configuring MongoDB Atlas and Realm While MongoDB is the underlying application data platform for Unqork, it is unlikely that all customer data in a large, multi-department organization like a bank would always reside in Unqork. Therefore the bank's “Client 360 data layer” - held in a separate MongoDB Atlas instance - needs to be connected to Unqork. Given this, the next step is to get your MongoDB cluster ready to connect to the new Unqork-built mortgage approval application. MongoDB Atlas enables this connection via MongoDB Realm’s HTTP Endpoints (previously named Webhooks). MongoDB Realm is a set of application development services that makes it simple to build best-in-class apps across mobile and the web, like HTTP endpoints. Other services include edge-to-cloud data sync, instant GraphQL API, triggers, and functions. To work with MongoDB Realm’s HTTP endpoints, you must first create a Realm app – the central backend instance for your mobile or web application. You can easily create an app using MongoDB’s web GUI, as shown in the figure below. Fig 4: Creating an application in MongoDB Realm Step 3: Connect MongoDB Atlas to Unqork application Finally, in order to realize the benefits of both MongoDB Atlas and Unqork, we need to connect them to each other. As previously stated, this is achieved through MongoDB Realm’s HTTP endpoints. Both MongoDB Realm and Unqork have easy to use interfaces when it comes to sending requests over HTTPS with services like endpoints, and all we need to do is write the logic for the endpoint itself. By using MongoDB Realm functions we are able to access MongoDB Atlas data easily and connect to third party applications simply and with minimal code. Fig 5: MongoDB Atlas and Realm integrate with Unqork through an HTTP endpoint To connect the Unqork application to MongoDB Atlas, we’ll first need to set up our endpoints in MongoDB Realm. This provides us with an endpoint URL that we can use from Unqork. We can also define our HTTP endpoint serverless function here to send and receive data with Unqork. This is done from within Unqork. We navigate to “Administrator Access” and create a connection. Using the HTTP URL from Realm, we can create a connection within Unqork. Going back to our Unqork application, we can then create a plugin and use the integration that we created before. We have to fill in the correct information pertaining to the webhook, but once done, we’ll have our connection. To learn more about migrating to MongoDB Atlas and what that means for accelerated development, connect with the MongoDB team here . To request a demo of Unqork or learn more about development acceleration with their No-code approach, connect here . MongoDB & Unqork: No-Code Together While MongoDB and Unqork individually are powerful platforms, when deployed in tandem they provide a powerful solution to accelerate development. “ MongoDB Atlas gives us the ability to run our database on multiple clouds through the same service,” said Unqork Founder and CEO, Gary Hoberman . “With Atlas, we have the freedom from cloud vendor lock-in—each client can choose where they are the most comfortable hosting their data.” Together, development is automated and optimized, allowing for more time on innovation and less time on maintenance and upkeep. For businesses, the no-code movement has many benefits, including freeing them to focus on differentiating projects, like developing apps that customers actually want, rather than maintaining lines of code and waiting for teams of developers to build the traditional way. The value together brings: Accelerated time-to-market: With Unqork, enterprise applications can be developed three times faster. Teams are empowered to deploy quickly without the traditional code-based approach. Meanwhile, MongoDB, by design, is developer and DevOps friendly with its flexible use and automation. Together, time-to-market is decreased as resources can be spread more evenly across teams. Reduced TCO: With Unqork, the development process requires fewer resources providing three times cost savings versus Total Cost of Ownership (TCO) with a code/low-code-based approach. Meanwhile, MongoDB’s cost of managing and running a database is already taken care of and remains highly available even throughout system updates. Engaged employees: Unqork provides a collaborative platform that frees technology from high-volume development and management tasks so a team can do the best work of their careers. MongoDB allows developers to work in their desired programming language, with idiomatic drivers, flexible data models and intuitive building. Unlocked innovation: Because projects can get ramped up quickly with lower costs by using Unqork, the cost of innovation and experimentation is greatly mitigated. Similarly in MongoDB, creating and developing a database can be done at speeds that drastically beat traditional relational databases. Both Unqork and MongoDB work with large organizations across some of the world’s most regulated and complex sectors, making security yet another key reason the two became partners. “One of the big things that drew us to MongoDB Atlas over the other DBaaS providers was the security features,” Hoberman added. "When we partner up with a client, we take over and support their most critical processes and data assets." Unqork keeps all data encrypted in-transit and at-rest throughout the entire platform and Atlas allows each Unqork customer to have their own MongoDB instance with their own development and production environments.
Honoring Hispanic Heritage Month
We’re honoring Hispanic Heritage Month (September 15 to October 15) in a few ways here at MongoDB! First, hear from three MongoDB employees about their own experiences and what this month means to them. Then, keep scrolling for a Spotify playlist, reading list, and movie list curated by members of our affinity group the Underrepresented People of Color Network (TUPOC). Alicia Raymond , Director, HR Business Partner (Core & Cloud), New York City At 18 years old, and without knowing a word of English, my mother left behind her entire family in Chile to come to the United States. This was in 1973, shortly before the dictator Augusto Pinochet came into power. The following years in Chile were tumultuous and my mother, who was now married to a U.S. military member, relocated frequently. Over time, she lost contact with her family in Chile. Years later, I was a college student at the University of North Carolina at Chapel Hill on a Morehead-Cain scholarship. The scholarship allowed me to take part in various summer activities, including a summer of studying abroad. Chile was on the list of countries where I could study, so I jumped at the opportunity to go there and find my family. As soon as the plane touched down, I began searching for traces of my family members. This was before the prevalence of social media, so I spent a lot of time sifting through phone books. Finally, I was able to locate a phone number for my mother’s younger sister, Esther, but I didn’t call her right away. I was anxious about how I would fit in with my Chilean relatives. My identity as Latina had always felt a bit nebulous — a common feeling among multiracial, multicultural people and second-generation immigrants. I was Spanglish-speaking and white-passing, and I had not grown up among a Latinx community in the U.S. At the time, I struggled to feel like part of the Latinx community, but I also felt a deep obligation not to abandon the complex mix of identities I inherited from my mother — a mix we are still learning about today. Until recently, she didn’t know she was almost half Indigenous American — a detail her parents hid to improve their chances of integrating into the middle class of Chilean society. Alicia with her mother and aunts from Chile in New York City Eventually, I worked up the courage to make the call. After a few rings of the phone, someone picked up on the other end. I confirmed that it was Esther and then, in broken Spanish, I explained who I was and that I was in Chile. Esther’s excitement melted away all of my concerns. We scheduled a time to meet in person that week, and we have remained in contact ever since. After re-establishing and maintaining contact with my Chilean family, my bonds with my Chilean heritage strengthened. Although my cultural identity still feels complicated, within that complexity lies an incredible blessing. It has given me the opportunity to navigate multiple worlds and be shaped by varied perspectives and communities. That’s not to imply that those identities always meshed in a frictionless way — my father’s parents almost disowned him for marrying my Latina mother — but even that friction helped expand my view of the world. In a career context, this has allowed me to be highly adaptable to new circumstances, adept at perspective-taking, and flexible enough in my own beliefs to understand others’ viewpoints. Those skills are essential for my role as an HR Business Partner, where the issues I face often involve multiple stakeholders, rarely have one right answer, and require a big dollop of creative problem-solving. I am eternally grateful for the multifaceted lens my cultural background has provided me. Alicia's mother as a child, outside the house she grew up in Gustavo Chavez , Senior Solutions Architect, Austin Hispanic Heritage Month is not just a month, it’s a lifestyle! I’m originally from a small town in Mexico and was raised all over the state of Chihuahua. Growing up, I was always fascinated by airplanes and technology, and when I reached high school I had the opportunity to start learning computer programming. My friend’s father owned a payroll-processing company, and he started teaching RPG and COBOL on an IBM System 34 (yeah, I know, I’m dating myself) during the afternoons, so I would go there two or three times a week. This is where my passion for computers and technology really grew and led me to pursue a degree in computer science. After graduating, I began working at a local startup doing offshore work for a mainframe application performance-monitoring company located in Santa Monica, California. The company, Candle Corp, then offered me the opportunity to work for them in the U.S., so my wife and I packed our things in a U-Haul and drove 900 miles west to Los Angeles! IBM acquired Candle Corp in the mid-2000s, which led me to Austin, Texas. After a few years, I had the opportunity to join MongoDB. Diversity is celebrated here, and we all work together toward a common goal while having fun along the way. In my role as a Senior Solutions Architect, I support the LATAM Corporate Sales organization and help align MongoDB technology with customer needs and business goals. My children were born in Los Angeles, where, as an immigrant, I started thinking about my role as a parent in preserving Hispanic language and culture for the next generation. Luckily, it wasn’t too difficult given our location. The shared history between Mexico and the U.S. provides the perfect canvas to paint a picture of blended colors and influences from other places. This is apparent all across Texas and the southwest of our country. The food, architecture, names, battles, and social struggle through the years help build the foundation of what it means to be of Hispanic descent in the United States. We are embedded in the fabric of the region and country, and that is what we aim to share with everybody — our common bonds instead of our differences. Today, as the proud father of two young adults attending university, I can honestly say the job is not done. We still have other generations to share our culture and heritage with. I hope we can ensure that future generations are proud of being Hispanic and proud of the contributions made by members of the Hispanic community to the United States. Gustavo and his family Camilo Velez-Gordon , Field Marketing Specialist, New York City In 2003, my mom and I hopped on a one-way flight from Colombia to Newark International Airport with four suitcases and a lot of unknowns. As a 7-year-old with minimal knowledge of the English language, I had no idea what it meant for me or my future, and I was terrified. My family and I quickly settled in northern New Jersey, and I learned English in less than a year thanks to cartoons and shows such as Rocket Power and Drake and Josh. Throughout my upbringing, I learned that two things will always be true: Family is and always will be an important part of my life, and in the United States you are in control of your destiny, which may not be the case elsewhere. The older I get, the more significance Hispanic Heritage Month has in my life. This may be due to a deeper understanding of the importance of culture and my background. The month is a great opportunity to reflect on my journey to where I am today, and also a good time to educate the people around me about what it is like to be Latino in today’s America. The tech industry has always been fascinating to me, but, while in school, a career in tech always seemed like a far-fetched goal. Through my network, I was fortunate enough to secure a marketing internship for an ad-tech firm while finishing my senior year as a business student at Montclair State University. Once I got my foot in the door, I was determined to take full advantage of the opportunity. To this day, my main takeaway from the process of getting into tech is that mastering the skill of networking will open many doors in your career. As I approach my two-year anniversary at MongoDB, I frequently look back on my journey to where I am today, and I can’t help but smile. The terrified 7-year-old from 17 years ago came a long way. At MongoDB, I continue to grow, evolve, and learn. During my tenure, I have met incredible people, achieved many milestones, and launched multiple global programs that have had a positive impact on the business. I am so proud of how far my family and I have come, and I could not be more excited for what is to come for MongoDB. Camilo and his family Celebrate the Hispanic and Latinx community's contributions to music, literature, and film Spotify Reading list Title Author The House on Mango Street Sandra Cisneros I Am Not Your Perfect Mexican Daughter Erika L. Sanchez The Brief Wondrous Life of Oscar Wao Junot Diaz Dominicana: A Novel Angie Cruz War Against All Puerto Ricans: Revolution and Terror in America's Colony Nelson A. Denis Latinx Superheroes in Mainstream Comics Frederick Luis Aldama Empire's Workshop: Latin America, the United States, and the Rise of the New Imperialism Greg Grandin Borderlands/La Frontera: The New Mestiza Gloria Anzaldúa The Borders of Dominicanidad Lorgia Garcia-Peña The Battle for Paradise: Puerto Rico Takes on the Disaster Capitalists Naomi Klein The Arawak: The History and Legacy of the Indigenous Natives in South America and the Caribbean Charles River Editors The Indian Chronicles José Barreiro Eva Luna Isabel Allende The Bronx Evelyn Gonzalez Barrio Dreams: Puerto Ricans, Latinos, and the Neoliberal City Arlene Dávila Bodega Dreams Ernesto Quiñonez The Eagle's Throne Carlos Fuentes The Poet X Elizabeth Acevedo When I Was Puerto Rican: A Memoir
MongoDB is a Crain's Best Place to Work in NYC for the Fifth Year in a Row
We’re thrilled to announce that MongoDB has made Crain’s 2021 Best Places to Work in New York City list. This is the fifth year in a row that we’ve ranked among Crain’s top 100 companies in New York City, coming in at #29 for 2021. Among large companies specifically, MongoDB ranks #14 out of 47. At MongoDB, we are passionate about our mission of freeing the genius within everyone by making data stunningly easy to work with. This means enabling each individual to pursue their vision, whether they are a developer using our products or an employee. At MongoDB, if you have an idea, you get the trust from leadership and autonomy to run with it while excelling in your role. Every employee can see the direct impact they have on the business and product, as well as the inclusive culture we are building. To drive the personal growth and business impact of our employees, we have committed to developing an open, supportive, and enriching environment for everyone. From meditation sessions and yoga classes to fertility assistance and a generous parental leave policy — the opportunity to make an impact at MongoDB is real and we want to support all of our employees in that journey. It’s important for us to embody our company values, especially when it comes to “Embracing the Power of Differences.” One way we promote this is through our affinity groups , which support our larger commitment to an inclusive community. Our affinity groups provide a collaborative space for employees to mentor and connect with one another through a common interest or identity. In collaboration with our affinity groups, MongoDB supported organizations fighting for racial justice and equal opportunity through a fundraising campaign in 2020. MongoDB pledged $250,000, and through combined efforts with employees and outside contributors, we donated over $330,000 to organizations fighting for justice. While employees have worked from home during COVID-19, we’ve provided telehealth options, mental health support, emergency care leave, company-wide days off, and initiatives to increase social connectivity in a virtual environment. As employees begin to return to our offices, employee health and wellbeing, happiness, and success are of utmost importance to us. We are always striving to make sure that MongoDB is a great place to work for everyone. Hear from some of our New York City employees Marissa Jasso, Product Marketing Manager “As a Latina and Native American in the tech industry, it’s not often I come across a company that makes a consistent effort to ensure all members feel included. To me, that’s a real unicorn company. MongoDB is a deep breath. It’s the relief of knowing that every day, I can bring my whole identity to work.” Paige Jornlin, Manager, Customer Success “MongoDB has an incredible culture. Not only do we have an amazing team that makes me excited to come to work each day, but there are countless growth opportunities and our leaders show so much care for their people. It's truly special. MongoDB is also deeply committed to embracing differences. Without having such a diverse team, we wouldn’t be able to innovate, challenge the norm, or think about different ways of doing things as much as we do.” Blake Deakin, Area VP, Technical Services “We have the opportunity to solve really big, really interesting problems for our customers. There’s a good chance you’ll work on something, see it in the news, and then say, ‘Hey! I helped make that happen.’ For me, that’s one of the most gratifying things about working here.” Interested in joining MongoDB? We have several open roles on our teams across the globe and would love for you to transform your career with us!
Three Tips for Writing Your Customer Success Resume
So you’re interested in joining our Customer Success team. We’re thrilled you’ve identified MongoDB as a potential next step in your career! Before applying to one of our many open positions globally, take some time to read through these top three tips for what our Customer Success recruiters look for when reviewing applications. Less is more I’m a big fan of keeping resumes simple. Fun graphics, fonts, colors, and styles may be eye-catching, but at times they can also be distracting. Resumes that are easy to follow get noticed the most and showcase your expertise the best. If a resume’s format is hard to follow or in a hard-to-read font, a recruiter or hiring manager may miss some key points related to your experience that you wanted to highlight. Consider how you will organize the information you are presenting and which accomplishments you will highlight. This can often be an indicator of how you would present information to a customer! It’s a good idea to stick to a format where company names are highlighted in a larger font with short bullet points summarizing your day-to-day responsibilities and accomplishments underneath. Focus on your most recent role or experience that is the closest fit for the role you are applying to. Identify keywords and details in the job description Resumes that highlight key responsibilities and skills listed in the job description really stand out! We do not expect candidates to have all the skills required for our positions since Customer Success can vary across industries and organizations, but be sure to highlight the relevant skills you have that you can bring to MongoDB. It’s great to also showcase that you have a willingness to learn our technology, are coachable, and have progressed in your career. Try to tell a story with your resume and show the Recruiting team the skills you have gained through your past experiences. If you’ve spent any spare time upskilling, I recommend highlighting it to show your enthusiasm for learning and self-development. If you have been involved in any projects outside your core role that you think may be of interest to the team, you can add those too! Highlight details that showcase your experiences My final tip for applying to a role in Customer Success is to share the right details on your resume. Day-to-day responsibilities are great to list, but also make sure to share important details such as what type of customers you work with (SMB vs. Enterprise, for example), how many customers you manage in your portfolio, the region or industry you support, your current KPIs, and any significant achievements you have made in your current or previous roles. We have several teams within Customer Success at MongoDB focusing on different types of customers and regions, so this will help us to identify quickly which team your experience is more aligned with. These are just a few useful tips from my experience hiring for our Customer Success teams here at MongoDB. Be sure to check out our website to learn more about our Global Customer Success program and view our open roles . We hope to see you in the interview process soon! Interested in pursuing a career at MongoDB? We have several open roles on our teams across the globe and would love for you to transform your career with us!